From 3b3a71176c3a6031ebd9ed9fd583aa81f36ce720 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 10:30:58 -0700 Subject: [PATCH 01/64] feat(cli-api): improve add and update api --- .../cloudformation.schema.json | 113079 ++++++++++++++ .../sam.schema.json | 115746 +++++++++++++++ .../graphql-schemas/blank-schema.graphql | 0 .../cfn-api-artifact-handler.ts | 31 +- .../appSync-walkthrough.ts | 495 +- .../amplify-e2e-core/src/categories/api.ts | 150 +- .../src/__tests__/api_1.test.ts | 41 +- .../src/__tests__/api_2.test.ts | 65 +- .../src/__tests__/api_3.test.ts | 7 +- .../src/__tests__/api_4.test.ts | 6 +- .../src/__tests__/feature-flags.test.ts | 6 +- .../src/__tests__/function_1.test.ts | 9 +- .../src/__tests__/function_2.test.ts | 38 +- .../src/__tests__/function_5.test.ts | 10 +- .../api.connection.migration.test.ts | 14 +- .../migration/api.key.migration1.test.ts | 14 +- .../migration/api.key.migration2.test.ts | 26 +- .../src/__tests__/pull.test.ts | 11 +- .../schema-iterative-rollback-1.test.ts | 11 +- .../schema-iterative-rollback-2.test.ts | 11 +- .../schema-iterative-update-1.test.ts | 11 +- .../schema-iterative-update-3.test.ts | 9 +- .../schema-iterative-update-4.test.ts | 9 +- .../schema-iterative-update-locking.test.ts | 6 +- .../schema-api-directives/tests/key-howTo4.ts | 7 +- .../api.key.migration.test.ts | 8 +- .../api.searchable.migration.test.ts | 5 +- .../update_tests/api_migration_update.test.ts | 13 +- .../function_migration_update.test.ts | 10 +- .../src/collectDirectives.ts | 1 + 30 files changed, 229460 insertions(+), 389 deletions(-) create mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json create mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/blank-schema.graphql diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json new file mode 100644 index 00000000000..136501c9e4c --- /dev/null +++ b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json @@ -0,0 +1,113079 @@ +{ + "$id": "http://json-schema.org/draft-04/schema#", + "additionalProperties": false, + "definitions": { + "AWS::ACMPCA::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "SigningAlgorithm": { + "type": "string" + }, + "TemplateArn": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + } + }, + "required": [ + "CertificateAuthorityArn", + "CertificateSigningRequest", + "SigningAlgorithm", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + }, + "ExtendedKeyUsage": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Validity": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "KeyAlgorithm", + "SigningAlgorithm", + "Subject", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthority" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "number" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthorityActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Certificate", + "CertificateAuthorityArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthorityActivation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalyzerName": { + "type": "string" + }, + "ArchiveRules": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AccessAnalyzer::Analyzer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { + "additionalProperties": false, + "properties": { + "Filter": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" + }, + "type": "array" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "Filter", + "RuleName" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.Filter": { + "additionalProperties": false, + "properties": { + "Contains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Exists": { + "type": "boolean" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "BrokerName": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" + }, + "DeploymentMode": { + "type": "string" + }, + "EncryptionOptions": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "HostInstanceType": { + "type": "string" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, + "Logs": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" + }, + "MaintenanceWindowStartTime": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + }, + "type": "array" + }, + "Users": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + }, + "type": "array" + } + }, + "required": [ + "AutoMinorVersionUpgrade", + "BrokerName", + "DeploymentMode", + "EngineType", + "EngineVersion", + "HostInstanceType", + "PubliclyAccessible", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Broker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.EncryptionOptions": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "UseAwsOwnedKey": { + "type": "boolean" + } + }, + "required": [ + "UseAwsOwnedKey" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LogList": { + "additionalProperties": false, + "properties": { + "Audit": { + "type": "boolean" + }, + "General": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "type": "string" + }, + "TimeOfDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "DayOfWeek", + "TimeOfDay", + "TimeZone" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.User": { + "additionalProperties": false, + "properties": { + "ConsoleAccess": { + "type": "boolean" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Data", + "EngineType", + "EngineVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Configuration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" + } + }, + "required": [ + "Broker", + "Configuration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::ConfigurationAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::Amplify::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "AutoBranchCreationConfig": { + "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "CustomHeaders": { + "type": "string" + }, + "CustomRules": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "IAMServiceRole": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OauthToken": { + "type": "string" + }, + "Repository": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::App.AutoBranchCreationConfig": { + "additionalProperties": false, + "properties": { + "AutoBranchCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "EnableAutoBranchCreation": { + "type": "boolean" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.CustomRule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Source", + "Target" + ], + "type": "object" + }, + "AWS::Amplify::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Branch": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" + }, + "BranchName": { + "type": "string" + }, + "BuildSpec": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "BranchName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Branch" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Branch.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::Amplify::Branch.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EnableAutoSubDomain": { + "type": "boolean" + }, + "SubDomainSettings": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "DomainName", + "SubDomainSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Domain.SubDomainSetting": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BranchName", + "Prefix" + ], + "type": "object" + }, + "AWS::ApiGateway::Account": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "GenerateDistinctId": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "StageKeys": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey.StageKey": { + "additionalProperties": false, + "properties": { + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "AuthorizerCredentials": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerUri": { + "type": "string" + }, + "IdentitySource": { + "type": "string" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "RestApiId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::BasePathMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::BasePathMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::ClientCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ClientCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentCanarySettings": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" + }, + "Description": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StageDescription": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.CanarySetting": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.StageDescription": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" + }, + "type": "array" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" + }, + "Properties": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Location", + "Properties", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationPart" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart.Location": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "DocumentationVersion", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::GatewayResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseType": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "ResponseType", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::GatewayResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" + }, + "MethodResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" + }, + "type": "array" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "RequestValidatorId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "HttpMethod", + "ResourceId", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Method" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.Integration": { + "additionalProperties": false, + "properties": { + "CacheKeyParameters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheNamespace": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandling": { + "type": "string" + }, + "Credentials": { + "type": "string" + }, + "IntegrationHttpMethod": { + "type": "string" + }, + "IntegrationResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" + }, + "type": "array" + }, + "PassthroughBehavior": { + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutInMillis": { + "type": "number" + }, + "Type": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Method.IntegrationResponse": { + "additionalProperties": false, + "properties": { + "ContentHandling": { + "type": "string" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SelectionPattern": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.MethodResponse": { + "additionalProperties": false, + "properties": { + "ResponseModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RequestValidator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "ValidateRequestBody": { + "type": "boolean" + }, + "ValidateRequestParameters": { + "type": "boolean" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::RequestValidator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ParentId": { + "type": "string" + }, + "PathPart": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "ParentId", + "PathPart", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RestApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySourceType": { + "type": "string" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" + }, + "CloneFrom": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Stage.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.CanarySetting": { + "additionalProperties": false, + "properties": { + "DeploymentId": { + "type": "string" + }, + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiStages": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Quota": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throttle": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + }, + "UsagePlanName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ApiStage": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Throttle": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.QuotaSettings": { + "additionalProperties": false, + "properties": { + "Limit": { + "type": "number" + }, + "Offset": { + "type": "number" + }, + "Period": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ThrottleSettings": { + "additionalProperties": false, + "properties": { + "BurstLimit": { + "type": "number" + }, + "RateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlanKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "UsagePlanId": { + "type": "string" + } + }, + "required": [ + "KeyId", + "KeyType", + "UsagePlanId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlanKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TargetArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySelectionExpression": { + "type": "string" + }, + "BasePath": { + "type": "string" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "DisableSchemaValidation": { + "type": "boolean" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "ProtocolType": { + "type": "string" + }, + "RouteKey": { + "type": "string" + }, + "RouteSelectionExpression": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Target": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Api" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api.BodyS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Etag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Api.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiMappingKey": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "ApiId", + "DomainName", + "Stage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "AuthorizerCredentialsArn": { + "type": "string" + }, + "AuthorizerPayloadFormatVersion": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerType": { + "type": "string" + }, + "AuthorizerUri": { + "type": "string" + }, + "EnableSimpleResponses": { + "type": "boolean" + }, + "IdentitySource": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "JwtConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ApiId", + "AuthorizerType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { + "additionalProperties": false, + "properties": { + "Audience": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Issuer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" + }, + "type": "array" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "IntegrationSubtype": { + "type": "string" + }, + "IntegrationType": { + "type": "string" + }, + "IntegrationUri": { + "type": "string" + }, + "PassthroughBehavior": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "RequestParameters": { + "type": "object" + }, + "RequestTemplates": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" + } + }, + "required": [ + "ApiId", + "IntegrationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameter": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "Destination", + "Source" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "ResponseModels": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "RouteId": { + "type": "string" + }, + "RouteResponseKey": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteId", + "RouteResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::RouteResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" + }, + "AccessPolicyId": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AutoDeploy": { + "type": "boolean" + }, + "ClientCertificateId": { + "type": "string" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApiId", + "StageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Application.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RetrievalRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" + }, + "type": "array" + }, + "Validators": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "LocationUri", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ConfigurationProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Validators": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "ConfigurationVersion": { + "type": "string" + }, + "DeploymentStrategyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion", + "DeploymentStrategyId", + "EnvironmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Deployment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentDurationInMinutes": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "FinalBakeTimeInMinutes": { + "type": "number" + }, + "GrowthFactor": { + "type": "number" + }, + "GrowthType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicateTo": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" + }, + "type": "array" + } + }, + "required": [ + "DeploymentDurationInMinutes", + "GrowthFactor", + "Name", + "ReplicateTo" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::DeploymentStrategy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Monitors": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Environment.Monitors": { + "additionalProperties": false, + "properties": { + "AlarmArn": { + "type": "string" + }, + "AlarmRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionMode": { + "type": "string" + }, + "ConnectorProfileConfig": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" + }, + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "KMSArn": { + "type": "string" + } + }, + "required": [ + "ConnectionMode", + "ConnectorProfileName", + "ConnectorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::ConnectorProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "SecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { + "additionalProperties": false, + "properties": { + "AuthCode": { + "type": "string" + }, + "RedirectUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" + }, + "ConnectorProfileProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" + } + }, + "required": [ + "ConnectorProfileCredentials" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiToken": { + "type": "string" + } + }, + "required": [ + "ApiToken" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessKeyId": { + "type": "string" + }, + "Datakey": { + "type": "string" + }, + "SecretAccessKey": { + "type": "string" + }, + "UserId": { + "type": "string" + } + }, + "required": [ + "AccessKeyId", + "Datakey", + "SecretAccessKey", + "UserId" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "DatabaseUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "DatabaseUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientCredentialsArn": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + }, + "isSandboxEnvironment": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "PrivateLinkServiceName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Stage", + "Warehouse" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiSecretKey": { + "type": "string" + } + }, + "required": [ + "ApiSecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationFlowConfigList": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" + }, + "type": "array" + }, + "FlowName": { + "type": "string" + }, + "KMSArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" + } + }, + "required": [ + "DestinationFlowConfigList", + "FlowName", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.AggregationConfig": { + "additionalProperties": false, + "properties": { + "AggregationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.AmplitudeSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "type": "string" + }, + "Datadog": { + "type": "string" + }, + "Dynatrace": { + "type": "string" + }, + "GoogleAnalytics": { + "type": "string" + }, + "InforNexus": { + "type": "string" + }, + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Singular": { + "type": "string" + }, + "Slack": { + "type": "string" + }, + "Trendmicro": { + "type": "string" + }, + "Veeva": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DatadogSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationConnectorProperties": { + "additionalProperties": false, + "properties": { + "EventBridge": { + "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" + }, + "LookoutMetrics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "DestinationConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "DestinationConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DynatraceSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ErrorHandlingConfig": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "FailOnFirstError": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.InforNexusSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.PrefixConfig": { + "additionalProperties": false, + "properties": { + "PrefixFormat": { + "type": "string" + }, + "PrefixType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.RedshiftDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3DestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketPrefix" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleStartTime": { + "type": "number" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SingularSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SlackSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TaskPropertiesObject": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TrendmicroSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.VeevaSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBridgeBus": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventBridgeBus", + "EventFilter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::EventIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventFilter": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { + "additionalProperties": false, + "properties": { + "ClientAssociationMetadata": { + "items": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" + }, + "type": "array" + }, + "ClientId": { + "type": "string" + }, + "EventBridgeRuleName": { + "type": "string" + }, + "EventIntegrationAssociationArn": { + "type": "string" + }, + "EventIntegrationAssociationId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.Metadata": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.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" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Mesh" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.EgressFilter": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.MeshSpec": { + "additionalProperties": false, + "properties": { + "EgressFilter": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "RouteName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualRouterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::Route.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRetryPolicy": { + "additionalProperties": false, + "properties": { + "GrpcRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HttpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxRetries": { + "type": "number" + }, + "PerRetryTimeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "TcpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxRetries", + "PerRetryTimeout" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMatch": { + "additionalProperties": false, + "properties": { + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" + }, + "type": "array" + }, + "MethodName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HeaderMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.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" + }, + "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" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.WeightedTarget": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "VirtualNode", + "Weight" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "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": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Listener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" + }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Logging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ServiceDiscovery": { + "additionalProperties": false, + "properties": { + "AWSCloudMap": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" + }, + "DNS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, + "Backends": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" + }, + "ServiceDiscovery": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualRouter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { + "additionalProperties": false, + "properties": { + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { + "additionalProperties": false, + "properties": { + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "VirtualNodeName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "VirtualRouterName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" + }, + "VirtualRouter": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceSpec": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, + "AWS::AppStream::DirectoryConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceAccountCredentials": { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" + } + }, + "required": [ + "DirectoryName", + "OrganizationalUnitDistinguishedNames", + "ServiceAccountCredentials" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::DirectoryConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "AccountPassword": { + "type": "string" + } + }, + "required": [ + "AccountName", + "AccountPassword" + ], + "type": "object" + }, + "AWS::AppStream::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeCapacity": { + "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" + }, + "Description": { + "type": "string" + }, + "DisconnectTimeoutInSeconds": { + "type": "number" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "FleetType": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "IdleDisconnectTimeoutInSeconds": { + "type": "number" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxUserDurationInSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "StreamView": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" + } + }, + "required": [ + "ComputeCapacity", + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.ComputeCapacity": { + "additionalProperties": false, + "properties": { + "DesiredInstances": { + "type": "number" + } + }, + "required": [ + "DesiredInstances" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::Fleet.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" + }, + "type": "array" + }, + "AppstreamAgentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "IamRoleArn": { + "type": "string" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" + } + }, + "required": [ + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::ImageBuilder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" + }, + "type": "array" + }, + "ApplicationSettings": { + "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" + }, + "AttributesToDelete": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeleteStorageConnectors": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "EmbedHostDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FeedbackURL": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RedirectURL": { + "type": "string" + }, + "StorageConnectors": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserSettings": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppStream::Stack.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::Stack.ApplicationSettings": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "SettingsGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::AppStream::Stack.StorageConnector": { + "additionalProperties": false, + "properties": { + "ConnectorType": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdentifier": { + "type": "string" + } + }, + "required": [ + "ConnectorType" + ], + "type": "object" + }, + "AWS::AppStream::Stack.UserSetting": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "Action", + "Permission" + ], + "type": "object" + }, + "AWS::AppStream::StackFleetAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FleetName": { + "type": "string" + }, + "StackName": { + "type": "string" + } + }, + "required": [ + "FleetName", + "StackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackFleetAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::StackUserAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "SendEmailNotification": { + "type": "boolean" + }, + "StackName": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "StackName", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackUserAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "FirstName": { + "type": "string" + }, + "LastName": { + "type": "string" + }, + "MessageAction": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiCache": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiCachingBehavior": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "Ttl": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiCachingBehavior", + "ApiId", + "Ttl", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiCache" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Expires": { + "type": "number" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DynamoDBConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" + }, + "ElasticsearchConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" + }, + "HttpConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" + }, + "Name": { + "type": "string" + }, + "RelationalDatabaseConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationType": { + "type": "string" + }, + "AwsIamConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" + } + }, + "required": [ + "AuthorizationType" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AwsIamConfig": { + "additionalProperties": false, + "properties": { + "SigningRegion": { + "type": "string" + }, + "SigningServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::DataSource.DeltaSyncConfig": { + "additionalProperties": false, + "properties": { + "BaseTableTTL": { + "type": "string" + }, + "DeltaSyncTableName": { + "type": "string" + }, + "DeltaSyncTableTTL": { + "type": "string" + } + }, + "required": [ + "BaseTableTTL", + "DeltaSyncTableName", + "DeltaSyncTableTTL" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.DynamoDBConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "DeltaSyncConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" + }, + "TableName": { + "type": "string" + }, + "UseCallerCredentials": { + "type": "boolean" + }, + "Versioned": { + "type": "boolean" + } + }, + "required": [ + "AwsRegion", + "TableName" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.ElasticsearchConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.HttpConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.LambdaConfig": { + "additionalProperties": false, + "properties": { + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "AwsSecretStoreArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DbClusterIdentifier": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "AwsSecretStoreArn", + "DbClusterIdentifier" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RelationalDatabaseConfig": { + "additionalProperties": false, + "properties": { + "RdsHttpEndpointConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" + }, + "RelationalDatabaseSourceType": { + "type": "string" + } + }, + "required": [ + "RelationalDatabaseSourceType" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "DataSourceName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" + } + }, + "required": [ + "ApiId", + "DataSourceName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::FunctionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalAuthenticationProviders": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" + }, + "AuthenticationType": { + "type": "string" + }, + "LambdaAuthorizerConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" + }, + "LogConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" + }, + "Name": { + "type": "string" + }, + "OpenIDConnectConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" + }, + "Tags": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" + }, + "UserPoolConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" + }, + "XrayEnabled": { + "type": "boolean" + } + }, + "required": [ + "AuthenticationType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "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.AdditionalAuthenticationProviders": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.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.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.UserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "DefaultAction": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLSchema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Definition": { + "type": "string" + }, + "DefinitionS3Location": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLSchema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "CachingConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" + }, + "DataSourceName": { + "type": "string" + }, + "FieldName": { + "type": "string" + }, + "Kind": { + "type": "string" + }, + "PipelineConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "ApiId", + "FieldName", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::Resolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver.CachingConfig": { + "additionalProperties": false, + "properties": { + "CachingKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ttl": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.PipelineConfig": { + "additionalProperties": false, + "properties": { + "Functions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScheduledActions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" + }, + "type": "array" + }, + "ServiceNamespace": { + "type": "string" + }, + "SuspendedState": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "RoleARN", + "ScalableDimension", + "ServiceNamespace" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalableTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "ScalableTargetAction": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" + }, + "Schedule": { + "type": "string" + }, + "ScheduledActionName": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingTargetId": { + "type": "string" + }, + "ServiceNamespace": { + "type": "string" + }, + "StepScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "Cooldown": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::NamedQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "WorkGroup": { + "type": "string" + } + }, + "required": [ + "Database", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::NamedQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::PreparedStatement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CapacityRebalance": { + "type": "boolean" + }, + "Context": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "DesiredCapacity": { + "type": "string" + }, + "HealthCheckGracePeriod": { + "type": "number" + }, + "HealthCheckType": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "LifecycleHookSpecificationList": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" + }, + "type": "array" + }, + "LoadBalancerNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxInstanceLifetime": { + "type": "number" + }, + "MaxSize": { + "type": "string" + }, + "MetricsCollection": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" + }, + "type": "array" + }, + "MinSize": { + "type": "string" + }, + "MixedInstancesPolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" + }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, + "NotificationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" + }, + "type": "array" + }, + "PlacementGroup": { + "type": "string" + }, + "ServiceLinkedRoleARN": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" + }, + "type": "array" + }, + "TargetGroupARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TerminationPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VPCZoneIdentifier": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::AutoScalingGroup" + ], + "type": "string" + }, + "UpdatePolicy": { + "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { + "additionalProperties": false, + "properties": { + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandBaseCapacity": { + "type": "number" + }, + "OnDemandPercentageAboveBaseCapacity": { + "type": "number" + }, + "SpotAllocationStrategy": { + "type": "string" + }, + "SpotInstancePools": { + "type": "number" + }, + "SpotMaxPrice": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "required": [ + "LaunchTemplateSpecification" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { + "additionalProperties": false, + "properties": { + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { + "additionalProperties": false, + "properties": { + "Granularity": { + "type": "string" + }, + "Metrics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Granularity" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { + "additionalProperties": false, + "properties": { + "InstancesDistribution": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" + } + }, + "required": [ + "LaunchTemplate" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TopicARN": { + "type": "string" + } + }, + "required": [ + "TopicARN" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.TagProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "PropagateAtLaunch": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "PropagateAtLaunch", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" + }, + "type": "array" + }, + "ClassicLinkVPCId": { + "type": "string" + }, + "ClassicLinkVPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "InstanceMonitoring": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" + }, + "PlacementTenancy": { + "type": "string" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "UserData": { + "type": "string" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LaunchConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName", + "LifecycleTransition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LifecycleHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "AutoScalingGroupName": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "PolicyType": { + "type": "string" + }, + "ScalingAdjustment": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::AutoScaling::ScheduledAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DesiredCapacity": { + "type": "number" + }, + "EndTime": { + "type": "string" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "Recurrence": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "MaxGroupPreparedCapacity": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "PoolState": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::WarmPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationSource": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" + }, + "ScalingInstructions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSource", + "ScalingInstructions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScalingPlans::ScalingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { + "additionalProperties": false, + "properties": { + "CloudFormationStackARN": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedLoadMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedLoadMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedScalingMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedScalingMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { + "additionalProperties": false, + "properties": { + "CustomizedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" + }, + "DisableDynamicScaling": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "PredefinedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" + }, + "PredictiveScalingMaxCapacityBehavior": { + "type": "string" + }, + "PredictiveScalingMaxCapacityBuffer": { + "type": "number" + }, + "PredictiveScalingMode": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingPolicyUpdateBehavior": { + "type": "string" + }, + "ScheduledActionBufferTime": { + "type": "number" + }, + "ServiceNamespace": { + "type": "string" + }, + "TargetTrackingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "ScalableDimension", + "ServiceNamespace", + "TargetTrackingConfigurations" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "PredefinedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlan": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" + }, + "BackupPlanTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "BackupPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { + "additionalProperties": false, + "properties": { + "BackupOptions": { + "type": "object" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "BackupOptions", + "ResourceType" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupPlanResourceType": { + "additionalProperties": false, + "properties": { + "AdvancedBackupSettings": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" + }, + "type": "array" + }, + "BackupPlanName": { + "type": "string" + }, + "BackupPlanRule": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" + }, + "type": "array" + } + }, + "required": [ + "BackupPlanName", + "BackupPlanRule" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupRuleResourceType": { + "additionalProperties": false, + "properties": { + "CompletionWindowMinutes": { + "type": "number" + }, + "CopyActions": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" + }, + "type": "array" + }, + "EnableContinuousBackup": { + "type": "boolean" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + }, + "RecoveryPointTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RuleName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "StartWindowMinutes": { + "type": "number" + }, + "TargetBackupVault": { + "type": "string" + } + }, + "required": [ + "RuleName", + "TargetBackupVault" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.CopyActionResourceType": { + "additionalProperties": false, + "properties": { + "DestinationBackupVaultArn": { + "type": "string" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + } + }, + "required": [ + "DestinationBackupVaultArn" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.LifecycleResourceType": { + "additionalProperties": false, + "properties": { + "DeleteAfterDays": { + "type": "number" + }, + "MoveToColdStorageAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Backup::BackupSelection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlanId": { + "type": "string" + }, + "BackupSelection": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" + } + }, + "required": [ + "BackupPlanId", + "BackupSelection" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.BackupSelectionResourceType": { + "additionalProperties": false, + "properties": { + "IamRoleArn": { + "type": "string" + }, + "ListOfTags": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" + }, + "type": "array" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionName": { + "type": "string" + } + }, + "required": [ + "IamRoleArn", + "SelectionName" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.ConditionResourceType": { + "additionalProperties": false, + "properties": { + "ConditionKey": { + "type": "string" + }, + "ConditionType": { + "type": "string" + }, + "ConditionValue": { + "type": "string" + } + }, + "required": [ + "ConditionKey", + "ConditionType", + "ConditionValue" + ], + "type": "object" + }, + "AWS::Backup::BackupVault": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicy": { + "type": "object" + }, + "BackupVaultName": { + "type": "string" + }, + "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "Notifications": { + "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" + } + }, + "required": [ + "BackupVaultName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupVault" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupVault.NotificationObjectType": { + "additionalProperties": false, + "properties": { + "BackupVaultEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SNSTopicArn": { + "type": "string" + } + }, + "required": [ + "BackupVaultEvents", + "SNSTopicArn" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentName": { + "type": "string" + }, + "ComputeResources": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" + }, + "ServiceRole": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::ComputeEnvironment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.ComputeResources": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BidPercentage": { + "type": "number" + }, + "DesiredvCpus": { + "type": "number" + }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, + "Ec2KeyPair": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" + }, + "MaxvCpus": { + "type": "number" + }, + "MinvCpus": { + "type": "number" + }, + "PlacementGroup": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotIamFleetRole": { + "type": "string" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "MaxvCpus", + "Subnets", + "Type" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "JobDefinitionName": { + "type": "string" + }, + "NodeProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" + }, + "Parameters": { + "type": "object" + }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.ContainerProperties": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" + }, + "type": "array" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, + "Image": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "Vcpus": { + "type": "number" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" + }, + "type": "array" + } + }, + "required": [ + "Image" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" + }, + "FileSystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Environment": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.MountPoints": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeProperties": { + "additionalProperties": false, + "properties": { + "MainNode": { + "type": "number" + }, + "NodeRangeProperties": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" + }, + "type": "array" + }, + "NumNodes": { + "type": "number" + } + }, + "required": [ + "MainNode", + "NodeRangeProperties", + "NumNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeRangeProperty": { + "additionalProperties": false, + "properties": { + "Container": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "TargetNodes": { + "type": "string" + } + }, + "required": [ + "TargetNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.RetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Timeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "ContainerPath", + "Size" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Volumes": { + "additionalProperties": false, + "properties": { + "EfsVolumeConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.VolumesHost": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentOrder": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" + }, + "type": "array" + }, + "JobQueueName": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ComputeEnvironmentOrder", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { + "additionalProperties": false, + "properties": { + "ComputeEnvironment": { + "type": "string" + }, + "Order": { + "type": "number" + } + }, + "required": [ + "ComputeEnvironment", + "Order" + ], + "type": "object" + }, + "AWS::Budgets::Budget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Budget": { + "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" + }, + "NotificationsWithSubscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" + }, + "type": "array" + } + }, + "required": [ + "Budget" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::Budget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::Budget.BudgetData": { + "additionalProperties": false, + "properties": { + "BudgetLimit": { + "$ref": "#/definitions/AWS::Budgets::Budget.Spend" + }, + "BudgetName": { + "type": "string" + }, + "BudgetType": { + "type": "string" + }, + "CostFilters": { + "type": "object" + }, + "CostTypes": { + "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" + }, + "PlannedBudgetLimits": { + "type": "object" + }, + "TimePeriod": { + "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "BudgetType", + "TimeUnit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.CostTypes": { + "additionalProperties": false, + "properties": { + "IncludeCredit": { + "type": "boolean" + }, + "IncludeDiscount": { + "type": "boolean" + }, + "IncludeOtherSubscription": { + "type": "boolean" + }, + "IncludeRecurring": { + "type": "boolean" + }, + "IncludeRefund": { + "type": "boolean" + }, + "IncludeSubscription": { + "type": "boolean" + }, + "IncludeSupport": { + "type": "boolean" + }, + "IncludeTax": { + "type": "boolean" + }, + "IncludeUpfront": { + "type": "boolean" + }, + "UseAmortized": { + "type": "boolean" + }, + "UseBlended": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Budgets::Budget.Notification": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdType": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "NotificationType", + "Threshold" + ], + "type": "object" + }, + "AWS::Budgets::Budget.NotificationWithSubscribers": { + "additionalProperties": false, + "properties": { + "Notification": { + "$ref": "#/definitions/AWS::Budgets::Budget.Notification" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "Notification", + "Subscribers" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Spend": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Amount", + "Unit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "SubscriptionType": { + "type": "string" + } + }, + "required": [ + "Address", + "SubscriptionType" + ], + "type": "object" + }, + "AWS::Budgets::Budget.TimePeriod": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionThreshold": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" + }, + "ActionType": { + "type": "string" + }, + "ApprovalModel": { + "type": "string" + }, + "BudgetName": { + "type": "string" + }, + "Definition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "ActionThreshold", + "ActionType", + "BudgetName", + "Definition", + "ExecutionRoleArn", + "NotificationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::BudgetsAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ActionThreshold": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Definition": { + "additionalProperties": false, + "properties": { + "IamActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" + }, + "ScpActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" + }, + "SsmActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction.IamActionDefinition": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyArn": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyArn" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ScpActionDefinition": { + "additionalProperties": false, + "properties": { + "PolicyId": { + "type": "string" + }, + "TargetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyId", + "TargetIds" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.SsmActionDefinition": { + "additionalProperties": false, + "properties": { + "InstanceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "Subtype": { + "type": "string" + } + }, + "required": [ + "InstanceIds", + "Region", + "Subtype" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::AnomalyMonitor": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MonitorDimension": { + "type": "string" + }, + "MonitorName": { + "type": "string" + }, + "MonitorSpecification": { + "type": "string" + }, + "MonitorType": { + "type": "string" + } + }, + "required": [ + "MonitorName", + "MonitorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalyMonitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Frequency": { + "type": "string" + }, + "MonitorArnList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" + }, + "type": "array" + }, + "SubscriptionName": { + "type": "string" + }, + "Threshold": { + "type": "number" + } + }, + "required": [ + "Frequency", + "MonitorArnList", + "Subscribers", + "SubscriptionName", + "Threshold" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalySubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::CostCategory": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleVersion", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CUR::ReportDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Keyspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cassandra::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExpiryEventsConfiguration": { + "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" + } + }, + "required": [ + "ExpiryEventsConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { + "additionalProperties": false, + "properties": { + "DaysBeforeExpiry": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ServiceToken": { + "type": "string" + } + }, + "required": [ + "ServiceToken" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::CustomResource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::Macro": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Macro" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ModuleName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateURL": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdministrationRoleARN": { + "type": "string" + }, + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" + }, + "CallAs": { + "type": "string" + }, + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "ExecutionRoleName": { + "type": "string" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "PermissionModel": { + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "type": "array" + }, + "StackSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + } + }, + "required": [ + "PermissionModel", + "StackSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::StackSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.AutoDeployment": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "Accounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "FailureToleranceCount": { + "type": "number" + }, + "FailureTolerancePercentage": { + "type": "number" + }, + "MaxConcurrentCount": { + "type": "number" + }, + "MaxConcurrentPercentage": { + "type": "number" + }, + "RegionConcurrencyType": { + "type": "string" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterKey": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterKey", + "ParameterValue" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::TypeActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Handle": { + "type": "string" + }, + "Timeout": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitCondition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::WaitConditionHandle": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitConditionHandle" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CachePolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" + } + }, + "required": [ + "CachePolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CachePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "ParametersInCacheKeyAndForwardedToOrigin": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" + } + }, + "required": [ + "DefaultTTL", + "MaxTTL", + "MinTTL", + "Name", + "ParametersInCacheKeyAndForwardedToOrigin" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { + "additionalProperties": false, + "properties": { + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" + }, + "EnableAcceptEncodingBrotli": { + "type": "boolean" + }, + "EnableAcceptEncodingGzip": { + "type": "boolean" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "EnableAcceptEncodingGzip", + "HeadersConfig", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudFrontOriginAccessIdentityConfig": { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" + } + }, + "required": [ + "CloudFrontOriginAccessIdentityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CloudFrontOriginAccessIdentity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "required": [ + "Comment" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DistributionConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "PathPattern": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "PathPattern", + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Cookies": { + "additionalProperties": false, + "properties": { + "Forward": { + "type": "string" + }, + "WhitelistedNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Forward" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomErrorResponse": { + "additionalProperties": false, + "properties": { + "ErrorCachingMinTTL": { + "type": "number" + }, + "ErrorCode": { + "type": "number" + }, + "ResponseCode": { + "type": "number" + }, + "ResponsePagePath": { + "type": "string" + } + }, + "required": [ + "ErrorCode" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomOriginConfig": { + "additionalProperties": false, + "properties": { + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginKeepaliveTimeout": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginReadTimeout": { + "type": "number" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OriginProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DefaultCacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CNAMEs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "CustomErrorResponses": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + }, + "type": "array" + }, + "CustomOrigin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" + }, + "DefaultRootObject": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "HttpVersion": { + "type": "string" + }, + "IPV6Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" + }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, + "Origins": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + }, + "type": "array" + }, + "PriceClass": { + "type": "string" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" + }, + "ViewerCertificate": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ForwardedValues": { + "additionalProperties": false, + "properties": { + "Cookies": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryString": { + "type": "boolean" + }, + "QueryStringCacheKeys": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryString" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.FunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.GeoRestriction": { + "additionalProperties": false, + "properties": { + "Locations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionType": { + "type": "string" + } + }, + "required": [ + "RestrictionType" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "IncludeBody": { + "type": "boolean" + }, + "LambdaFunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyCustomOrigin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DNSName", + "OriginProtocolPolicy", + "OriginSSLProtocols" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyS3Origin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DNSName" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "IncludeCookies": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Origin": { + "additionalProperties": false, + "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, + "CustomOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" + }, + "DomainName": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "OriginCustomHeaders": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + }, + "type": "array" + }, + "OriginPath": { + "type": "string" + }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, + "S3OriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" + } + }, + "required": [ + "DomainName", + "Id" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginCustomHeader": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.Restrictions": { + "additionalProperties": false, + "properties": { + "GeoRestriction": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" + } + }, + "required": [ + "GeoRestriction" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.S3OriginConfig": { + "additionalProperties": false, + "properties": { + "OriginAccessIdentity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerCertificate": { + "additionalProperties": false, + "properties": { + "AcmCertificateArn": { + "type": "string" + }, + "CloudFrontDefaultCertificate": { + "type": "boolean" + }, + "IamCertificateId": { + "type": "string" + }, + "MinimumProtocolVersion": { + "type": "string" + }, + "SslSupportMethod": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPublish": { + "type": "boolean" + }, + "FunctionCode": { + "type": "string" + }, + "FunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" + }, + "FunctionMetadata": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Runtime": { + "type": "string" + } + }, + "required": [ + "Comment", + "Runtime" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionMetadata": { + "additionalProperties": false, + "properties": { + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::KeyGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" + } + }, + "required": [ + "KeyGroupConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::KeyGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Items", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" + } + }, + "required": [ + "OriginRequestPolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::OriginRequestPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" + }, + "Name": { + "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "type": "array" + }, + "Fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SamplingRate": { + "type": "number" + } + }, + "required": [ + "EndPoints", + "Fields", + "Name", + "SamplingRate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::RealtimeLogConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "additionalProperties": false, + "properties": { + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + }, + "StreamType": { + "type": "string" + } + }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamArn" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StreamingDistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StreamingDistributionConfig", + "Tags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::StreamingDistribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Enabled", + "Prefix" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.S3Origin": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DomainName", + "OriginAccessIdentity" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" + }, + "PriceClass": { + "type": "string" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" + }, + "TrustedSigners": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" + } + }, + "required": [ + "Comment", + "Enabled", + "S3Origin", + "TrustedSigners" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.TrustedSigners": { + "additionalProperties": false, + "properties": { + "AwsAccountNumbers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "CloudWatchLogsRoleArn": { + "type": "string" + }, + "EnableLogFileValidation": { + "type": "boolean" + }, + "EventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" + }, + "type": "array" + }, + "IncludeGlobalServiceEvents": { + "type": "boolean" + }, + "IsLogging": { + "type": "boolean" + }, + "IsMultiRegionTrail": { + "type": "boolean" + }, + "KMSKeyId": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "SnsTopicName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrailName": { + "type": "string" + } + }, + "required": [ + "IsLogging", + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudTrail::Trail" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.DataResource": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.EventSelector": { + "additionalProperties": false, + "properties": { + "DataResources": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" + }, + "type": "array" + }, + "IncludeManagementEvents": { + "type": "boolean" + }, + "ReadWriteType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "ComparisonOperator": { + "type": "string" + }, + "DatapointsToAlarm": { + "type": "number" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "type": "string" + }, + "EvaluationPeriods": { + "type": "number" + }, + "ExtendedStatistic": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdMetricId": { + "type": "string" + }, + "TreatMissingData": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "EvaluationPeriods" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Alarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Metric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.MetricDataQuery": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Stat": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Stat" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Configuration": { + "additionalProperties": false, + "properties": { + "ExcludedTimeRanges": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + }, + "type": "array" + }, + "MetricTimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Range": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardBody": { + "type": "string" + }, + "DashboardName": { + "type": "string" + } + }, + "required": [ + "DashboardBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleBody": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "RuleState": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" + } + }, + "required": [ + "RuleBody", + "RuleName", + "RuleState" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::InsightRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "OutputFormat", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::CodeArtifact::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "ExternalConnections": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Upstreams": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "BadgeEnabled": { + "type": "boolean" + }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, + "Cache": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" + }, + "ConcurrentBuildLimit": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" + }, + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" + }, + "type": "array" + }, + "LogsConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" + }, + "Name": { + "type": "string" + }, + "QueuedTimeoutInMinutes": { + "type": "number" + }, + "SecondaryArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "type": "array" + }, + "SecondarySourceVersions": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" + }, + "type": "array" + }, + "SecondarySources": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "type": "array" + }, + "ServiceRole": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "SourceVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeoutInMinutes": { + "type": "number" + }, + "Triggers": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" + } + }, + "required": [ + "Artifacts", + "Environment", + "ServiceRole", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Artifacts": { + "additionalProperties": false, + "properties": { + "ArtifactIdentifier": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NamespaceType": { + "type": "string" + }, + "OverrideArtifactName": { + "type": "boolean" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.CloudWatchLogsConfig": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Environment": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "ImagePullCredentialsType": { + "type": "string" + }, + "PrivilegedMode": { + "type": "boolean" + }, + "RegistryCredential": { + "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ComputeType", + "Image", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.FilterGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.LogsConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" + }, + "S3Logs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectCache": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "Modes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectFileSystemLocation": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "MountOptions": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Location", + "MountPoint", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectSourceVersion": { + "additionalProperties": false, + "properties": { + "SourceIdentifier": { + "type": "string" + }, + "SourceVersion": { + "type": "string" + } + }, + "required": [ + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectTriggers": { + "additionalProperties": false, + "properties": { + "BuildType": { + "type": "string" + }, + "FilterGroups": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" + }, + "type": "array" + }, + "Webhook": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.RegistryCredential": { + "additionalProperties": false, + "properties": { + "Credential": { + "type": "string" + }, + "CredentialProvider": { + "type": "string" + } + }, + "required": [ + "Credential", + "CredentialProvider" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.S3LogsConfig": { + "additionalProperties": false, + "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Source": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" + }, + "BuildSpec": { + "type": "string" + }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, + "GitCloneDepth": { + "type": "number" + }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, + "InsecureSsl": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "ReportBuildStatus": { + "type": "boolean" + }, + "SourceIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.SourceAuth": { + "additionalProperties": false, + "properties": { + "Resource": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.WebhookFilter": { + "additionalProperties": false, + "properties": { + "ExcludeMatchedPattern": { + "type": "boolean" + }, + "Pattern": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Pattern", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteReports": { + "type": "boolean" + }, + "ExportConfig": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ExportConfig", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::ReportGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" + } + }, + "required": [ + "ExportConfigType" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CodeBuild::SourceCredential": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "ServerType": { + "type": "string" + }, + "Token": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "AuthType", + "ServerType", + "Token" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::SourceCredential" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" + }, + "type": "array" + } + }, + "required": [ + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeCommit::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.Code": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "S3": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.RepositoryTrigger": { + "additionalProperties": false, + "properties": { + "Branches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CustomData": { + "type": "string" + }, + "DestinationArn": { + "type": "string" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "Events", + "Name" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ComputePlatform": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TriggerConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeDeploy::DeploymentGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.Alarm": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "IgnorePollAlarmFailure": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.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" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { + "additionalProperties": false, + "properties": { + "OnPremisesTagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { + "additionalProperties": false, + "properties": { + "OnPremisesTagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { + "additionalProperties": false, + "properties": { + "GitHubLocation": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" + }, + "RevisionType": { + "type": "string" + }, + "S3Location": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BundleType": { + "type": "string" + }, + "ETag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TriggerName": { + "type": "string" + }, + "TriggerTargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, + "ProfilingGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, + "AWS::CodeGuruReviewer::RepositoryAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "ConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + }, + "type": "array" + }, + "InputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "OutputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "Provider": { + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "InputArtifactDetails", + "OutputArtifactDetails", + "Provider", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::CustomActionType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ArtifactDetails": { + "additionalProperties": false, + "properties": { + "MaximumCount": { + "type": "number" + }, + "MinimumCount": { + "type": "number" + } + }, + "required": [ + "MaximumCount", + "MinimumCount" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Key": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Queryable": { + "type": "boolean" + }, + "Required": { + "type": "boolean" + }, + "Secret": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Key", + "Name", + "Required", + "Secret" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.Settings": { + "additionalProperties": false, + "properties": { + "EntityUrlTemplate": { + "type": "string" + }, + "ExecutionUrlTemplate": { + "type": "string" + }, + "RevisionUrlTemplate": { + "type": "string" + }, + "ThirdPartyConfigurationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "ArtifactStores": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + }, + "type": "array" + }, + "DisableInboundStageTransitions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RestartExecutionOnUpdate": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Stages": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RoleArn", + "Stages" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionDeclaration": { + "additionalProperties": false, + "properties": { + "ActionTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" + }, + "Configuration": { + "type": "object" + }, + "InputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "OutputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunOrder": { + "type": "number" + } + }, + "required": [ + "ActionTypeId", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionTypeId": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "Owner", + "Provider", + "Version" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStore": { + "additionalProperties": false, + "properties": { + "EncryptionKey": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" + }, + "Location": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Location", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "ArtifactStore", + "Region" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.BlockerDeclaration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.EncryptionKey": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.InputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.OutputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageDeclaration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" + }, + "type": "array" + }, + "Blockers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageTransition": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "Reason", + "StageName" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authentication": { + "type": "string" + }, + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" + }, + "Filters": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegisterWithThirdParty": { + "type": "boolean" + }, + "TargetAction": { + "type": "string" + }, + "TargetPipeline": { + "type": "string" + }, + "TargetPipelineVersion": { + "type": "number" + } + }, + "required": [ + "Authentication", + "AuthenticationConfiguration", + "Filters", + "TargetAction", + "TargetPipeline", + "TargetPipelineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Webhook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedIPRange": { + "type": "string" + }, + "SecretToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookFilterRule": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "MatchEquals": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" + }, + "ConnectionArn": { + "type": "string" + }, + "EnableIssues": { + "type": "boolean" + }, + "IsPrivate": { + "type": "boolean" + }, + "RepositoryAccessToken": { + "type": "string" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryOwner": { + "type": "string" + } + }, + "required": [ + "RepositoryName", + "RepositoryOwner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStar::GitHubRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.Code": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "HostArn": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetailType": { + "type": "string" + }, + "EventTypeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" + }, + "type": "array" + } + }, + "required": [ + "DetailType", + "EventTypeIds", + "Name", + "Resource", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarNotifications::NotificationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule.Target": { + "additionalProperties": false, + "properties": { + "TargetAddress": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowClassicFlow": { + "type": "boolean" + }, + "AllowUnauthenticatedIdentities": { + "type": "boolean" + }, + "CognitoEvents": { + "type": "object" + }, + "CognitoIdentityProviders": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" + }, + "type": "array" + }, + "CognitoStreams": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" + }, + "DeveloperProviderName": { + "type": "string" + }, + "IdentityPoolName": { + "type": "string" + }, + "OpenIdConnectProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PushSync": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" + }, + "SamlProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SupportedLoginProviders": { + "type": "object" + } + }, + "required": [ + "AllowUnauthenticatedIdentities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "ServerSideTokenCheck": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoStreams": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "StreamingStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.PushSync": { + "additionalProperties": false, + "properties": { + "ApplicationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityPoolId": { + "type": "string" + }, + "RoleMappings": { + "type": "object" + }, + "Roles": { + "type": "object" + } + }, + "required": [ + "IdentityPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPoolRoleAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { + "additionalProperties": false, + "properties": { + "Claim": { + "type": "string" + }, + "MatchType": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Claim", + "MatchType", + "RoleARN", + "Value" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { + "additionalProperties": false, + "properties": { + "AmbiguousRoleResolution": { + "type": "string" + }, + "IdentityProvider": { + "type": "string" + }, + "RulesConfiguration": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::Cognito::UserPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountRecoverySetting": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" + }, + "AdminCreateUserConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" + }, + "AliasAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoVerifiedAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeviceConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" + }, + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" + }, + "EmailVerificationMessage": { + "type": "string" + }, + "EmailVerificationSubject": { + "type": "string" + }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" + }, + "MfaConfiguration": { + "type": "string" + }, + "Policies": { + "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" + }, + "Schema": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" + }, + "type": "array" + }, + "SmsAuthenticationMessage": { + "type": "string" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" + }, + "SmsVerificationMessage": { + "type": "string" + }, + "UserPoolAddOns": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" + }, + "UserPoolName": { + "type": "string" + }, + "UserPoolTags": { + "type": "object" + }, + "UsernameAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UsernameConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" + }, + "VerificationMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.AccountRecoverySetting": { + "additionalProperties": false, + "properties": { + "RecoveryMechanisms": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdminCreateUserConfig": { + "additionalProperties": false, + "properties": { + "AllowAdminCreateUserOnly": { + "type": "boolean" + }, + "InviteMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" + }, + "UnusedAccountValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.DeviceConfiguration": { + "additionalProperties": false, + "properties": { + "ChallengeRequiredOnNewDevice": { + "type": "boolean" + }, + "DeviceOnlyRememberedOnUserPrompt": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "type": "string" + }, + "EmailSendingAccount": { + "type": "string" + }, + "From": { + "type": "string" + }, + "ReplyToEmailAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.InviteMessageTemplate": { + "additionalProperties": false, + "properties": { + "EmailMessage": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "SMSMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, + "CustomMessage": { + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, + "DefineAuthChallenge": { + "type": "string" + }, + "KMSKeyID": { + "type": "string" + }, + "PostAuthentication": { + "type": "string" + }, + "PostConfirmation": { + "type": "string" + }, + "PreAuthentication": { + "type": "string" + }, + "PreSignUp": { + "type": "string" + }, + "PreTokenGeneration": { + "type": "string" + }, + "UserMigration": { + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.NumberAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxValue": { + "type": "string" + }, + "MinValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PasswordPolicy": { + "additionalProperties": false, + "properties": { + "MinimumLength": { + "type": "number" + }, + "RequireLowercase": { + "type": "boolean" + }, + "RequireNumbers": { + "type": "boolean" + }, + "RequireSymbols": { + "type": "boolean" + }, + "RequireUppercase": { + "type": "boolean" + }, + "TemporaryPasswordValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.Policies": { + "additionalProperties": false, + "properties": { + "PasswordPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.RecoveryOption": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SchemaAttribute": { + "additionalProperties": false, + "properties": { + "AttributeDataType": { + "type": "string" + }, + "DeveloperOnlyAttribute": { + "type": "boolean" + }, + "Mutable": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "NumberAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" + }, + "Required": { + "type": "boolean" + }, + "StringAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "ExternalId": { + "type": "string" + }, + "SnsCallerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.StringAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxLength": { + "type": "string" + }, + "MinLength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UserPoolAddOns": { + "additionalProperties": false, + "properties": { + "AdvancedSecurityMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UsernameConfiguration": { + "additionalProperties": false, + "properties": { + "CaseSensitive": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.VerificationMessageTemplate": { + "additionalProperties": false, + "properties": { + "DefaultEmailOption": { + "type": "string" + }, + "EmailMessage": { + "type": "string" + }, + "EmailMessageByLink": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "EmailSubjectByLink": { + "type": "string" + }, + "SmsMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessTokenValidity": { + "type": "number" + }, + "AllowedOAuthFlows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOAuthFlowsUserPoolClient": { + "type": "boolean" + }, + "AllowedOAuthScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalyticsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" + }, + "CallbackURLs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClientName": { + "type": "string" + }, + "DefaultRedirectURI": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" + }, + "Domain": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Domain", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Precedence": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolIdentityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeMapping": { + "type": "object" + }, + "IdpIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProviderDetails": { + "type": "object" + }, + "ProviderName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ProviderName", + "ProviderType", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolIdentityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientMetadata": { + "type": "object" + }, + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountAggregationSources": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + }, + "type": "array" + }, + "ConfigurationAggregatorName": { + "type": "string" + }, + "OrganizationAggregationSource": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationAggregator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccountIds" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "additionalProperties": false, + "properties": { + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RecordingGroup": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "RoleARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationRecorder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingGroup": { + "additionalProperties": false, + "properties": { + "AllSupported": { + "type": "boolean" + }, + "IncludeGlobalResourceTypes": { + "type": "boolean" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::ConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "ConformancePackName": { + "type": "string" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "ConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigSnapshotDeliveryProperties": { + "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" + }, + "Name": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "S3KmsKeyArn": { + "type": "string" + }, + "SnsTopicARN": { + "type": "string" + } + }, + "required": [ + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::DeliveryChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { + "additionalProperties": false, + "properties": { + "DeliveryFrequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::OrganizationConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConfigRuleName": { + "type": "string" + }, + "OrganizationCustomRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" + }, + "OrganizationManagedRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" + } + }, + "required": [ + "OrganizationConfigRuleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "LambdaFunctionArn": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "OrganizationConfigRuleTriggerTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn", + "OrganizationConfigRuleTriggerTypes" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RuleIdentifier": { + "type": "string" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "RuleIdentifier" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConformancePackName": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "OrganizationConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Automatic": { + "type": "boolean" + }, + "ConfigRuleName": { + "type": "string" + }, + "ExecutionControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" + }, + "MaximumAutomaticAttempts": { + "type": "number" + }, + "Parameters": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "RetryAttemptSeconds": { + "type": "number" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + }, + "TargetVersion": { + "type": "string" + } + }, + "required": [ + "ConfigRuleName", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::RemediationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ExecutionControls": { + "additionalProperties": false, + "properties": { + "SsmControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.RemediationParameterValue": { + "additionalProperties": false, + "properties": { + "ResourceValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" + }, + "StaticValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ResourceValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.SsmControls": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutionRatePercentage": { + "type": "number" + }, + "ErrorPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.StaticValue": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Connect::QuickConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::CustomerProfiles::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeadLetterQueueUrl": { + "type": "string" + }, + "DefaultEncryptionKey": { + "type": "string" + }, + "DefaultExpirationDays": { + "type": "number" + }, + "DomainName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "FlowDefinition": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "ObjectTypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.FlowDefinition": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FlowName": { + "type": "string" + }, + "KmsArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" + } + }, + "required": [ + "FlowName", + "KmsArn", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "FirstExecutionFrom": { + "type": "number" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleStartTime": { + "type": "number" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Marketo": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { + "additionalProperties": false, + "properties": { + "OperatorPropertyKey": { + "type": "string" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "OperatorPropertyKey", + "Property" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerProperties": { + "additionalProperties": false, + "properties": { + "Scheduled": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowProfileCreation": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "ExpirationDays": { + "type": "number" + }, + "Fields": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" + }, + "type": "array" + }, + "Keys": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" + }, + "type": "array" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::ObjectType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.FieldMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeField": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.KeyMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeKeyList": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { + "additionalProperties": false, + "properties": { + "FieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DAX::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterEndpointEncryptionType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NotificationTopicARN": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationFactor": { + "type": "number" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetGroupName": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "IAMRoleARN", + "NodeType", + "ReplicationFactor" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DAX::Cluster.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DAX::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "ParameterNameValues": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DAX::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "PolicyDetails": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DLM::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CreateRule": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Times": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.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" + }, + "NoReboot": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" + }, + "PolicyType": { + "type": "string" + }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Schedules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" + }, + "type": "array" + }, + "TargetTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetainRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Schedule": { + "additionalProperties": false, + "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" + }, + "CrossRegionCopyRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateIdentifier": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateWallet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, + "DynamoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" + }, + "ElasticsearchSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" + }, + "EndpointIdentifier": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "EngineName": { + "type": "string" + }, + "ExtraConnectionAttributes": { + "type": "string" + }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, + "KinesisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" + }, + "KmsKeyId": { + "type": "string" + }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, + "ResourceIdentifier": { + "type": "string" + }, + "S3Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" + }, + "ServerName": { + "type": "string" + }, + "SslMode": { + "type": "string" + }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "EngineName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.DynamoDbSettings": { + "additionalProperties": false, + "properties": { + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.ElasticsearchSettings": { + "additionalProperties": false, + "properties": { + "EndpointUri": { + "type": "string" + }, + "ErrorRetryDuration": { + "type": "number" + }, + "FullLoadErrorPercentage": { + "type": "number" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KinesisSettings": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MongoDbSettings": { + "additionalProperties": false, + "properties": { + "AuthMechanism": { + "type": "string" + }, + "AuthSource": { + "type": "string" + }, + "AuthType": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocsToInvestigate": { + "type": "string" + }, + "ExtractDocId": { + "type": "string" + }, + "NestingLevel": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.S3Settings": { + "additionalProperties": false, + "properties": { + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CompressionType": { + "type": "string" + }, + "CsvDelimiter": { + "type": "string" + }, + "CsvRowDelimiter": { + "type": "string" + }, + "ExternalTableDefinition": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "number" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationSubnetGroupDescription": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReplicationSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdcStartPosition": { + "type": "string" + }, + "CdcStartTime": { + "type": "number" + }, + "CdcStopPosition": { + "type": "string" + }, + "MigrationType": { + "type": "string" + }, + "ReplicationInstanceArn": { + "type": "string" + }, + "ReplicationTaskIdentifier": { + "type": "string" + }, + "ReplicationTaskSettings": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "TableMappings": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + }, + "TaskData": { + "type": "string" + } + }, + "required": [ + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" + }, + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" + }, + "Name": { + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "LocaleCode": { + "type": "string" + }, + "TimezoneOffset": { + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.ExcelOptions": { + "additionalProperties": false, + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "number" + }, + "Order": { + "type": "string" + }, + "OrderedBy": { + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "ValuesMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "ValueReference": { + "type": "string" + } + }, + "required": [ + "Value", + "ValueReference" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" + }, + "PathParameterName": { + "type": "string" + } + }, + "required": [ + "DatasetParameter", + "PathParameterName" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "RoleArn", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job.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.JobSample": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.Output": { + "additionalProperties": false, + "properties": { + "CompressionFormat": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.OutputLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "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" + }, + "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": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "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::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecipeName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sample": { + "$ref": "#/definitions/AWS::DataBrew::Project.Sample" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "Name", + "RecipeName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Project.Sample": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Steps" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Recipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.Action": { + "additionalProperties": false, + "properties": { + "Operation": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" + } + }, + "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.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { + "type": "object" + }, + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceColumn": { + "type": "string" + }, + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { + "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "JobNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CronExpression", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Schedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "type": "array" + }, + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "type": "array" + }, + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "ParameterObjects" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataPipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.Field": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActivationKey": { + "type": "string" + }, + "AgentName": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + } + }, + "required": [ + "ActivationKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Agent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" + }, + "EfsFilesystemArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Ec2Config", + "EfsFilesystemArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationEFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "FsxFilesystemArn": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxWindows" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" + }, + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "OnPremConfig", + "ServerHostname", + "Subdirectory" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationNFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS.OnPremConfig": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AgentArns" + ], + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BucketName": { + "type": "string" + }, + "SecretKey": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "ServerPort": { + "type": "number" + }, + "ServerProtocol": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AgentArns", + "BucketName", + "ServerHostname" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationObjectStorage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "S3BucketArn": { + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "S3BucketArn", + "S3Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationS3" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3.S3Config": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + } + }, + "required": [ + "BucketAccessRoleArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" + }, + "Password": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationSMB" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "DestinationLocationArn": { + "type": "string" + }, + "Excludes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" + }, + "SourceLocationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationLocationArn", + "SourceLocationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::Task.FilterRule": { + "additionalProperties": false, + "properties": { + "FilterType": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Options": { + "additionalProperties": false, + "properties": { + "Atime": { + "type": "string" + }, + "BytesPerSecond": { + "type": "number" + }, + "Gid": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "Mtime": { + "type": "string" + }, + "OverwriteMode": { + "type": "string" + }, + "PosixPermissions": { + "type": "string" + }, + "PreserveDeletedFiles": { + "type": "string" + }, + "PreserveDevices": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { + "type": "string" + }, + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "required": [ + "GraphArn", + "MemberEmailAddress", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::MemberInvitation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" + } + }, + "required": [ + "Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" + } + }, + "required": [ + "ResourceCollectionFilter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::ResourceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::SimpleAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MasterUserPassword", + "MasterUsername" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBClusterIdentifier", + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + }, + "type": "array" + }, + "Replicas": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" + }, + "type": "array" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "AttributeDefinitions", + "KeySchema", + "Replicas" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::GlobalTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SeedCapacity": { + "type": "number" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + }, + "ReadCapacityUnits": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + } + }, + "required": [ + "KMSMasterKeyId" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + }, + "Region": { + "type": "string" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "DisableScaleIn": { + "type": "boolean" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" + } + }, + "required": [ + "KeySchema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.SSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + }, + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "AttributeName", + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnAuthorizationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessGroupId": { + "type": "string" + }, + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnAuthorizationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ClientRootCertificateChainArn": { + "type": "string" + } + }, + "required": [ + "ClientRootCertificateChainArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "additionalProperties": false, + "properties": { + "CloudwatchLogGroup": { + "type": "string" + }, + "CloudwatchLogStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + } + }, + "required": [ + "DirectoryId" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceType", + "Tags" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "DestinationCidrBlock", + "TargetVpcSubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnTargetNetworkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::DHCPOptions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::EIP": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "PublicIpv4Pool": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIP" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EIPAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIPAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EgressOnlyInternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EgressOnlyInternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::FlowLog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliverLogsPermissionArn": { + "type": "string" + }, + "LogDestination": { + "type": "string" + }, + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficType": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "ResourceType", + "TrafficType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::FlowLog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::GatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + } + }, + "required": [ + "GatewayId", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::GatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Host": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPlacement": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Host" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Instance": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "string" + }, + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + }, + "UserData": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.AssociationParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EC2::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + }, + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::Instance.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex" + ], + "type": "object" + }, + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::InternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LaunchTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "additionalProperties": false, + "properties": { + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "Throughput": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" + }, + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + }, + "type": "array" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Monitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociateCarrierIpAddress": { + "type": "boolean" + }, + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" + }, + "type": "array" + }, + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.SpotOptions": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "SpotInstanceType": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LocalGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "LocalGatewayRouteTableId": { + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LocalGatewayRouteTableId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NatGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "ConnectivityType": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAcl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAclEntry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkInsightsPathId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "NetworkInsightsPathId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "ComponentId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationIp": { + "type": "string" + }, + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Destination", + "Protocol", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsPath" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "DeviceIndex": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfaceAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfacePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "NetworkInterfaceId", + "Permission" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfacePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PlacementGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Strategy": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PlacementGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CarrierGatewayId": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationIpv6CidrBlock": { + "type": "string" + }, + "EgressOnlyInternetGatewayId": { + "type": "string" + }, + "GatewayId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LocalGatewayId": { + "type": "string" + }, + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + } + }, + "required": [ + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupDescription": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "SecurityGroupEgress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + }, + "type": "array" + }, + "SecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Egress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupEgress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "GroupId", + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupEgress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + } + }, + "required": [ + "SpotFleetRequestConfigData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "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" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Subnet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ipv6CidrBlock": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "Ipv6CidrBlock", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrBlock" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetNetworkAclAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "RouteTableId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TransitGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "TransitGatewayId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransportTransitGatewayAttachmentId": { + "type": "string" + } + }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayConnect" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { + "additionalProperties": false, + "properties": { + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupMember": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTablePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "EnableDnsHostnames": { + "type": "boolean" + }, + "EnableDnsSupport": { + "type": "boolean" + }, + "InstanceTenancy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CidrBlock" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "ServiceName", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointConnectionNotification": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointServicePermissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCGatewayAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InternetGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCPeeringConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerOwnerId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerRoleArn": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "PeerVpcId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCPeeringConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayId": { + "type": "string" + }, + "StaticRoutesOnly": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" + } + }, + "required": [ + "CustomerGatewayId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "PreSharedKey": { + "type": "string" + }, + "TunnelInsideCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnectionRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "VpnConnectionId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "VpnConnectionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnectionRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGatewayRoutePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "RouteTableIds", + "VpnGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGatewayRoutePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoEnableIO": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Size": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throughput": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VolumeAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "InstanceId", + "VolumeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VolumeAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "required": [ + "Region", + "RegistryId" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" + } + }, + "required": [ + "Destinations" + ], + "type": "object" + }, + "AWS::ECR::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" + }, + "ImageScanningConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "InstanceWarmupPeriod": { + "type": "number" + }, + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" + }, + "type": "array" + } + }, + "required": [ + "CapacityProviders", + "Cluster", + "DefaultCapacityProviderStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::ClusterCapacityProviderAssociations" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentCircuitBreaker": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + }, + "Rollback": { + "type": "boolean" + } + }, + "required": [ + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" + }, + "MaximumPercent": { + "type": "number" + }, + "MinimumHealthyPercent": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentController": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Service.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { + "type": "string" + }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "InferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + }, + "type": "array" + }, + "IpcMode": { + "type": "string" + }, + "Memory": { + "type": "string" + }, + "NetworkMode": { + "type": "string" + }, + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DockerSecurityOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { + "type": "boolean" + }, + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "Interactive": { + "type": "boolean" + }, + "Links": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { + "type": "number" + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDependency": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "ContainerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Autoprovision": { + "type": "boolean" + }, + "Driver": { + "type": "string" + }, + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Scope": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "type": "object" + }, + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FilesystemId" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EphemeralStorage": { + "additionalProperties": false, + "properties": { + "SizeInGiB": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostEntry": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "IpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostVolumeProperties": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Drop": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.MountPoint": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { + "type": "number" + }, + "HostPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.RepositoryCredentials": { + "additionalProperties": false, + "properties": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.SystemControl": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "Size" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" + }, + "ClientToken": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.AccessPointTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Uid": { + "type": "string" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Addon": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddonName": { + "type": "string" + }, + "AddonVersion": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "ResolveConflicts": { + "type": "string" + }, + "ServiceAccountRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddonName", + "ClusterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Addon" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ResourcesVpcConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "type": "string" + }, + "FargateProfileName": { + "type": "string" + }, + "PodExecutionRoleArn": { + "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "PodExecutionRoleArn", + "Selectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::FargateProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmiType": { + "type": "string" + }, + "CapacityType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Taints": { + "items": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" + }, + "type": "array" + }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ClusterName", + "NodeRole", + "Subnets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Nodegroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.Taint": { + "additionalProperties": false, + "properties": { + "Effect": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "object" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { + "type": "string" + }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Application": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::Cluster.BootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" + } + }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], + "type": "object" + }, + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::Cluster.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { + "type": "boolean" + }, + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { + "type": "string" + }, + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { + "type": "string" + } + }, + "required": [ + "KdcAdminPassword", + "Realm" + ], + "type": "object" + }, + "AWS::EMR::Cluster.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::Cluster.PlacementType": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::Cluster.StepConfig": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "required": [ + "ClusterId", + "InstanceFleetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceFleetConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "object" + } + }, + "required": [ + "SecurityConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + }, + "JobFlowId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Step.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthMode": { + "type": "string" + }, + "DefaultS3Location": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineSecurityGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::StudioSessionMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerProvider", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRContainers::VirtualCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { + "additionalProperties": false, + "properties": { + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" + } + }, + "required": [ + "EksInfo" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Info", + "Type" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.EksInfo": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheParameterGroupFamily": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CacheParameterGroupFamily", + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSubnetGroupName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessString": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Engine", + "UserId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::UserGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Engine": { + "type": "string" + }, + "UserGroupId": { + "type": "string" + }, + "UserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine", + "UserGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::UserGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "ServiceRole": { + "type": "string" + }, + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "additionalProperties": false, + "properties": { + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + }, + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + } + }, + "required": [ + "ApplicationName", + "SourceBundle" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ConfigurationTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ApplicationName", + "TemplateName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancing::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "additionalProperties": false, + "properties": { + "EmitInterval": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { + "type": "string" + }, + "S3BucketPrefix": { + "type": "string" + } + }, + "required": [ + "Enabled", + "S3BucketName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieName": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" + }, + "Interval": { + "type": "string" + }, + "Target": { + "type": "string" + }, + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { + "type": "string" + } + }, + "required": [ + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieExpirationPeriod": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "string" + }, + "InstanceProtocol": { + "type": "string" + }, + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerPort", + "Protocol" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" + }, + "type": "array" + }, + "DefaultActions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + }, + "type": "array" + }, + "LoadBalancerArn": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "SslPolicy": { + "type": "string" + } + }, + "required": [ + "DefaultActions", + "LoadBalancerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + } + }, + "required": [ + "Certificates", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" + }, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Actions", + "Conditions", + "ListenerArn", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IpAddressType": { + "type": "string" + }, + "LoadBalancerAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicies": { + "type": "object" + }, + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { + "type": "string" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Elasticsearch::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "additionalProperties": false, + "properties": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Discoverer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Discoverer.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Content", + "RegistryName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::ApiDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "InvocationEndpoint": { + "type": "string" + }, + "InvocationRateLimitPerSecond": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "RetentionDays": { + "type": "number" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Archive" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthParameters": { + "type": "object" + }, + "AuthorizationType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthParameters", + "AuthorizationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBus": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" + }, + "EventBusName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "Statement": { + "type": "object" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBusPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy.Condition": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBusName": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Events::Rule.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchArrayProperties": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.BatchParameters": { + "additionalProperties": false, + "properties": { + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" + }, + "JobDefinition": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" + } + }, + "required": [ + "JobDefinition", + "JobName" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchRetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { + "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "type": "object" + }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "type": "array" + } + }, + "required": [ + "RunCommandTargets" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandTarget": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + } + }, + "required": [ + "Arn", + "Id" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StopConditions": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Targets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" + } + }, + "type": "object" + } + }, + "required": [ + "Description", + "RoleArn", + "StopConditions", + "Tags", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FIS::ExperimentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { + "additionalProperties": false, + "properties": { + "ActionId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "StartAfter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ActionId" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "SelectionMode": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "SelectionMode" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Path", + "Values" + ], + "type": "object" + }, + "AWS::FMS::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SnsRoleName": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "SnsRoleName", + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { + "type": "string" + }, + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { + "type": "string" + }, + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" + } + }, + "required": [ + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy.IEMap": { + "additionalProperties": false, + "properties": { + "ACCOUNT": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FMS::Policy.PolicyTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::FMS::Policy.ResourceTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::FSx::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupId": { + "type": "string" + }, + "FileSystemType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + } + }, + "required": [ + "FileSystemType", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.LustreConfiguration": { + "additionalProperties": false, + "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DataCompressionType": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "DriveCacheType": { + "type": "string" + }, + "ExportPath": { + "type": "string" + }, + "ImportPath": { + "type": "string" + }, + "ImportedFileChunkSize": { + "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.WindowsConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryId": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "required": [ + "ThroughputCapacity" + ], + "type": "object" + }, + "AWS::FinSpace::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FederationMode": { + "type": "string" + }, + "FederationParameters": { + "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FinSpace::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FinSpace::Environment.FederationParameters": { + "additionalProperties": false, + "properties": { + "ApplicationCallBackURL": { + "type": "string" + }, + "AttributeMap": { + "type": "object" + }, + "FederationProviderName": { + "type": "string" + }, + "FederationURN": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "SamlMetadataURL": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "DetectorVersionStatus": { + "type": "string" + }, + "EventType": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" + }, + "RuleExecutionMode": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorId", + "EventType", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Detector.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" + }, + "type": "array" + }, + "Inline": { + "type": "boolean" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" + }, + "type": "array" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Outcome": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Rule": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "Language": { + "type": "string" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Outcomes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" + }, + "type": "array" + }, + "RuleId": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EntityType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" + }, + "type": "array" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EntityTypes", + "EventVariables", + "Labels", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EventType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Label": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Label" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Outcome": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Outcome" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Variable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "DataSource", + "DataType", + "DefaultValue", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Variable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + } + }, + "required": [ + "Name", + "RoutingStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias.RoutingStrategy": { + "additionalProperties": false, + "properties": { + "FleetId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Build" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GameLift::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BuildId": { + "type": "string" + }, + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "Locations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinSize": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.CertificateConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationCapacity": { + "additionalProperties": false, + "properties": { + "DesiredEC2Instances": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "required": [ + "DesiredEC2Instances", + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationConfiguration": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "LocationCapacity": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "additionalProperties": false, + "properties": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { + "type": "string" + }, + "Parameters": { + "type": "string" + } + }, + "required": [ + "ConcurrentExecutions", + "LaunchPath" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" + }, + "BalancingStrategy": { + "type": "string" + }, + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameServerGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "EstimatedInstanceWarmup": { + "type": "number" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomEventData": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" + }, + "FilterConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "PlayerLatencyPolicies": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" + }, + "type": "array" + }, + "PriorityConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameSessionQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.Destination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.FilterConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedLocations": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { + "additionalProperties": false, + "properties": { + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" + }, + "PolicyDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { + "additionalProperties": false, + "properties": { + "LocationOrder": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PriorityOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { + "type": "string" + }, + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { + "items": { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RuleSetBody": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleSetBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "StorageLocation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Script" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Accelerator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Accelerator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { + "type": "string" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" + } + }, + "required": [ + "EndpointGroupRegion", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "ClientIPPreservationEnabled": { + "type": "boolean" + }, + "EndpointId": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "EndpointId" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + } + }, + "required": [ + "Role", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Crawler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Crawler.CatalogTarget": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.DynamoDBTarget": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.JdbcTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.S3Target": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.SchemaChangePolicy": { + "additionalProperties": false, + "properties": { + "DeleteBehavior": { + "type": "string" + }, + "UpdateBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Targets": { + "additionalProperties": false, + "properties": { + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" + }, + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" + }, + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" + }, + "S3Targets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + } + }, + "required": [ + "CatalogId", + "DataCatalogEncryptionSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataCatalogEncryptionSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" + }, + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "CatalogEncryptionMode": { + "type": "string" + }, + "SseAwsKmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + } + }, + "required": [ + "CatalogId", + "DatabaseInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseInput": { + "additionalProperties": false, + "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" + } + }, + "type": "object" + }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, + "AWS::Glue::DevEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "EndpointName": { + "type": "string" + }, + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DevEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedCapacity": { + "type": "number" + }, + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" + }, + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "Command", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job.ConnectionsList": { + "additionalProperties": false, + "properties": { + "Connections": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Job.ExecutionProperty": { + "additionalProperties": false, + "properties": { + "MaxConcurrentRuns": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "InputRecordTables", + "Role", + "TransformParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::MLTransform" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.FindMatchesParameters": { + "additionalProperties": false, + "properties": { + "AccuracyCostTradeoff": { + "type": "number" + }, + "EnforceProvidedLabels": { + "type": "boolean" + }, + "PrecisionRecallTradeoff": { + "type": "number" + }, + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { + "items": { + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.MLUserDataEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MLUserDataEncryptionMode": { + "type": "string" + } + }, + "required": [ + "MLUserDataEncryptionMode" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Partition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Partition.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { + "type": "object" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" + }, + "Compatibility": { + "type": "string" + }, + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" + }, + "SchemaDefinition": { + "type": "string" + } + }, + "required": [ + "Schema", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SchemaVersion.Schema": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersionMetadata": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "SchemaVersionId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "SchemaVersionId", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersionMetadata" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "TableInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Table.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Action" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { + "type": "string" + }, + "StartOnCreation": { + "type": "boolean" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "WorkflowName": { + "type": "string" + } + }, + "required": [ + "Actions", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Trigger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Trigger.Action": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "CrawlState": { + "type": "string" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultRunProperties": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Workflow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionId": { + "type": "string" + }, + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" + } + }, + "required": [ + "ConnectorDefinitionId", + "Connectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CoreDefinitionId": { + "type": "string" + }, + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" + } + }, + "required": [ + "CoreDefinitionId", + "Cores" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InlineRecipe": { + "type": "string" + }, + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::ComponentVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { + "additionalProperties": false, + "properties": { + "DependencyType": { + "type": "string" + }, + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" + }, + "MemorySizeInKB": { + "type": "number" + }, + "MountROSysfs": { + "type": "boolean" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { + "additionalProperties": false, + "properties": { + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" + }, + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InputPayloadEncodingType": { + "type": "string" + }, + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" + }, + "MaxIdleTimeInSeconds": { + "type": "number" + }, + "MaxInstancesCount": { + "type": "number" + }, + "MaxQueueSize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "StatusTimeoutInSeconds": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { + "additionalProperties": false, + "properties": { + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" + }, + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" + }, + "ComponentName": { + "type": "string" + }, + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" + }, + "ComponentVersion": { + "type": "string" + }, + "LambdaArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { + "additionalProperties": false, + "properties": { + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" + }, + "IsolationMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "DestinationPath": { + "type": "string" + }, + "Permission": { + "type": "string" + }, + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigData": { + "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConfigData", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::Config" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { + "additionalProperties": false, + "properties": { + "DecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" + }, + "DemodulationConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" + }, + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaUplinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" + }, + "TargetEirp": { + "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" + }, + "TransmitDisabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.ConfigData": { + "additionalProperties": false, + "properties": { + "AntennaDownlinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" + }, + "AntennaDownlinkDemodDecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" + }, + "AntennaUplinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" + }, + "DataflowEndpointConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" + }, + "S3RecordingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" + }, + "TrackingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" + }, + "UplinkEchoConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DataflowEndpointConfig": { + "additionalProperties": false, + "properties": { + "DataflowEndpointName": { + "type": "string" + }, + "DataflowEndpointRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DecodeConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DemodulationConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Eirp": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Frequency": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.FrequencyBandwidth": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.S3RecordingConfig": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.SpectrumConfig": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" + }, + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.TrackingConfig": { + "additionalProperties": false, + "properties": { + "Autotrack": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkEchoConfig": { + "additionalProperties": false, + "properties": { + "AntennaUplinkConfigArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkSpectrumConfig": { + "additionalProperties": false, + "properties": { + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointDetails": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::DataflowEndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" + }, + "Mtu": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" + }, + "SecurityDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::MissionProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactPostPassDurationSeconds": { + "type": "number" + }, + "ContactPrePassDurationSeconds": { + "type": "number" + }, + "DataflowEdges": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" + }, + "type": "array" + }, + "MinimumViableContactDurationSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrackingConfigArn": { + "type": "string" + } + }, + "required": [ + "DataflowEdges", + "MinimumViableContactDurationSeconds", + "Name", + "TrackingConfigArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::MissionProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::MissionProfile.DataflowEdge": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatIntelSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::AccessKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Group.Policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::Group.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::InstanceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::OIDCProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThumbprintList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ThumbprintList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::OIDCProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssumeRolePolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Role" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::SAMLProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ServerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateBody": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AWSServiceName": { + "type": "string" + }, + "CustomSuffix": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AWSServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServiceLinkedRole" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::UserToGroupAddition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::VirtualMFADevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } + }, + "required": [ + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorized": { + "type": "boolean" + }, + "LatencyMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecordingConfigurationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVS::PlaybackKeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVS::StreamKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ChannelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Component": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Platform", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "ContainerType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ContainerRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Distributions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "ContainerDistributionConfiguration": { + "type": "object" + }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "Name", + "ParentImage", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetName": { + "type": "string" + }, + "ResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Inspector::AssessmentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetArn": { + "type": "string" + }, + "AssessmentTemplateName": { + "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Inspector::ResourceGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupTags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Placement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { + "additionalProperties": false, + "properties": { + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" + } + }, + "type": "object" + }, + "AWS::IoT::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerFunctionArn": { + "type": "string" + }, + "AuthorizerName": { + "type": "string" + }, + "SigningDisabled": { + "type": "boolean" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TokenKeyName": { + "type": "string" + }, + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "AuthorizerFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::CustomMetric": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "MetricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MetricType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::CustomMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Dimension": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StringValues", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Dimension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { + "type": "string" + }, + "DomainConfigurationStatus": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "ServerCertificateArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::DomainConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { + "additionalProperties": false, + "properties": { + "AllowAuthorizerOverride": { + "type": "boolean" + }, + "DefaultAuthorizerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { + "additionalProperties": false, + "properties": { + "ServerCertificateArn": { + "type": "string" + }, + "ServerCertificateStatus": { + "type": "string" + }, + "ServerCertificateStatusDetail": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ActionParams", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::MitigationAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ActionParams": { + "additionalProperties": false, + "properties": { + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" + }, + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" + }, + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" + }, + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" + }, + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" + }, + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { + "additionalProperties": false, + "properties": { + "OverrideDynamicGroups": { + "type": "boolean" + }, + "ThingGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ThingGroupNames" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { + "type": "string" + } + }, + "required": [ + "LogLevel", + "RoleArnForLogging" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { + "additionalProperties": false, + "properties": { + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::ScheduledAudit": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" + }, + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" + }, + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" + }, + "SecurityProfileDescription": { + "type": "string" + }, + "SecurityProfileName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.AlertTarget": { + "additionalProperties": false, + "properties": { + "AlertTargetArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AlertTargetArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.Behavior": { + "additionalProperties": false, + "properties": { + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" + }, + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + }, + "Name": { + "type": "string" + }, + "SuppressAlerts": { + "type": "boolean" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.BehaviorCriteria": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "ConsecutiveDatapointsToAlarm": { + "type": "number" + }, + "ConsecutiveDatapointsToClear": { + "type": "number" + }, + "DurationSeconds": { + "type": "number" + }, + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" + }, + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { + "additionalProperties": false, + "properties": { + "ConfidenceLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricDimension": { + "additionalProperties": false, + "properties": { + "DimensionName": { + "type": "string" + }, + "Operator": { + "type": "string" + } + }, + "required": [ + "DimensionName" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricToRetain": { + "additionalProperties": false, + "properties": { + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + } + }, + "required": [ + "Metric" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricValue": { + "additionalProperties": false, + "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Count": { + "type": "string" + }, + "Number": { + "type": "number" + }, + "Numbers": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Strings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.StatisticalThreshold": { + "additionalProperties": false, + "properties": { + "Statistic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" + }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, + "IotAnalytics": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, + "Kinesis": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { + "type": "string" + } + }, + "required": [ + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchMetricAction": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricTimestamp": { + "type": "string" + }, + "MetricUnit": { + "type": "string" + }, + "MetricValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBAction": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBv2Action": { + "additionalProperties": false, + "properties": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.FirehoseAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "ChannelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ChannelName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KinesisAction": { + "additionalProperties": false, + "properties": { + "PartitionKey": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.PutItemInput": { + "additionalProperties": false, + "properties": { + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.RepublishAction": { + "additionalProperties": false, + "properties": { + "Qos": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "CannedAcl": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SnsAction": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SqsAction": { + "additionalProperties": false, + "properties": { + "QueueUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.StepFunctionsAction": { + "additionalProperties": false, + "properties": { + "ExecutionNamePrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StateMachineName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TopicRulePayload": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" + }, + "AwsIotSqlVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "RuleDisabled": { + "type": "boolean" + }, + "Sql": { + "type": "string" + } + }, + "required": [ + "Actions", + "Sql" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { + "additionalProperties": false, + "properties": { + "ConfirmationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ChannelStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Action": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + }, + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" + } + }, + "required": [ + "ActionName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ContainerAction": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" + }, + "EntryName": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { + "additionalProperties": false, + "properties": { + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTime": { + "additionalProperties": false, + "properties": { + "OffsetSeconds": { + "type": "number" + }, + "TimeExpression": { + "type": "string" + } + }, + "required": [ + "OffsetSeconds", + "TimeExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { + "additionalProperties": false, + "properties": { + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutInMinutes" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Filter": { + "additionalProperties": false, + "properties": { + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRule": { + "additionalProperties": false, + "properties": { + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "RuleConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { + "additionalProperties": false, + "properties": { + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { + "additionalProperties": false, + "properties": { + "FileName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.QueryAction": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "SqlQuery" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { + "additionalProperties": false, + "properties": { + "ComputeType": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "required": [ + "NumberOfDays", + "Unlimited" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Trigger": { + "additionalProperties": false, + "properties": { + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" + }, + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "required": [ + "DatasetName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Variable": { + "additionalProperties": false, + "properties": { + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + }, + "DoubleValue": { + "type": "number" + }, + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + }, + "StringValue": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "VariableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "DatastorePartitions": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" + }, + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + }, + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Datastore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Column": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartition": { + "additionalProperties": false, + "properties": { + "Partition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" + }, + "TimestampPartition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartitions": { + "additionalProperties": false, + "properties": { + "Partitions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { + "additionalProperties": false, + "properties": { + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" + }, + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { + "additionalProperties": false, + "properties": { + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Partition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.TimestampPartition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "TimestampFormat": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineActivities": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + }, + "type": "array" + }, + "PipelineName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineActivities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Activity": { + "additionalProperties": false, + "properties": { + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + }, + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + }, + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" + }, + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.AddAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Channel": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Datastore": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Filter": { + "additionalProperties": false, + "properties": { + "Filter": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Lambda": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "LambdaName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Math": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Math": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + }, + "DetectorModelDescription": { + "type": "string" + }, + "DetectorModelName": { + "type": "string" + }, + "EvaluationMethod": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::DetectorModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Action": { + "additionalProperties": false, + "properties": { + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, + "IotTopicPublish": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ClearTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { + "type": "string" + }, + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" + }, + "type": "array" + } + }, + "required": [ + "InitialStateName", + "States" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Event": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + } + }, + "required": [ + "EventName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotEvents": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "InputName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" + } + }, + "required": [ + "PropertyValue" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "MqttTopic" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + }, + "TransitionEvents": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContentExpression", + "Type" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ResetTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetTimer": { + "additionalProperties": false, + "properties": { + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "Value", + "VariableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sns": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sqs": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "required": [ + "StateName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" + } + }, + "required": [ + "Condition", + "EventName", + "NextState" + ], + "type": "object" + }, + "AWS::IoTEvents::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + }, + "InputDescription": { + "type": "string" + }, + "InputName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InputDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.Attribute": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "required": [ + "Attributes" + ], + "type": "object" + }, + "AWS::IoTFleetHub::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTFleetHub::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" + }, + "AccessPolicyPermission": { + "type": "string" + }, + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" + } + }, + "required": [ + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AccessPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" + }, + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelId", + "AssetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" + }, + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { + "additionalProperties": false, + "properties": { + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "Offset": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardDefinition": { + "type": "string" + }, + "DashboardDescription": { + "type": "string" + }, + "DashboardName": { + "type": "string" + }, + "ProjectId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DashboardDefinition", + "DashboardDescription", + "DashboardName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alarms": { + "type": "object" + }, + "NotificationSenderEmail": { + "type": "string" + }, + "PortalAuthMode": { + "type": "string" + }, + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalContactEmail", + "PortalName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Portal" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PortalId": { + "type": "string" + }, + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalId", + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "ExpressionType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ExpressionType", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::DeviceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { + "additionalProperties": false, + "properties": { + "ClassBTimeout": { + "type": "number" + }, + "ClassCTimeout": { + "type": "number" + }, + "MacVersion": { + "type": "string" + }, + "MaxDutyCycle": { + "type": "number" + }, + "MaxEirp": { + "type": "number" + }, + "PingSlotDr": { + "type": "number" + }, + "PingSlotFreq": { + "type": "number" + }, + "PingSlotPeriod": { + "type": "number" + }, + "RegParamsRevision": { + "type": "string" + }, + "RfRegion": { + "type": "string" + }, + "Supports32BitFCnt": { + "type": "boolean" + }, + "SupportsClassB": { + "type": "boolean" + }, + "SupportsClassC": { + "type": "boolean" + }, + "SupportsJoin": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountLinked": { + "type": "boolean" + }, + "Fingerprint": { + "type": "string" + }, + "PartnerAccountId": { + "type": "string" + }, + "PartnerType": { + "type": "string" + }, + "Sidewalk": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" + }, + "SidewalkUpdate": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::PartnerAccount" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "required": [ + "AppServerPrivateKey" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::ServiceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoCreateTasks": { + "type": "boolean" + }, + "LoRaWANUpdateGatewayTaskEntry": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinitionType": { + "type": "string" + }, + "Update": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" + } + }, + "required": [ + "AutoCreateTasks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { + "additionalProperties": false, + "properties": { + "Model": { + "type": "string" + }, + "PackageVersion": { + "type": "string" + }, + "Station": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "SigKeyCrc": { + "type": "number" + }, + "UpdateSignature": { + "type": "string" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" + }, + "UpdateDataRole": { + "type": "string" + }, + "UpdateDataSource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationName": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessDevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV10x": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV11": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { + "additionalProperties": false, + "properties": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { + "type": "string" + }, + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { + "additionalProperties": false, + "properties": { + "AppEui": { + "type": "string" + }, + "AppKey": { + "type": "string" + } + }, + "required": [ + "AppEui", + "AppKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV11": { + "additionalProperties": false, + "properties": { + "AppKey": { + "type": "string" + }, + "JoinEui": { + "type": "string" + }, + "NwkKey": { + "type": "string" + } + }, + "required": [ + "AppKey", + "JoinEui", + "NwkKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "NwkSKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "NwkSKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "FNwkSIntKey": { + "type": "string" + }, + "NwkSEncKey": { + "type": "string" + }, + "SNwkSIntKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "LoRaWAN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { + "additionalProperties": false, + "properties": { + "GatewayEui": { + "type": "string" + }, + "RfRegion": { + "type": "string" + } + }, + "required": [ + "GatewayEui", + "RfRegion" + ], + "type": "object" + }, + "AWS::KMS::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasName": { + "type": "string" + }, + "TargetKeyId": { + "type": "string" + } + }, + "required": [ + "AliasName", + "TargetKeyId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::Key": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { + "type": "string" + }, + "KeyUsage": { + "type": "string" + }, + "MultiRegion": { + "type": "boolean" + }, + "PendingWindowInDays": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Key" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "IndexId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.AccessControlListConfiguration": { + "additionalProperties": false, + "properties": { + "KeyPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { + "type": "string" + } + }, + "required": [ + "AllowedGroupsColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ColumnConfiguration": { + "additionalProperties": false, + "properties": { + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DocumentDataColumnName": { + "type": "string" + }, + "DocumentIdColumnName": { + "type": "string" + }, + "DocumentTitleColumnName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" + }, + "CrawlAttachments": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { + "additionalProperties": false, + "properties": { + "BlogFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" + }, + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" + }, + "Version": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { + "additionalProperties": false, + "properties": { + "PageFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlArchivedSpaces": { + "type": "boolean" + }, + "CrawlPersonalSpaces": { + "type": "boolean" + }, + "ExcludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpaceFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConnectionConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DatabaseConfiguration": { + "additionalProperties": false, + "properties": { + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + }, + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + }, + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + }, + "DatabaseEngineType": { + "type": "string" + }, + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "S3Prefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { + "additionalProperties": false, + "properties": { + "ExcludeMimeTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeSharedDrives": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeUserAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveConfiguration": { + "additionalProperties": false, + "properties": { + "DisableLocalGroups": { + "type": "boolean" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + }, + "SecretArn": { + "type": "string" + }, + "TenantDomain": { + "type": "string" + } + }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveUsers": { + "additionalProperties": false, + "properties": { + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + }, + "BucketName": { + "type": "string" + }, + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPrefixes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeFilterTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceConfiguration": { + "additionalProperties": false, + "properties": { + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" + }, + "CrawlAttachments": { + "type": "boolean" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" + }, + "StandardObjectConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SecretArn", + "ServerUrl" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CustomKnowledgeArticleTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" + }, + "IncludedStates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" + } + }, + "required": [ + "IncludedStates" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowConfiguration": { + "additionalProperties": false, + "properties": { + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { + "type": "string" + } + }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SharePointConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DisableLocalGroups": { + "type": "boolean" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + }, + "SharePointVersion": { + "type": "string" + }, + "Urls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UseChangeLog": { + "type": "boolean" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SqlConfiguration": { + "additionalProperties": false, + "properties": { + "QueryIdentifiersEnclosingOption": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Faq": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::Index": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Index.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "QueryCapacityUnits": { + "type": "number" + }, + "StorageCapacityUnits": { + "type": "number" + } + }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], + "type": "object" + }, + "AWS::Kendra::Index.DocumentMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" + }, + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "GroupAttributeField": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], + "type": "object" + }, + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "ClaimRegex": { + "type": "string" + }, + "GroupAttributeField": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "KeyLocation": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "URL": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "Freshness": { + "type": "boolean" + }, + "Importance": { + "type": "number" + }, + "RankOrder": { + "type": "string" + }, + "ValueImportanceItems": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.Search": { + "additionalProperties": false, + "properties": { + "Displayable": { + "type": "boolean" + }, + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.UserTokenConfiguration": { + "additionalProperties": false, + "properties": { + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" + }, + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ValueImportanceItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ShardCount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KeyId": { + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationMode": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + }, + "CodeContentType": { + "type": "string" + } + }, + "required": [ + "CodeContent", + "CodeContentType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + }, + "ZeppelinApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { + "additionalProperties": false, + "properties": { + "SnapshotsEnabled": { + "type": "boolean" + } + }, + "required": [ + "SnapshotsEnabled" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { + "additionalProperties": false, + "properties": { + "GlueDataCatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointInterval": { + "type": "number" + }, + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CodeContent": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { + "type": "string" + }, + "ZipFileContent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactType": { + "type": "string" + }, + "MavenReference": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" + }, + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + } + }, + "required": [ + "ArtifactType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" + } + }, + "required": [ + "S3ContentLocation" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { + "additionalProperties": false, + "properties": { + "PropertyGroups": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" + }, + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MavenReference": { + "additionalProperties": false, + "properties": { + "ArtifactId": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ArtifactId", + "GroupId", + "Version" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "MetricsLevel": { + "type": "string" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "Parallelism": { + "type": "number" + }, + "ParallelismPerKPU": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "additionalProperties": false, + "properties": { + "PropertyGroupId": { + "type": "string" + }, + "PropertyMap": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "BucketARN": { + "type": "string" + } + }, + "required": [ + "BasePath", + "BucketARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" + }, + "CustomArtifactsConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" + }, + "DeployAsApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "LogStreamARN": { + "type": "string" + } + }, + "required": [ + "LogStreamARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, + "DeliveryStreamName": { + "type": "string" + }, + "DeliveryStreamType": { + "type": "string" + }, + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" + }, + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" + }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" + }, + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisFirehose::DeliveryStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "additionalProperties": false, + "properties": { + "CopyOptions": { + "type": "string" + }, + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" + } + }, + "required": [ + "DataTableName" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + }, + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + }, + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "additionalProperties": false, + "properties": { + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + }, + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "type": "string" + }, + "DomainARN": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "IndexRotationPeriod": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "TypeName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" + } + }, + "required": [ + "IndexName", + "RoleARN", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "additionalProperties": false, + "properties": { + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "additionalProperties": false, + "properties": { + "AWSKMSKeyARN": { + "type": "string" + } + }, + "required": [ + "AWSKMSKeyARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "KinesisStreamARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "additionalProperties": false, + "properties": { + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "BloomFilterColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BloomFilterFalsePositiveProbability": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { + "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "EnableDictionaryCompression": { + "type": "boolean" + }, + "MaxPaddingBytes": { + "type": "number" + }, + "PageSizeBytes": { + "type": "number" + }, + "WriterVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Processors": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Processor": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterJDBCURL": { + "type": "string" + }, + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { + "type": "number" + }, + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { + "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::DataLakeSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsWithGrantOption": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" + } + }, + "required": [ + "DataLakePrincipal", + "Resource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Permissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.Resource": { + "additionalProperties": false, + "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, + "DatabaseResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" + }, + "TableResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseServiceLinkedRole": { + "type": "boolean" + } + }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" + } + }, + "required": [ + "FunctionName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" + }, + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AllowedPublishers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::CodeSigningConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + }, + "FunctionName": { + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "Qualifier": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventInvokeConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionResponseTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "StartingPositionTimestamp": { + "type": "number" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventSourceMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" + } + }, + "required": [ + "Code", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Function.Code": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, + "AWS::Lambda::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion.Content": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersionPermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "LayerVersionArn": { + "type": "string" + }, + "OrganizationId": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Action", + "LayerVersionArn", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersionPermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Permission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "EventSourceToken": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "Action", + "FunctionName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { + "type": "string" + }, + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::Grant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LicenseManager::License": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Beneficiary": { + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "type": "array" + }, + "HomeRegion": { + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "type": "array" + }, + "LicenseName": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProductSKU": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" + } + }, + "required": [ + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Overage": { + "type": "boolean" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SignKey": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "type": "string" + }, + "End": { + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + } + }, + "required": [ + "CollectionName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" + }, + "Description": { + "type": "string" + }, + "MapName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "Configuration", + "MapName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Map" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "DataSource", + "IndexName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::PlaceIndex" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CalculatorName": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "CalculatorName", + "DataSource", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::RouteCalculator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Tracker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "PricingPlan", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Tracker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::TrackerConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerArn": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "ConsumerArn", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::TrackerConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationName": { + "type": "string" + }, + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::LogGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RetentionInDays": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Logs::LogStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MetricTransformations": { + "items": { + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + }, + "type": "array" + } + }, + "required": [ + "FilterPattern", + "LogGroupName", + "MetricTransformations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::MetricFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter.MetricTransformation": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricValue": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], + "type": "object" + }, + "AWS::Logs::QueryDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "required": [ + "Name", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::QueryDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::SubscriptionFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { + "type": "object" + }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, + "AlertDescription": { + "type": "string" + }, + "AlertName": { + "type": "string" + }, + "AlertSensitivityThreshold": { + "type": "number" + }, + "AnomalyDetectorArn": { + "type": "string" + } + }, + "required": [ + "Action", + "AlertSensitivityThreshold", + "AnomalyDetectorArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::Alert" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" + }, + "AnomalyDetectorDescription": { + "type": "string" + }, + "AnomalyDetectorName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MetricSetList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" + }, + "type": "array" + } + }, + "required": [ + "AnomalyDetectorConfig", + "MetricSetList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { + "additionalProperties": false, + "properties": { + "FlowName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FlowName", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "FileCompression": { + "type": "string" + }, + "HeaderList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { + "additionalProperties": false, + "properties": { + "CsvFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" + }, + "JsonFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "FileCompression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.Metric": { + "additionalProperties": false, + "properties": { + "AggregationFunction": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "AggregationFunction", + "MetricName" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { + "additionalProperties": false, + "properties": { + "DimensionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" + }, + "type": "array" + }, + "MetricSetDescription": { + "type": "string" + }, + "MetricSetFrequency": { + "type": "string" + }, + "MetricSetName": { + "type": "string" + }, + "MetricSource": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" + }, + "Offset": { + "type": "number" + }, + "TimestampColumn": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "MetricList", + "MetricSetName", + "MetricSource" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { + "additionalProperties": false, + "properties": { + "AppFlowConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" + }, + "CloudwatchConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" + }, + "RDSSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" + }, + "RedshiftSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" + }, + "S3SourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { + "additionalProperties": false, + "properties": { + "DBInstanceIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "DBInstanceIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { + "additionalProperties": false, + "properties": { + "ClusterIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "ClusterIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { + "additionalProperties": false, + "properties": { + "FileFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" + }, + "HistoricalDataPathList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TemplatedPathList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FileFormatDescriptor", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { + "additionalProperties": false, + "properties": { + "ColumnFormat": { + "type": "string" + }, + "ColumnName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIdList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIdList", + "SubnetIdList" + ], + "type": "object" + }, + "AWS::LookoutVision::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutVision::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" + }, + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { + "type": "string" + }, + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { + "type": "string" + }, + "KafkaVersion": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MSK::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.BrokerNodeGroupInfo": { + "additionalProperties": false, + "properties": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ConfigurationInfo": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Iam": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.JmxExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, + "AWS::MSK::Cluster.NodeExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Sasl": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::MSK::Cluster.Iam" + }, + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AirflowConfigurationOptions": { + "type": "object" + }, + "AirflowVersion": { + "type": "string" + }, + "DagS3Path": { + "type": "string" + }, + "EnvironmentClass": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" + }, + "MaxWorkers": { + "type": "number" + }, + "MinWorkers": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { + "type": "string" + }, + "PluginsS3Path": { + "type": "string" + }, + "RequirementsS3ObjectVersion": { + "type": "string" + }, + "RequirementsS3Path": { + "type": "string" + }, + "Schedulers": { + "type": "number" + }, + "SourceBucketArn": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" + }, + "WebserverAccessMode": { + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MWAA::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InvitationId": { + "type": "string" + }, + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" + }, + "NetworkId": { + "type": "string" + } + }, + "required": [ + "MemberConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MemberId": { + "type": "string" + }, + "NetworkId": { + "type": "string" + }, + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + } + }, + "required": [ + "NetworkId", + "NodeConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Node" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" + }, + "EntitlementStatus": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Description", + "FlowArn", + "Name", + "Subscribers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowEntitlement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Destination": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" + }, + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "required": [ + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowVpcInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowVpcInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::JobTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Preset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Preset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" + }, + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" + }, + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel.AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Ac3Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveCdnSettings": { + "additionalProperties": false, + "properties": { + "ArchiveS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AribDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" + }, + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" + }, + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" + }, + "type": "array" + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailSettings": { + "additionalProperties": false, + "properties": { + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDescription": { + "additionalProperties": false, + "properties": { + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "LeftOffset": { + "type": "number" + }, + "TopOffset": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "CopyrightHolder": { + "type": "string" + }, + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" + }, + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" + }, + "type": "array" + }, + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "number" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FrameCaptureCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "number" + }, + "CaptureIntervalUnits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "number" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufFillPct": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "FrameCaptureHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "OutputRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" + }, + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::GlobalNetwork": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::NetworkManager::Link": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::TransitGatewayRegistration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchProfileProtocolVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "StreamConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" + }, + "StudioComponentIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2SubnetIds", + "LaunchProfileProtocolVersions", + "Name", + "StreamConfiguration", + "StudioComponentIds", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::LaunchProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "ClipboardMode": { + "type": "string" + }, + "Ec2InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionLengthInMinutes": { + "type": "number" + }, + "StreamingImageIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClipboardMode", + "Ec2InstanceTypes", + "StreamingImageIds" + ], + "type": "object" + }, + "AWS::NimbleStudio::StreamingImage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2ImageId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2ImageId", + "Name", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StreamingImage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdminRoleArn": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "StudioEncryptionConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" + }, + "StudioName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UserRoleArn": { + "type": "string" + } + }, + "required": [ + "AdminRoleArn", + "DisplayName", + "StudioName", + "UserRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" + }, + "Description": { + "type": "string" + }, + "Ec2SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InitializationScripts": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScriptParameters": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Subtype": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StudioId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StudioComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "ComputerAttributes": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" + }, + "type": "array" + }, + "DirectoryId": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryUser": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "LinuxMountPoint": { + "type": "string" + }, + "ShareName": { + "type": "string" + }, + "WindowsMountDrive": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" + }, + "ComputeFarmConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" + }, + "LicenseServiceConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" + }, + "SharedFileSystemConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { + "additionalProperties": false, + "properties": { + "LaunchProfileProtocolVersion": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "RunContext": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::BaiduChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "FromAddress": { + "type": "string" + }, + "HtmlBody": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + }, + "FilterType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "EntityId": { + "type": "string" + }, + "MessageType": { + "type": "string" + }, + "OriginationNumber": { + "type": "string" + }, + "SenderId": { + "type": "string" + }, + "TemplateId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + }, + "Metrics": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageSmallIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "JsonBody": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "RawContent": { + "type": "string" + }, + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { + "type": "number" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MessageConfiguration": { + "additionalProperties": false, + "properties": { + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MetricDimension": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" + }, + "Frequency": { + "type": "string" + }, + "IsLocalTime": { + "type": "boolean" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + }, + "StartTime": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { + "additionalProperties": false, + "properties": { + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::EmailChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EmailTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EventStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::GCMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ADM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "APNS": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + }, + "Baidu": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Default": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "GCM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "SmallImageIconUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::SMSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Behavior": { + "additionalProperties": false, + "properties": { + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "type": "number" + }, + "Longitude": { + "type": "number" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Demographic": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.GPSPoint": { + "additionalProperties": false, + "properties": { + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + }, + "RangeInKilometers": { + "type": "number" + } + }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Groups": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" + }, + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Location": { + "additionalProperties": false, + "properties": { + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Recency": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "RecencyType": { + "type": "string" + } + }, + "required": [ + "Duration", + "RecencyType" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentGroups": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SourceSegments": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::Pinpoint::SmsTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::VoiceChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "additionalProperties": false, + "properties": { + "SendingPoolName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" + }, + "EventDestinationName": { + "type": "string" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::DedicatedIpPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DkimSigningEnabled": { + "type": "boolean" + }, + "FeedbackForwardingEnabled": { + "type": "boolean" + }, + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::Identity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::Identity.MailFromAttributes": { + "additionalProperties": false, + "properties": { + "BehaviorOnMxFailure": { + "type": "string" + }, + "MailFromDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionsMode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PermissionsMode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Ledger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalysisId": { + "type": "string" + }, + "AwsAccountId": { + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + } + }, + "required": [ + "AnalysisId", + "AwsAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Analysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisError": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Sheet": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SheetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DashboardId": { + "type": "string" + }, + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "DashboardId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { + "additionalProperties": false, + "properties": { + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" + }, + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" + }, + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.ExportToCSVOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetControlsOption": { + "additionalProperties": false, + "properties": { + "VisibilityState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "ColumnGroups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" + }, + "type": "array" + }, + "ColumnLevelPermissionRules": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" + }, + "type": "array" + }, + "DataSetId": { + "type": "string" + }, + "FieldFolders": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" + } + }, + "type": "object" + }, + "ImportMode": { + "type": "string" + }, + "IngestionWaitPolicy": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" + }, + "LogicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" + }, + "type": "array" + }, + "PhysicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" + } + }, + "type": "object" + }, + "RowLevelPermissionDataSet": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CalculatedColumn": { + "additionalProperties": false, + "properties": { + "ColumnId": { + "type": "string" + }, + "ColumnName": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "ColumnId", + "ColumnName", + "Expression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CastColumnTypeOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "NewColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnType" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnDescription": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnGroup": { + "additionalProperties": false, + "properties": { + "GeoSpatialColumnGroup": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnTag": { + "additionalProperties": false, + "properties": { + "ColumnDescription": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" + }, + "ColumnGeographicRole": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.CreateColumnsOperation": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" + }, + "type": "array" + } + }, + "required": [ + "Columns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CustomSql": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "DataSourceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "Columns", + "DataSourceArn", + "Name", + "SqlQuery" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.FieldFolder": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.FilterOperation": { + "additionalProperties": false, + "properties": { + "ConditionExpression": { + "type": "string" + } + }, + "required": [ + "ConditionExpression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CountryCode": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Columns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.IngestionWaitPolicy": { + "additionalProperties": false, + "properties": { + "IngestionWaitTimeInHours": { + "type": "number" + }, + "WaitForSpiceIngestion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.InputColumn": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinInstruction": { + "additionalProperties": false, + "properties": { + "LeftJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "LeftOperand": { + "type": "string" + }, + "OnClause": { + "type": "string" + }, + "RightJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "RightOperand": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "LeftOperand", + "OnClause", + "RightOperand", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinKeyProperties": { + "additionalProperties": false, + "properties": { + "UniqueKey": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTable": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DataTransforms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" + }, + "type": "array" + }, + "Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" + } + }, + "required": [ + "Alias", + "Source" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTableSource": { + "additionalProperties": false, + "properties": { + "JoinInstruction": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" + }, + "PhysicalTableId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.OutputColumn": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.PhysicalTable": { + "additionalProperties": false, + "properties": { + "CustomSql": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" + }, + "RelationalTable": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" + }, + "S3Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ProjectOperation": { + "additionalProperties": false, + "properties": { + "ProjectedColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ProjectedColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RelationalTable": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "DataSourceArn", + "InputColumns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RenameColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "NewColumnName": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnName" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FormatVersion": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "PermissionPolicy": { + "type": "string" + } + }, + "required": [ + "Arn", + "PermissionPolicy" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.S3Source": { + "additionalProperties": false, + "properties": { + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "UploadSettings": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" + } + }, + "required": [ + "DataSourceArn", + "InputColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TagColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" + }, + "type": "array" + } + }, + "required": [ + "ColumnName", + "Tags" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TransformOperation": { + "additionalProperties": false, + "properties": { + "CastColumnTypeOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" + }, + "CreateColumnsOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" + }, + "FilterOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" + }, + "ProjectOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" + }, + "RenameColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" + }, + "TagColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.UploadSettings": { + "additionalProperties": false, + "properties": { + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "StartFromRow": { + "type": "number" + }, + "TextQualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "AwsAccountId": { + "type": "string" + }, + "Credentials": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" + }, + "DataSourceId": { + "type": "string" + }, + "DataSourceParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "ErrorInfo": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" + }, + "type": "array" + }, + "SslProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "VpcConnectionProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + } + }, + "required": [ + "Domain" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AthenaParameters": { + "additionalProperties": false, + "properties": { + "WorkGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.CredentialPair": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceCredentials": { + "additionalProperties": false, + "properties": { + "CopySourceArn": { + "type": "string" + }, + "CredentialPair": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceErrorInfo": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceParameters": { + "additionalProperties": false, + "properties": { + "AmazonElasticsearchParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" + }, + "AthenaParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" + }, + "AuroraParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" + }, + "AuroraPostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" + }, + "MariaDbParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" + }, + "MySqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" + }, + "OracleParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" + }, + "PostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" + }, + "PrestoParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" + }, + "RdsParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" + }, + "RedshiftParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" + }, + "S3Parameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" + }, + "SnowflakeParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" + }, + "SparkParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" + }, + "SqlServerParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" + }, + "TeradataParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.ManifestFileLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MariaDbParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MySqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.OracleParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PrestoParameters": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Catalog", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RdsParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "InstanceId": { + "type": "string" + } + }, + "required": [ + "Database", + "InstanceId" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RedshiftParameters": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.S3Parameters": { + "additionalProperties": false, + "properties": { + "ManifestFileLocation": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" + } + }, + "required": [ + "ManifestFileLocation" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SnowflakeParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "Database", + "Host", + "Warehouse" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SparkParameters": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SqlServerParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SslProperties": { + "additionalProperties": false, + "properties": { + "DisableSsl": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.TeradataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.VpcConnectionProperties": { + "additionalProperties": false, + "properties": { + "VpcConnectionArn": { + "type": "string" + } + }, + "required": [ + "VpcConnectionArn" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "TemplateId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Template.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "BaseThemeId": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "ThemeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Theme" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.BorderStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmptyFillColor": { + "type": "string" + }, + "MinMaxGradient": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.SheetStyle": { + "additionalProperties": false, + "properties": { + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.UIColorPalette": { + "additionalProperties": false, + "properties": { + "Accent": { + "type": "string" + }, + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BacktrackWindow": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSourceIdentifier": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "string" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "type": "number" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { + "type": "string" + }, + "IdleClientTimeout": { + "type": "number" + }, + "RequireTLS": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy.AuthFormat": { + "additionalProperties": false, + "properties": { + "AuthScheme": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBProxyEndpointName": { + "type": "string" + }, + "DBProxyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" + }, + "type": "array" + }, + "TargetRole": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBProxyEndpointName", + "DBProxyName", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" + }, + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "TargetGroupName": { + "type": "string" + } + }, + "required": [ + "DBProxyName", + "TargetGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" + }, + "EC2VpcId": { + "type": "string" + }, + "GroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSecurityGroupIngress", + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "DBSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::GlobalCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EngineName": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "OptionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" + }, + "type": "array" + }, + "OptionGroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::OptionGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionConfiguration": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OptionName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "type": "array" + }, + "OptionVersion": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OptionName" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionSetting": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "ClusterParameterGroupName": { + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::Cluster.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupFamily": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "ParameterGroupFamily" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "ClusterSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "ClusterSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationItem": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RoboMaker::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RoboMaker::Robot": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Fleet": { + "type": "string" + }, + "GreengrassGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::DNSSEC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckConfig": { + "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" + } + }, + "required": [ + "HealthCheckConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HealthCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + }, + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HostedZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.QueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "type": "string" + }, + "VPCRegion": { + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::RecoveryGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceSetName": { + "type": "string" + }, + "ResourceSetType": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceSetName", + "ResourceSetType", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ResourceSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneArn": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + }, + "RecordType": { + "type": "string" + }, + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "additionalProperties": false, + "properties": { + "ComponentId": { + "type": "string" + }, + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" + }, + "ReadinessScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" + }, + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" + } + }, + "type": "object" + }, + "AWS::Route53Resolver::FirewallDomainList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainFileUrl": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallDomainList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRules": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "BlockOverrideDnsType": { + "type": "string" + }, + "BlockOverrideDomain": { + "type": "string" + }, + "BlockOverrideTtl": { + "type": "number" + }, + "BlockResponse": { + "type": "string" + }, + "FirewallDomainListId": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Action", + "FirewallDomainListId", + "Priority" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRuleGroupId": { + "type": "string" + }, + "MutationProtection": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallRuleGroupId", + "Priority", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResolverEndpointId": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RuleType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { + "type": "string" + } + }, + "required": [ + "ResolverRuleId", + "VPCId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRuleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "PolicyStatus": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + }, + "AccessControl": { + "type": "string" + }, + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "type": "array" + }, + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" + }, + "BucketName": { + "type": "string" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + }, + "ObjectLockEnabled": { + "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MaxAge": { + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "OutputSchemaVersion": { + "type": "string" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::Bucket.DefaultRetention": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Status", + "Tierings" + ], + "type": "object" + }, + "AWS::S3::Bucket.InventoryConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3::Bucket.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" + }, + "LogFilePrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.MetricsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::S3::Bucket.NoncurrentVersionTransition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass", + "TransitionInDays" + ], + "type": "object" + }, + "AWS::S3::Bucket.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" + }, + "QueueConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockConfiguration": { + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControlsRule": { + "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "Event", + "Queue" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectAllRequestsTo": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "HostName" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectRule": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "HttpRedirectCode": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Role", + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" + }, + "Account": { + "type": "string" + }, + "Bucket": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRule": { + "additionalProperties": false, + "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Destination", + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRule": { + "additionalProperties": false, + "properties": { + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + }, + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + } + }, + "required": [ + "RedirectRule" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRuleCondition": { + "additionalProperties": false, + "properties": { + "HttpErrorCodeReturnedEquals": { + "type": "string" + }, + "KeyPrefixEquals": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "ExpiredObjectDeleteMarker": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.S3KeyFilter": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyID": { + "type": "string" + }, + "SSEAlgorithm": { + "type": "string" + } + }, + "required": [ + "SSEAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionRule": { + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SourceSelectionCriteria": { + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.StorageClassAnalysis": { + "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.Tiering": { + "additionalProperties": false, + "properties": { + "AccessTier": { + "type": "string" + }, + "Days": { + "type": "number" + } + }, + "required": [ + "AccessTier", + "Days" + ], + "type": "object" + }, + "AWS::S3::Bucket.TopicConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "Event", + "Topic" + ], + "type": "object" + }, + "AWS::S3::Bucket.Transition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionDate": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass" + ], + "type": "object" + }, + "AWS::S3::Bucket.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.WebsiteConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "type": "string" + }, + "IndexDocument": { + "type": "string" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + }, + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StorageLensConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLens" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens.AccountLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" + } + }, + "required": [ + "BucketLevel" + ], + "type": "object" + }, + "AWS::S3::StorageLens.ActivityMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AwsOrg": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::S3::StorageLens.BucketLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.BucketsAndRegions": { + "additionalProperties": false, + "properties": { + "Buckets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" + } + }, + "required": [ + "S3BucketDestination" + ], + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { + "additionalProperties": false, + "properties": { + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" + } + }, + "required": [ + "StorageMetrics" + ], + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + }, + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.S3BucketDestination": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" + }, + "Format": { + "type": "string" + }, + "OutputSchemaVersion": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::StorageLens.SelectionCriteria": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "MaxDepth": { + "type": "number" + }, + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" + }, + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" + }, + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { + "type": "string" + }, + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { + "type": "boolean" + }, + "StorageLensArn": { + "type": "string" + } + }, + "required": [ + "AccountLevel", + "Id", + "IsEnabled" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectLambdaConfiguration": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedFeatures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "SupportingAccessPoint": { + "type": "string" + }, + "TransformationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SupportingAccessPoint", + "TransformationConfigurations" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentTransformation": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPointPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ObjectLambdaAccessPoint": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "ObjectLambdaAccessPoint", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket", + "Name", + "VpcConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" + }, + "OutpostId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BucketName", + "OutpostId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, + "OutpostId": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "OutpostId", + "SecurityGroupId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::SDB::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SDB::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamARN": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamARN", + "IAMRoleARN" + ], + "type": "object" + }, + "AWS::SES::ContactList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactListName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Topics": { + "items": { + "$ref": "#/definitions/AWS::SES::ContactList.Topic" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ContactList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ContactList.Topic": { + "additionalProperties": false, + "properties": { + "DefaultSubscriptionStatus": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "TopicName": { + "type": "string" + } + }, + "required": [ + "DefaultSubscriptionStatus", + "DisplayName", + "TopicName" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + } + }, + "required": [ + "Filter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.Filter": { + "additionalProperties": false, + "properties": { + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "IpFilter" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Policy": { + "type": "string" + } + }, + "required": [ + "Cidr", + "Policy" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "After": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "Rule", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Action": { + "additionalProperties": false, + "properties": { + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" + }, + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.BounceAction": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Sender": { + "type": "string" + }, + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Message", + "Sender", + "SmtpReplyCode" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleSetName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template.Template": { + "additionalProperties": false, + "properties": { + "HtmlPart": { + "type": "string" + }, + "SubjectPart": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SNS::Subscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { + "type": "string" + }, + "FilterPolicy": { + "type": "object" + }, + "Protocol": { + "type": "string" + }, + "RawMessageDelivery": { + "type": "boolean" + }, + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Protocol", + "TopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SNS::Topic": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DisplayName": { + "type": "string" + }, + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Topic" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Topics" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::TopicPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SQS::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DeduplicationScope": { + "type": "string" + }, + "DelaySeconds": { + "type": "number" + }, + "FifoQueue": { + "type": "boolean" + }, + "FifoThroughputLimit": { + "type": "string" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "number" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "MaximumMessageSize": { + "type": "number" + }, + "MessageRetentionPeriod": { + "type": "number" + }, + "QueueName": { + "type": "string" + }, + "ReceiveMessageWaitTimeSeconds": { + "type": "number" + }, + "RedrivePolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SQS::QueuePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { + "type": "string" + }, + "AutomationTargetParameterName": { + "type": "string" + }, + "CalendarNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ComplianceSeverity": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "ScheduleExpression": { + "type": "string" + }, + "SyncCompliance": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Association" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "additionalProperties": false, + "properties": { + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "OutputS3Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::Document": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attachments": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" + }, + "type": "array" + }, + "Content": { + "type": "object" + }, + "DocumentFormat": { + "type": "string" + }, + "DocumentType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Requires": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "VersionName": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Document" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Document.AttachmentsSource": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Document.DocumentRequires": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Duration": { + "type": "number" + }, + "EndDate": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "type": "array" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget.Targets": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + }, + "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "Priority", + "TaskArn", + "TaskType", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "type": "string" + }, + "NotificationEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NotificationType": { + "type": "string" + } + }, + "required": [ + "NotificationArn" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policies": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Parameter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchSource": { + "additionalProperties": false, + "properties": { + "Configuration": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SSM::PatchBaseline.Rule": { + "additionalProperties": false, + "properties": { + "ApproveAfterDays": { + "type": "number" + }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, + "ComplianceLevel": { + "type": "string" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::ResourceDataSync": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "SyncName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { + "additionalProperties": false, + "properties": { + "OrganizationSourceType": { + "type": "string" + }, + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OrganizationSourceType" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.S3Destination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketRegion", + "SyncFormat" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.SyncSource": { + "additionalProperties": false, + "properties": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceRegions", + "SourceType" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "Plan": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Alias", + "DisplayName", + "Plan", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::Contact" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Stage": { + "additionalProperties": false, + "properties": { + "DurationInMinutes": { + "type": "number" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" + }, + "type": "array" + } + }, + "required": [ + "DurationInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Targets": { + "additionalProperties": false, + "properties": { + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" + }, + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" + } + }, + "type": "object" + }, + "AWS::SSMContacts::ContactChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelAddress": { + "type": "string" + }, + "ChannelName": { + "type": "string" + }, + "ChannelType": { + "type": "string" + }, + "ContactId": { + "type": "string" + }, + "DeferActivation": { + "type": "boolean" + } + }, + "required": [ + "ChannelAddress", + "ChannelName", + "ChannelType", + "ContactId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::ContactChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtected": { + "type": "boolean" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ReplicationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { + "additionalProperties": false, + "properties": { + "SseKmsKeyId": { + "type": "string" + } + }, + "required": [ + "SseKmsKeyId" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "additionalProperties": false, + "properties": { + "RegionConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" + }, + "type": "array" + }, + "ChatChannel": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" + }, + "DisplayName": { + "type": "string" + }, + "Engagements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncidentTemplate": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IncidentTemplate", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ResponsePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.Action": { + "additionalProperties": false, + "properties": { + "SsmAutomation": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "additionalProperties": false, + "properties": { + "ChatbotSns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { + "additionalProperties": false, + "properties": { + "DedupeString": { + "type": "string" + }, + "Impact": { + "type": "number" + }, + "NotificationTargets": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + }, + "type": "array" + }, + "Summary": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Impact", + "Title" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { + "additionalProperties": false, + "properties": { + "SnsTopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { + "additionalProperties": false, + "properties": { + "DocumentName": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TargetAccount": { + "type": "string" + } + }, + "required": [ + "DocumentName", + "RoleArn" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSO::Assignment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "type": "string" + }, + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Assignment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "type": "array" + }, + "InstanceArn": { + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "additionalProperties": false, + "properties": { + "Source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InlinePolicy": { + "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::PermissionSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppName": { + "type": "string" + }, + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + } + }, + "required": [ + "AppName", + "AppType", + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppImageConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AppImageConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "type": "number" + }, + "DefaultUid": { + "type": "number" + }, + "MountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeRepositoryName": { + "type": "string" + }, + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GitConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::CodeRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository.GitConfig": { + "additionalProperties": false, + "properties": { + "Branch": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "object" + }, + "DeviceFleetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Device.Device": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceName": { + "type": "string" + }, + "IotThingName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceFleetName": { + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DeviceFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "type": "string" + }, + "AuthMode": { + "type": "string" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProductionVariants" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::EndpointConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "additionalProperties": false, + "properties": { + "AcceleratorType": { + "type": "string" + }, + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventTimeFeatureName": { + "type": "string" + }, + "FeatureDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" + }, + "type": "array" + }, + "FeatureGroupName": { + "type": "string" + }, + "OfflineStoreConfig": { + "type": "object" + }, + "OnlineStoreConfig": { + "type": "object" + }, + "RecordIdentifierFeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::FeatureGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "FeatureType": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "FeatureType" + ], + "type": "object" + }, + "AWS::SageMaker::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "type": "string" + }, + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ImageVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BaseImage": { + "type": "string" + }, + "ImageName": { + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + } + }, + "required": [ + "ExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "type": "string" + }, + "Environment": { + "type": "object" + }, + "Image": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { + "type": "string" + }, + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + }, + "RepositoryAuthConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.RepositoryAuthConfig": { + "additionalProperties": false, + "properties": { + "RepositoryCredentialsProviderArn": { + "type": "string" + } + }, + "required": [ + "RepositoryCredentialsProviderArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" + }, + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" + }, + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" + }, + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" + }, + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelBiasJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackageGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModelPackageGroupDescription": { + "type": "string" + }, + "ModelPackageGroupName": { + "type": "string" + }, + "ModelPackageGroupPolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ModelPackageGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelPackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" + }, + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" + }, + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" + }, + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" + }, + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "ProblemType": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri", + "ProblemType" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "MonitoringJobDefinitionName": { + "type": "string" + }, + "MonitoringType": { + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalCodeRepositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultCodeRepository": { + "type": "string" + }, + "DirectInternetAccess": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecycleConfigName": { + "type": "string" + }, + "NotebookInstanceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RootAccess": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotebookInstanceLifecycleConfigName": { + "type": "string" + }, + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + }, + "OnStart": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstanceLifecycleConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineDefinition": { + "type": "object" + }, + "PipelineDescription": { + "type": "string" + }, + "PipelineDisplayName": { + "type": "string" + }, + "PipelineName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineDefinition", + "PipelineName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "ServiceCatalogProvisioningDetails": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProjectName", + "ServiceCatalogProvisioningDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainId": { + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "type": "string" + }, + "SingleSignOnUserValue": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" + } + }, + "required": [ + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Workteam": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BlockPublicPolicy": { + "type": "boolean" + }, + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Hub" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PathId": { + "type": "string" + }, + "PathName": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProvisionedProductName": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ProvisioningArtifactName": { + "type": "string" + }, + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { + "additionalProperties": false, + "properties": { + "StackSetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackSetFailureToleranceCount": { + "type": "number" + }, + "StackSetFailureTolerancePercentage": { + "type": "number" + }, + "StackSetMaxConcurrencyCount": { + "type": "number" + }, + "StackSetMaxConcurrencyPercentage": { + "type": "number" + }, + "StackSetOperationType": { + "type": "string" + }, + "StackSetRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + } + }, + "required": [ + "NotificationArns", + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchNotificationConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchRoleConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalRoleName": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchRoleConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchTemplateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchTemplateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::Portfolio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DisplayName", + "ProviderName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::Portfolio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "PrincipalARN": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "PrincipalARN", + "PrincipalType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioProductAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioProductAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountId": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" + } + }, + "required": [ + "AccountId", + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "TagUpdateOnProvisionedProduct": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ResourceUpdateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Definition": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" + }, + "type": "array" + }, + "DefinitionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceActionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProductId": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ServiceActionId": { + "type": "string" + } + }, + "required": [ + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceActionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::StackSetConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ExecutionRole": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackInstanceControl": { + "type": "string" + } + }, + "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", + "PortfolioId", + "ProductId", + "RegionList", + "StackInstanceControl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::StackSetConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Active": { + "type": "boolean" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOptionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + }, + "TagOptionId": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "TagOptionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOptionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Attributes", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "AttributeGroup": { + "type": "string" + } + }, + "required": [ + "Application", + "AttributeGroup" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "Application", + "Resource", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::HttpNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::HttpNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { + "type": "string" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "InstanceAttributes", + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Vpc": { + "type": "string" + } + }, + "required": [ + "Name", + "Vpc" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PrivateDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PublicDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, + "Name": { + "type": "string" + }, + "NamespaceId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "Action", + "Principal", + "ProfileName", + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::ProfilePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PlatformId": { + "type": "string" + }, + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PlatformId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::SigningProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::StepFunctions::Activity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::Activity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::Activity.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, + "DefinitionString": { + "type": "string" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + }, + "StateMachineType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" + }, + "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.Definition": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + }, + "VisualReference": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.BaseScreenshot": { + "additionalProperties": false, + "properties": { + "IgnoreCoordinates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScreenshotName": { + "type": "string" + } + }, + "required": [ + "ScreenshotName" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "required": [ + "Handler" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "ActiveTracing": { + "type": "boolean" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MemoryInMB": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VisualReference": { + "additionalProperties": false, + "properties": { + "BaseCanaryRunId": { + "type": "string" + }, + "BaseScreenshots": { + "items": { + "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" + }, + "type": "array" + } + }, + "required": [ + "BaseCanaryRunId" + ], + "type": "object" + }, + "AWS::Timestream::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Timestream::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "RetentionProperties": { + "type": "object" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Domain": { + "type": "string" + }, + "EndpointDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" + }, + "EndpointType": { + "type": "string" + }, + "IdentityProviderDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" + }, + "IdentityProviderType": { + "type": "string" + }, + "LoggingRole": { + "type": "string" + }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, + "SecurityPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Transfer::Server.EndpointDetails": { + "additionalProperties": false, + "properties": { + "AddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.IdentityProviderDetails": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + }, + "InvocationRole": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HomeDirectory": { + "type": "string" + }, + "HomeDirectoryMappings": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" + }, + "type": "array" + }, + "HomeDirectoryType": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, + "Role": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "SshPublicKeys": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Role", + "ServerId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::User.HomeDirectoryMapEntry": { + "additionalProperties": false, + "properties": { + "Entry": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Entry", + "Target" + ], + "type": "object" + }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::Transfer::User.SshPublicKey": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::WAF::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAF::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAF::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SizeConstraints" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::WebACL.ActivatedRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAF::WebACL.WafAction": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name", + "XssMatchTuples" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GeoMatchConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::GeoMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MatchPredicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RateKey": { + "type": "string" + }, + "RateLimit": { + "type": "number" + } + }, + "required": [ + "MetricName", + "Name", + "RateKey", + "RateLimit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RateBasedRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RegexPatternStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "RegexPatternStrings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Action": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Action", + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFv2::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "IPAddressVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Addresses", + "IPAddressVersion", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RegularExpressionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RegularExpressionList", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Capacity", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelSummary": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "type": "object" + }, + "Block": { + "type": "object" + }, + "Count": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" + } + }, + "type": "object" + }, + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "DefaultAction", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.AllowAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.BlockAction": { + "additionalProperties": false, + "properties": { + "CustomResponse": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CountAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomHTTPHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomRequestHandling": { + "additionalProperties": false, + "properties": { + "InsertHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "InsertHeaders" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponse": { + "additionalProperties": false, + "properties": { + "CustomResponseBodyKey": { + "type": "string" + }, + "ResponseCode": { + "type": "number" + }, + "ResponseHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "ResponseCode" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.DefaultAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ExcludedRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { + "additionalProperties": false, + "properties": { + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VendorName": { + "type": "string" + } + }, + "required": [ + "Name", + "VendorName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OverrideAction": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "object" + }, + "None": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" + }, + "Name": { + "type": "string" + }, + "OverrideAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + }, + "Count": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" + }, + "ManagedRuleGroupStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" + }, + "RuleGroupReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::ConnectionAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { + "additionalProperties": false, + "properties": { + "AssociatedAccountId": { + "type": "string" + }, + "AssociationStatus": { + "type": "string" + }, + "ConnectionIdentifier": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WorkSpaces::Workspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BundleId": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + }, + "RootVolumeEncryptionEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + }, + "UserVolumeEncryptionEnabled": { + "type": "boolean" + }, + "VolumeEncryptionKey": { + "type": "string" + }, + "WorkspaceProperties": { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" + } + }, + "required": [ + "BundleId", + "DirectoryId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::Workspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::Workspace.WorkspaceProperties": { + "additionalProperties": false, + "properties": { + "ComputeTypeName": { + "type": "string" + }, + "RootVolumeSizeGib": { + "type": "number" + }, + "RunningMode": { + "type": "string" + }, + "RunningModeAutoStopTimeoutInMinutes": { + "type": "number" + }, + "UserVolumeSizeGib": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterExpression": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "InsightsConfiguration": { + "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::Group.InsightsConfiguration": { + "additionalProperties": false, + "properties": { + "InsightsEnabled": { + "type": "boolean" + }, + "NotificationsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + }, + "SamplingRuleRecord": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" + }, + "SamplingRuleUpdate": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::SamplingRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRule": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleRecord": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleUpdate": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" + }, + "SkillPackage": { + "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" + }, + "VendorId": { + "type": "string" + } + }, + "required": [ + "AuthenticationConfiguration", + "SkillPackage", + "VendorId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "Alexa::ASK::Skill" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "Alexa::ASK::Skill.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret", + "RefreshToken" + ], + "type": "object" + }, + "Alexa::ASK::Skill.Overrides": { + "additionalProperties": false, + "properties": { + "Manifest": { + "type": "object" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill.SkillPackage": { + "additionalProperties": false, + "properties": { + "Overrides": { + "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" + }, + "S3Bucket": { + "type": "string" + }, + "S3BucketRole": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "Parameter": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "AllowedValues": { + "type": "array" + }, + "ConstraintDescription": { + "type": "string" + }, + "Default": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MaxLength": { + "type": "string" + }, + "MaxValue": { + "type": "string" + }, + "MinLength": { + "type": "string" + }, + "MinValue": { + "type": "string" + }, + "NoEcho": { + "type": [ + "string", + "boolean" + ] + }, + "Type": { + "enum": [ + "String", + "Number", + "List\u003cNumber\u003e", + "CommaDelimitedList", + "AWS::EC2::AvailabilityZone::Name", + "AWS::EC2::Image::Id", + "AWS::EC2::Instance::Id", + "AWS::EC2::KeyPair::KeyName", + "AWS::EC2::SecurityGroup::GroupName", + "AWS::EC2::SecurityGroup::Id", + "AWS::EC2::Subnet::Id", + "AWS::EC2::Volume::Id", + "AWS::EC2::VPC::Id", + "AWS::Route53::HostedZone::Id", + "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "List\u003cAWS::EC2::Image::Id\u003e", + "List\u003cAWS::EC2::Instance::Id\u003e", + "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "List\u003cAWS::EC2::SecurityGroup::Id\u003e", + "List\u003cAWS::EC2::Subnet::Id\u003e", + "List\u003cAWS::EC2::Volume::Id\u003e", + "List\u003cAWS::EC2::VPC::Id\u003e", + "List\u003cAWS::Route53::HostedZone::Id\u003e", + "List\u003cString\u003e", + "AWS::SSM::Parameter::Name", + "AWS::SSM::Parameter::Value\u003cString\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "properties": { + "AWSTemplateFormatVersion": { + "enum": [ + "2010-09-09" + ], + "type": "string" + }, + "Conditions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Description": { + "description": "Template description", + "maxLength": 1024, + "type": "string" + }, + "Mappings": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Metadata": { + "type": "object" + }, + "Outputs": { + "additionalProperties": false, + "maxProperties": 60, + "minProperties": 1, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Parameters": { + "additionalProperties": false, + "maxProperties": 50, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/Parameter" + } + }, + "type": "object" + }, + "Resources": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::ACMPCA::Certificate" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" + }, + { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Broker" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" + }, + { + "$ref": "#/definitions/AWS::Amplify::App" + }, + { + "$ref": "#/definitions/AWS::Amplify::Branch" + }, + { + "$ref": "#/definitions/AWS::Amplify::Domain" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Account" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Method" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Resource" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RestApi" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::VpcLink" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Route" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Application" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Deployment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Environment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, + { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" + }, + { + "$ref": "#/definitions/AWS::AppFlow::Flow" + }, + { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" + }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Mesh" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Route" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualService" + }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, + { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" + }, + { + "$ref": "#/definitions/AWS::AppStream::Fleet" + }, + { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder" + }, + { + "$ref": "#/definitions/AWS::AppStream::Stack" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::User" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiCache" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiKey" + }, + { + "$ref": "#/definitions/AWS::AppSync::DataSource" + }, + { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" + }, + { + "$ref": "#/definitions/AWS::AppSync::Resolver" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, + { + "$ref": "#/definitions/AWS::Athena::NamedQuery" + }, + { + "$ref": "#/definitions/AWS::Athena::PreparedStatement" + }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::WarmPool" + }, + { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupSelection" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupVault" + }, + { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" + }, + { + "$ref": "#/definitions/AWS::Batch::JobDefinition" + }, + { + "$ref": "#/definitions/AWS::Batch::JobQueue" + }, + { + "$ref": "#/definitions/AWS::Budgets::Budget" + }, + { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalyMonitor" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalySubscription" + }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Account" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Certificate" + }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, + { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::CustomResource" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Macro" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Publisher" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Stack" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::StackSet" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Distribution" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Function" + }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, + { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, + { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" + }, + { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" + }, + { + "$ref": "#/definitions/AWS::CloudTrail::Trail" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Alarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Dashboard" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Domain" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::Project" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" + }, + { + "$ref": "#/definitions/AWS::CodeCommit::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::Application" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Webhook" + }, + { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, + { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" + }, + { + "$ref": "#/definitions/AWS::Config::AggregationAuthorization" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" + }, + { + "$ref": "#/definitions/AWS::Config::ConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::DeliveryChannel" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration" + }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, + { + "$ref": "#/definitions/AWS::Connect::QuickConnect" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" + }, + { + "$ref": "#/definitions/AWS::DAX::Cluster" + }, + { + "$ref": "#/definitions/AWS::DAX::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DAX::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" + }, + { + "$ref": "#/definitions/AWS::DMS::Certificate" + }, + { + "$ref": "#/definitions/AWS::DMS::Endpoint" + }, + { + "$ref": "#/definitions/AWS::DMS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationInstance" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTask" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, + { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBCluster" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBInstance" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::Table" + }, + { + "$ref": "#/definitions/AWS::EC2::CapacityReservation" + }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::CustomerGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::DHCPOptions" + }, + { + "$ref": "#/definitions/AWS::EC2::EC2Fleet" + }, + { + "$ref": "#/definitions/AWS::EC2::EIP" + }, + { + "$ref": "#/definitions/AWS::EC2::EIPAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::FlowLog" + }, + { + "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::Host" + }, + { + "$ref": "#/definitions/AWS::EC2::Instance" + }, + { + "$ref": "#/definitions/AWS::EC2::InternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::NatGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAcl" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterface" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" + }, + { + "$ref": "#/definitions/AWS::EC2::PlacementGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, + { + "$ref": "#/definitions/AWS::EC2::Route" + }, + { + "$ref": "#/definitions/AWS::EC2::RouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::EC2::SpotFleet" + }, + { + "$ref": "#/definitions/AWS::EC2::Subnet" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPC" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointService" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::Volume" + }, + { + "$ref": "#/definitions/AWS::EC2::VolumeAttachment" + }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, + { + "$ref": "#/definitions/AWS::ECR::Repository" + }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, + { + "$ref": "#/definitions/AWS::ECS::Cluster" + }, + { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" + }, + { + "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" + }, + { + "$ref": "#/definitions/AWS::ECS::Service" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskSet" + }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::EFS::FileSystem" + }, + { + "$ref": "#/definitions/AWS::EFS::MountTarget" + }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, + { + "$ref": "#/definitions/AWS::EKS::Cluster" + }, + { + "$ref": "#/definitions/AWS::EKS::FargateProfile" + }, + { + "$ref": "#/definitions/AWS::EKS::Nodegroup" + }, + { + "$ref": "#/definitions/AWS::EMR::Cluster" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::EMR::Step" + }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" + }, + { + "$ref": "#/definitions/AWS::Elasticsearch::Domain" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Registry" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Schema" + }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, + { + "$ref": "#/definitions/AWS::Events::EventBusPolicy" + }, + { + "$ref": "#/definitions/AWS::Events::Rule" + }, + { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" + }, + { + "$ref": "#/definitions/AWS::FMS::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::FMS::Policy" + }, + { + "$ref": "#/definitions/AWS::FSx::FileSystem" + }, + { + "$ref": "#/definitions/AWS::FinSpace::Environment" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Detector" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EntityType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EventType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Label" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Outcome" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Variable" + }, + { + "$ref": "#/definitions/AWS::GameLift::Alias" + }, + { + "$ref": "#/definitions/AWS::GameLift::Build" + }, + { + "$ref": "#/definitions/AWS::GameLift::Fleet" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" + }, + { + "$ref": "#/definitions/AWS::GameLift::Script" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, + { + "$ref": "#/definitions/AWS::Glue::Classifier" + }, + { + "$ref": "#/definitions/AWS::Glue::Connection" + }, + { + "$ref": "#/definitions/AWS::Glue::Crawler" + }, + { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" + }, + { + "$ref": "#/definitions/AWS::Glue::Database" + }, + { + "$ref": "#/definitions/AWS::Glue::DevEndpoint" + }, + { + "$ref": "#/definitions/AWS::Glue::Job" + }, + { + "$ref": "#/definitions/AWS::Glue::MLTransform" + }, + { + "$ref": "#/definitions/AWS::Glue::Partition" + }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, + { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::Glue::Table" + }, + { + "$ref": "#/definitions/AWS::Glue::Trigger" + }, + { + "$ref": "#/definitions/AWS::Glue::Workflow" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, + { + "$ref": "#/definitions/AWS::GroundStation::Config" + }, + { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Detector" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Filter" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::IPSet" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Master" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Member" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" + }, + { + "$ref": "#/definitions/AWS::IAM::AccessKey" + }, + { + "$ref": "#/definitions/AWS::IAM::Group" + }, + { + "$ref": "#/definitions/AWS::IAM::InstanceProfile" + }, + { + "$ref": "#/definitions/AWS::IAM::ManagedPolicy" + }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::Policy" + }, + { + "$ref": "#/definitions/AWS::IAM::Role" + }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, + { + "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" + }, + { + "$ref": "#/definitions/AWS::IAM::User" + }, + { + "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" + }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" + }, + { + "$ref": "#/definitions/AWS::Inspector::ResourceGroup" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Device" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Placement" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Project" + }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::Authorizer" + }, + { + "$ref": "#/definitions/AWS::IoT::Certificate" + }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, + { + "$ref": "#/definitions/AWS::IoT::Policy" + }, + { + "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, + { + "$ref": "#/definitions/AWS::IoT::Thing" + }, + { + "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRule" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" + }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::Input" + }, + { + "$ref": "#/definitions/AWS::IoTFleetHub::Application" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, + { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, + { + "$ref": "#/definitions/AWS::KMS::Alias" + }, + { + "$ref": "#/definitions/AWS::KMS::Key" + }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, + { + "$ref": "#/definitions/AWS::Kendra::DataSource" + }, + { + "$ref": "#/definitions/AWS::Kendra::Faq" + }, + { + "$ref": "#/definitions/AWS::Kendra::Index" + }, + { + "$ref": "#/definitions/AWS::Kinesis::Stream" + }, + { + "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Permissions" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Resource" + }, + { + "$ref": "#/definitions/AWS::Lambda::Alias" + }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" + }, + { + "$ref": "#/definitions/AWS::Lambda::Function" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersion" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Permission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Version" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, + { + "$ref": "#/definitions/AWS::Location::GeofenceCollection" + }, + { + "$ref": "#/definitions/AWS::Location::Map" + }, + { + "$ref": "#/definitions/AWS::Location::PlaceIndex" + }, + { + "$ref": "#/definitions/AWS::Location::RouteCalculator" + }, + { + "$ref": "#/definitions/AWS::Location::Tracker" + }, + { + "$ref": "#/definitions/AWS::Location::TrackerConsumer" + }, + { + "$ref": "#/definitions/AWS::Logs::Destination" + }, + { + "$ref": "#/definitions/AWS::Logs::LogGroup" + }, + { + "$ref": "#/definitions/AWS::Logs::LogStream" + }, + { + "$ref": "#/definitions/AWS::Logs::MetricFilter" + }, + { + "$ref": "#/definitions/AWS::Logs::QueryDefinition" + }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" + }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, + { + "$ref": "#/definitions/AWS::MSK::Cluster" + }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Preset" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Queue" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Input" + }, + { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, + { + "$ref": "#/definitions/AWS::MediaStore::Container" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBCluster" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBInstance" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::Studio" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::App" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Instance" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Layer" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Stack" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::UserProfile" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Volume" + }, + { + "$ref": "#/definitions/AWS::OpsWorksCM::Server" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::App" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Campaign" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EventStream" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Segment" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::Identity" + }, + { + "$ref": "#/definitions/AWS::QLDB::Ledger" + }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSet" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSource" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, + { + "$ref": "#/definitions/AWS::RAM::ResourceShare" + }, + { + "$ref": "#/definitions/AWS::RDS::DBCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBInstance" + }, + { + "$ref": "#/definitions/AWS::RDS::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::OptionGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::Cluster" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Fleet" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Robot" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, + { + "$ref": "#/definitions/AWS::Route53::HealthCheck" + }, + { + "$ref": "#/definitions/AWS::Route53::HostedZone" + }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSet" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" + }, + { + "$ref": "#/definitions/AWS::S3::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SDB::Domain" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::SES::ContactList" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptFilter" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRule" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" + }, + { + "$ref": "#/definitions/AWS::SES::Template" + }, + { + "$ref": "#/definitions/AWS::SNS::Subscription" + }, + { + "$ref": "#/definitions/AWS::SNS::Topic" + }, + { + "$ref": "#/definitions/AWS::SNS::TopicPolicy" + }, + { + "$ref": "#/definitions/AWS::SQS::Queue" + }, + { + "$ref": "#/definitions/AWS::SQS::QueuePolicy" + }, + { + "$ref": "#/definitions/AWS::SSM::Association" + }, + { + "$ref": "#/definitions/AWS::SSM::Document" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" + }, + { + "$ref": "#/definitions/AWS::SSM::Parameter" + }, + { + "$ref": "#/definitions/AWS::SSM::PatchBaseline" + }, + { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::Contact" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" + }, + { + "$ref": "#/definitions/AWS::SSO::Assignment" + }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, + { + "$ref": "#/definitions/AWS::SSO::PermissionSet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Model" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Workteam" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::Secret" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::Hub" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service" + }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::Activity" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine" + }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, + { + "$ref": "#/definitions/AWS::Timestream::Database" + }, + { + "$ref": "#/definitions/AWS::Timestream::Table" + }, + { + "$ref": "#/definitions/AWS::Transfer::Server" + }, + { + "$ref": "#/definitions/AWS::Transfer::User" + }, + { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAF::Rule" + }, + { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAF::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::Rule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace" + }, + { + "$ref": "#/definitions/AWS::XRay::Group" + }, + { + "$ref": "#/definitions/AWS::XRay::SamplingRule" + }, + { + "$ref": "#/definitions/Alexa::ASK::Skill" + } + ] + } + }, + "type": "object" + }, + "Transform": { + "oneOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] + } + }, + "required": [ + "Resources" + ], + "type": "object" +} \ No newline at end of file diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json new file mode 100644 index 00000000000..df1d127b487 --- /dev/null +++ b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json @@ -0,0 +1,115746 @@ +{ + "$id": "http://json-schema.org/draft-04/schema#", + "additionalProperties": false, + "definitions": { + "AWS::ACMPCA::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "SigningAlgorithm": { + "type": "string" + }, + "TemplateArn": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + } + }, + "required": [ + "CertificateAuthorityArn", + "CertificateSigningRequest", + "SigningAlgorithm", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + }, + "ExtendedKeyUsage": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Validity": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "KeyAlgorithm", + "SigningAlgorithm", + "Subject", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthority" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "number" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthorityActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Certificate", + "CertificateAuthorityArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthorityActivation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalyzerName": { + "type": "string" + }, + "ArchiveRules": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AccessAnalyzer::Analyzer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { + "additionalProperties": false, + "properties": { + "Filter": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" + }, + "type": "array" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "Filter", + "RuleName" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.Filter": { + "additionalProperties": false, + "properties": { + "Contains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Exists": { + "type": "boolean" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "BrokerName": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" + }, + "DeploymentMode": { + "type": "string" + }, + "EncryptionOptions": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "HostInstanceType": { + "type": "string" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, + "Logs": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" + }, + "MaintenanceWindowStartTime": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + }, + "type": "array" + }, + "Users": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + }, + "type": "array" + } + }, + "required": [ + "AutoMinorVersionUpgrade", + "BrokerName", + "DeploymentMode", + "EngineType", + "EngineVersion", + "HostInstanceType", + "PubliclyAccessible", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Broker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.EncryptionOptions": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "UseAwsOwnedKey": { + "type": "boolean" + } + }, + "required": [ + "UseAwsOwnedKey" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LogList": { + "additionalProperties": false, + "properties": { + "Audit": { + "type": "boolean" + }, + "General": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "type": "string" + }, + "TimeOfDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "DayOfWeek", + "TimeOfDay", + "TimeZone" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.User": { + "additionalProperties": false, + "properties": { + "ConsoleAccess": { + "type": "boolean" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Data", + "EngineType", + "EngineVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Configuration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" + } + }, + "required": [ + "Broker", + "Configuration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::ConfigurationAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::Amplify::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "AutoBranchCreationConfig": { + "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "CustomHeaders": { + "type": "string" + }, + "CustomRules": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "IAMServiceRole": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OauthToken": { + "type": "string" + }, + "Repository": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::App.AutoBranchCreationConfig": { + "additionalProperties": false, + "properties": { + "AutoBranchCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "EnableAutoBranchCreation": { + "type": "boolean" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.CustomRule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Source", + "Target" + ], + "type": "object" + }, + "AWS::Amplify::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Branch": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" + }, + "BranchName": { + "type": "string" + }, + "BuildSpec": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "BranchName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Branch" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Branch.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::Amplify::Branch.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EnableAutoSubDomain": { + "type": "boolean" + }, + "SubDomainSettings": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "DomainName", + "SubDomainSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Domain.SubDomainSetting": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BranchName", + "Prefix" + ], + "type": "object" + }, + "AWS::ApiGateway::Account": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "GenerateDistinctId": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "StageKeys": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey.StageKey": { + "additionalProperties": false, + "properties": { + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "AuthorizerCredentials": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerUri": { + "type": "string" + }, + "IdentitySource": { + "type": "string" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "RestApiId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::BasePathMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::BasePathMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::ClientCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ClientCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentCanarySettings": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" + }, + "Description": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StageDescription": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.CanarySetting": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.StageDescription": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" + }, + "type": "array" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" + }, + "Properties": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Location", + "Properties", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationPart" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart.Location": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "DocumentationVersion", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::GatewayResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseType": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "ResponseType", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::GatewayResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" + }, + "MethodResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" + }, + "type": "array" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "RequestValidatorId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "HttpMethod", + "ResourceId", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Method" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.Integration": { + "additionalProperties": false, + "properties": { + "CacheKeyParameters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheNamespace": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandling": { + "type": "string" + }, + "Credentials": { + "type": "string" + }, + "IntegrationHttpMethod": { + "type": "string" + }, + "IntegrationResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" + }, + "type": "array" + }, + "PassthroughBehavior": { + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutInMillis": { + "type": "number" + }, + "Type": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Method.IntegrationResponse": { + "additionalProperties": false, + "properties": { + "ContentHandling": { + "type": "string" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SelectionPattern": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.MethodResponse": { + "additionalProperties": false, + "properties": { + "ResponseModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RequestValidator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "ValidateRequestBody": { + "type": "boolean" + }, + "ValidateRequestParameters": { + "type": "boolean" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::RequestValidator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ParentId": { + "type": "string" + }, + "PathPart": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "ParentId", + "PathPart", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RestApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySourceType": { + "type": "string" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" + }, + "CloneFrom": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Stage.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.CanarySetting": { + "additionalProperties": false, + "properties": { + "DeploymentId": { + "type": "string" + }, + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiStages": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Quota": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throttle": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + }, + "UsagePlanName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ApiStage": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Throttle": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.QuotaSettings": { + "additionalProperties": false, + "properties": { + "Limit": { + "type": "number" + }, + "Offset": { + "type": "number" + }, + "Period": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ThrottleSettings": { + "additionalProperties": false, + "properties": { + "BurstLimit": { + "type": "number" + }, + "RateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlanKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "UsagePlanId": { + "type": "string" + } + }, + "required": [ + "KeyId", + "KeyType", + "UsagePlanId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlanKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TargetArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySelectionExpression": { + "type": "string" + }, + "BasePath": { + "type": "string" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "DisableSchemaValidation": { + "type": "boolean" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "ProtocolType": { + "type": "string" + }, + "RouteKey": { + "type": "string" + }, + "RouteSelectionExpression": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Target": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Api" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api.BodyS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Etag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Api.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiMappingKey": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "ApiId", + "DomainName", + "Stage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "AuthorizerCredentialsArn": { + "type": "string" + }, + "AuthorizerPayloadFormatVersion": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerType": { + "type": "string" + }, + "AuthorizerUri": { + "type": "string" + }, + "EnableSimpleResponses": { + "type": "boolean" + }, + "IdentitySource": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "JwtConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ApiId", + "AuthorizerType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { + "additionalProperties": false, + "properties": { + "Audience": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Issuer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" + }, + "type": "array" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "IntegrationSubtype": { + "type": "string" + }, + "IntegrationType": { + "type": "string" + }, + "IntegrationUri": { + "type": "string" + }, + "PassthroughBehavior": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "RequestParameters": { + "type": "object" + }, + "RequestTemplates": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" + } + }, + "required": [ + "ApiId", + "IntegrationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameter": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "Destination", + "Source" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "ResponseModels": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "RouteId": { + "type": "string" + }, + "RouteResponseKey": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteId", + "RouteResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::RouteResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" + }, + "AccessPolicyId": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AutoDeploy": { + "type": "boolean" + }, + "ClientCertificateId": { + "type": "string" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApiId", + "StageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Application.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RetrievalRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" + }, + "type": "array" + }, + "Validators": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "LocationUri", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ConfigurationProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Validators": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "ConfigurationVersion": { + "type": "string" + }, + "DeploymentStrategyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion", + "DeploymentStrategyId", + "EnvironmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Deployment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentDurationInMinutes": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "FinalBakeTimeInMinutes": { + "type": "number" + }, + "GrowthFactor": { + "type": "number" + }, + "GrowthType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicateTo": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" + }, + "type": "array" + } + }, + "required": [ + "DeploymentDurationInMinutes", + "GrowthFactor", + "Name", + "ReplicateTo" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::DeploymentStrategy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Monitors": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Environment.Monitors": { + "additionalProperties": false, + "properties": { + "AlarmArn": { + "type": "string" + }, + "AlarmRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionMode": { + "type": "string" + }, + "ConnectorProfileConfig": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" + }, + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "KMSArn": { + "type": "string" + } + }, + "required": [ + "ConnectionMode", + "ConnectorProfileName", + "ConnectorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::ConnectorProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "SecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { + "additionalProperties": false, + "properties": { + "AuthCode": { + "type": "string" + }, + "RedirectUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" + }, + "ConnectorProfileProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" + } + }, + "required": [ + "ConnectorProfileCredentials" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiToken": { + "type": "string" + } + }, + "required": [ + "ApiToken" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessKeyId": { + "type": "string" + }, + "Datakey": { + "type": "string" + }, + "SecretAccessKey": { + "type": "string" + }, + "UserId": { + "type": "string" + } + }, + "required": [ + "AccessKeyId", + "Datakey", + "SecretAccessKey", + "UserId" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "DatabaseUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "DatabaseUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientCredentialsArn": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + }, + "isSandboxEnvironment": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "PrivateLinkServiceName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Stage", + "Warehouse" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiSecretKey": { + "type": "string" + } + }, + "required": [ + "ApiSecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationFlowConfigList": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" + }, + "type": "array" + }, + "FlowName": { + "type": "string" + }, + "KMSArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" + } + }, + "required": [ + "DestinationFlowConfigList", + "FlowName", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.AggregationConfig": { + "additionalProperties": false, + "properties": { + "AggregationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.AmplitudeSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "type": "string" + }, + "Datadog": { + "type": "string" + }, + "Dynatrace": { + "type": "string" + }, + "GoogleAnalytics": { + "type": "string" + }, + "InforNexus": { + "type": "string" + }, + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Singular": { + "type": "string" + }, + "Slack": { + "type": "string" + }, + "Trendmicro": { + "type": "string" + }, + "Veeva": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DatadogSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationConnectorProperties": { + "additionalProperties": false, + "properties": { + "EventBridge": { + "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" + }, + "LookoutMetrics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "DestinationConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "DestinationConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DynatraceSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ErrorHandlingConfig": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "FailOnFirstError": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.InforNexusSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.PrefixConfig": { + "additionalProperties": false, + "properties": { + "PrefixFormat": { + "type": "string" + }, + "PrefixType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.RedshiftDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3DestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketPrefix" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleStartTime": { + "type": "number" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SingularSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SlackSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TaskPropertiesObject": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TrendmicroSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.VeevaSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBridgeBus": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventBridgeBus", + "EventFilter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::EventIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventFilter": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { + "additionalProperties": false, + "properties": { + "ClientAssociationMetadata": { + "items": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" + }, + "type": "array" + }, + "ClientId": { + "type": "string" + }, + "EventBridgeRuleName": { + "type": "string" + }, + "EventIntegrationAssociationArn": { + "type": "string" + }, + "EventIntegrationAssociationId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.Metadata": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.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" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Mesh" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.EgressFilter": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.MeshSpec": { + "additionalProperties": false, + "properties": { + "EgressFilter": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "RouteName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualRouterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::Route.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRetryPolicy": { + "additionalProperties": false, + "properties": { + "GrpcRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HttpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxRetries": { + "type": "number" + }, + "PerRetryTimeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "TcpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxRetries", + "PerRetryTimeout" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMatch": { + "additionalProperties": false, + "properties": { + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" + }, + "type": "array" + }, + "MethodName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HeaderMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.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" + }, + "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" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.WeightedTarget": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "VirtualNode", + "Weight" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "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": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Listener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" + }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Logging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ServiceDiscovery": { + "additionalProperties": false, + "properties": { + "AWSCloudMap": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" + }, + "DNS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, + "Backends": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" + }, + "ServiceDiscovery": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualRouter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { + "additionalProperties": false, + "properties": { + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { + "additionalProperties": false, + "properties": { + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "VirtualNodeName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "VirtualRouterName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" + }, + "VirtualRouter": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceSpec": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, + "AWS::AppStream::DirectoryConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceAccountCredentials": { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" + } + }, + "required": [ + "DirectoryName", + "OrganizationalUnitDistinguishedNames", + "ServiceAccountCredentials" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::DirectoryConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "AccountPassword": { + "type": "string" + } + }, + "required": [ + "AccountName", + "AccountPassword" + ], + "type": "object" + }, + "AWS::AppStream::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeCapacity": { + "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" + }, + "Description": { + "type": "string" + }, + "DisconnectTimeoutInSeconds": { + "type": "number" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "FleetType": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "IdleDisconnectTimeoutInSeconds": { + "type": "number" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxUserDurationInSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "StreamView": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" + } + }, + "required": [ + "ComputeCapacity", + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.ComputeCapacity": { + "additionalProperties": false, + "properties": { + "DesiredInstances": { + "type": "number" + } + }, + "required": [ + "DesiredInstances" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::Fleet.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" + }, + "type": "array" + }, + "AppstreamAgentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "IamRoleArn": { + "type": "string" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" + } + }, + "required": [ + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::ImageBuilder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" + }, + "type": "array" + }, + "ApplicationSettings": { + "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" + }, + "AttributesToDelete": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeleteStorageConnectors": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "EmbedHostDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FeedbackURL": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RedirectURL": { + "type": "string" + }, + "StorageConnectors": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserSettings": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppStream::Stack.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::Stack.ApplicationSettings": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "SettingsGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::AppStream::Stack.StorageConnector": { + "additionalProperties": false, + "properties": { + "ConnectorType": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdentifier": { + "type": "string" + } + }, + "required": [ + "ConnectorType" + ], + "type": "object" + }, + "AWS::AppStream::Stack.UserSetting": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "Action", + "Permission" + ], + "type": "object" + }, + "AWS::AppStream::StackFleetAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FleetName": { + "type": "string" + }, + "StackName": { + "type": "string" + } + }, + "required": [ + "FleetName", + "StackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackFleetAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::StackUserAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "SendEmailNotification": { + "type": "boolean" + }, + "StackName": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "StackName", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackUserAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "FirstName": { + "type": "string" + }, + "LastName": { + "type": "string" + }, + "MessageAction": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiCache": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiCachingBehavior": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "Ttl": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiCachingBehavior", + "ApiId", + "Ttl", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiCache" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Expires": { + "type": "number" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DynamoDBConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" + }, + "ElasticsearchConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" + }, + "HttpConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" + }, + "Name": { + "type": "string" + }, + "RelationalDatabaseConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationType": { + "type": "string" + }, + "AwsIamConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" + } + }, + "required": [ + "AuthorizationType" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AwsIamConfig": { + "additionalProperties": false, + "properties": { + "SigningRegion": { + "type": "string" + }, + "SigningServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::DataSource.DeltaSyncConfig": { + "additionalProperties": false, + "properties": { + "BaseTableTTL": { + "type": "string" + }, + "DeltaSyncTableName": { + "type": "string" + }, + "DeltaSyncTableTTL": { + "type": "string" + } + }, + "required": [ + "BaseTableTTL", + "DeltaSyncTableName", + "DeltaSyncTableTTL" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.DynamoDBConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "DeltaSyncConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" + }, + "TableName": { + "type": "string" + }, + "UseCallerCredentials": { + "type": "boolean" + }, + "Versioned": { + "type": "boolean" + } + }, + "required": [ + "AwsRegion", + "TableName" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.ElasticsearchConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.HttpConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.LambdaConfig": { + "additionalProperties": false, + "properties": { + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "AwsSecretStoreArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DbClusterIdentifier": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "AwsSecretStoreArn", + "DbClusterIdentifier" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RelationalDatabaseConfig": { + "additionalProperties": false, + "properties": { + "RdsHttpEndpointConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" + }, + "RelationalDatabaseSourceType": { + "type": "string" + } + }, + "required": [ + "RelationalDatabaseSourceType" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "DataSourceName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" + } + }, + "required": [ + "ApiId", + "DataSourceName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::FunctionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalAuthenticationProviders": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" + }, + "AuthenticationType": { + "type": "string" + }, + "LambdaAuthorizerConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" + }, + "LogConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" + }, + "Name": { + "type": "string" + }, + "OpenIDConnectConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" + }, + "Tags": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" + }, + "UserPoolConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" + }, + "XrayEnabled": { + "type": "boolean" + } + }, + "required": [ + "AuthenticationType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "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.AdditionalAuthenticationProviders": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.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.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.UserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "DefaultAction": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLSchema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Definition": { + "type": "string" + }, + "DefinitionS3Location": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLSchema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "CachingConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" + }, + "DataSourceName": { + "type": "string" + }, + "FieldName": { + "type": "string" + }, + "Kind": { + "type": "string" + }, + "PipelineConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "ApiId", + "FieldName", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::Resolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver.CachingConfig": { + "additionalProperties": false, + "properties": { + "CachingKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ttl": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.PipelineConfig": { + "additionalProperties": false, + "properties": { + "Functions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScheduledActions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" + }, + "type": "array" + }, + "ServiceNamespace": { + "type": "string" + }, + "SuspendedState": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "RoleARN", + "ScalableDimension", + "ServiceNamespace" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalableTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "ScalableTargetAction": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" + }, + "Schedule": { + "type": "string" + }, + "ScheduledActionName": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingTargetId": { + "type": "string" + }, + "ServiceNamespace": { + "type": "string" + }, + "StepScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "Cooldown": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::NamedQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "WorkGroup": { + "type": "string" + } + }, + "required": [ + "Database", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::NamedQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::PreparedStatement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CapacityRebalance": { + "type": "boolean" + }, + "Context": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "DesiredCapacity": { + "type": "string" + }, + "HealthCheckGracePeriod": { + "type": "number" + }, + "HealthCheckType": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "LifecycleHookSpecificationList": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" + }, + "type": "array" + }, + "LoadBalancerNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxInstanceLifetime": { + "type": "number" + }, + "MaxSize": { + "type": "string" + }, + "MetricsCollection": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" + }, + "type": "array" + }, + "MinSize": { + "type": "string" + }, + "MixedInstancesPolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" + }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, + "NotificationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" + }, + "type": "array" + }, + "PlacementGroup": { + "type": "string" + }, + "ServiceLinkedRoleARN": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" + }, + "type": "array" + }, + "TargetGroupARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TerminationPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VPCZoneIdentifier": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::AutoScalingGroup" + ], + "type": "string" + }, + "UpdatePolicy": { + "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { + "additionalProperties": false, + "properties": { + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandBaseCapacity": { + "type": "number" + }, + "OnDemandPercentageAboveBaseCapacity": { + "type": "number" + }, + "SpotAllocationStrategy": { + "type": "string" + }, + "SpotInstancePools": { + "type": "number" + }, + "SpotMaxPrice": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "required": [ + "LaunchTemplateSpecification" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { + "additionalProperties": false, + "properties": { + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { + "additionalProperties": false, + "properties": { + "Granularity": { + "type": "string" + }, + "Metrics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Granularity" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { + "additionalProperties": false, + "properties": { + "InstancesDistribution": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" + } + }, + "required": [ + "LaunchTemplate" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TopicARN": { + "type": "string" + } + }, + "required": [ + "TopicARN" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.TagProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "PropagateAtLaunch": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "PropagateAtLaunch", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" + }, + "type": "array" + }, + "ClassicLinkVPCId": { + "type": "string" + }, + "ClassicLinkVPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "InstanceMonitoring": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" + }, + "PlacementTenancy": { + "type": "string" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "UserData": { + "type": "string" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LaunchConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName", + "LifecycleTransition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LifecycleHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "AutoScalingGroupName": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "PolicyType": { + "type": "string" + }, + "ScalingAdjustment": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::AutoScaling::ScheduledAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DesiredCapacity": { + "type": "number" + }, + "EndTime": { + "type": "string" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "Recurrence": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "MaxGroupPreparedCapacity": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "PoolState": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::WarmPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationSource": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" + }, + "ScalingInstructions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSource", + "ScalingInstructions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScalingPlans::ScalingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { + "additionalProperties": false, + "properties": { + "CloudFormationStackARN": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedLoadMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedLoadMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedScalingMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedScalingMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { + "additionalProperties": false, + "properties": { + "CustomizedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" + }, + "DisableDynamicScaling": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "PredefinedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" + }, + "PredictiveScalingMaxCapacityBehavior": { + "type": "string" + }, + "PredictiveScalingMaxCapacityBuffer": { + "type": "number" + }, + "PredictiveScalingMode": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingPolicyUpdateBehavior": { + "type": "string" + }, + "ScheduledActionBufferTime": { + "type": "number" + }, + "ServiceNamespace": { + "type": "string" + }, + "TargetTrackingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "ScalableDimension", + "ServiceNamespace", + "TargetTrackingConfigurations" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "PredefinedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlan": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" + }, + "BackupPlanTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "BackupPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { + "additionalProperties": false, + "properties": { + "BackupOptions": { + "type": "object" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "BackupOptions", + "ResourceType" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupPlanResourceType": { + "additionalProperties": false, + "properties": { + "AdvancedBackupSettings": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" + }, + "type": "array" + }, + "BackupPlanName": { + "type": "string" + }, + "BackupPlanRule": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" + }, + "type": "array" + } + }, + "required": [ + "BackupPlanName", + "BackupPlanRule" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupRuleResourceType": { + "additionalProperties": false, + "properties": { + "CompletionWindowMinutes": { + "type": "number" + }, + "CopyActions": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" + }, + "type": "array" + }, + "EnableContinuousBackup": { + "type": "boolean" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + }, + "RecoveryPointTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RuleName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "StartWindowMinutes": { + "type": "number" + }, + "TargetBackupVault": { + "type": "string" + } + }, + "required": [ + "RuleName", + "TargetBackupVault" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.CopyActionResourceType": { + "additionalProperties": false, + "properties": { + "DestinationBackupVaultArn": { + "type": "string" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + } + }, + "required": [ + "DestinationBackupVaultArn" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.LifecycleResourceType": { + "additionalProperties": false, + "properties": { + "DeleteAfterDays": { + "type": "number" + }, + "MoveToColdStorageAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Backup::BackupSelection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlanId": { + "type": "string" + }, + "BackupSelection": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" + } + }, + "required": [ + "BackupPlanId", + "BackupSelection" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.BackupSelectionResourceType": { + "additionalProperties": false, + "properties": { + "IamRoleArn": { + "type": "string" + }, + "ListOfTags": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" + }, + "type": "array" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionName": { + "type": "string" + } + }, + "required": [ + "IamRoleArn", + "SelectionName" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.ConditionResourceType": { + "additionalProperties": false, + "properties": { + "ConditionKey": { + "type": "string" + }, + "ConditionType": { + "type": "string" + }, + "ConditionValue": { + "type": "string" + } + }, + "required": [ + "ConditionKey", + "ConditionType", + "ConditionValue" + ], + "type": "object" + }, + "AWS::Backup::BackupVault": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicy": { + "type": "object" + }, + "BackupVaultName": { + "type": "string" + }, + "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "Notifications": { + "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" + } + }, + "required": [ + "BackupVaultName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupVault" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupVault.NotificationObjectType": { + "additionalProperties": false, + "properties": { + "BackupVaultEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SNSTopicArn": { + "type": "string" + } + }, + "required": [ + "BackupVaultEvents", + "SNSTopicArn" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentName": { + "type": "string" + }, + "ComputeResources": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" + }, + "ServiceRole": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::ComputeEnvironment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.ComputeResources": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BidPercentage": { + "type": "number" + }, + "DesiredvCpus": { + "type": "number" + }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, + "Ec2KeyPair": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" + }, + "MaxvCpus": { + "type": "number" + }, + "MinvCpus": { + "type": "number" + }, + "PlacementGroup": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotIamFleetRole": { + "type": "string" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "MaxvCpus", + "Subnets", + "Type" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "JobDefinitionName": { + "type": "string" + }, + "NodeProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" + }, + "Parameters": { + "type": "object" + }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.ContainerProperties": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" + }, + "type": "array" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, + "Image": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "Vcpus": { + "type": "number" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" + }, + "type": "array" + } + }, + "required": [ + "Image" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" + }, + "FileSystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Environment": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.MountPoints": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeProperties": { + "additionalProperties": false, + "properties": { + "MainNode": { + "type": "number" + }, + "NodeRangeProperties": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" + }, + "type": "array" + }, + "NumNodes": { + "type": "number" + } + }, + "required": [ + "MainNode", + "NodeRangeProperties", + "NumNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeRangeProperty": { + "additionalProperties": false, + "properties": { + "Container": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "TargetNodes": { + "type": "string" + } + }, + "required": [ + "TargetNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.RetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Timeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "ContainerPath", + "Size" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Volumes": { + "additionalProperties": false, + "properties": { + "EfsVolumeConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.VolumesHost": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentOrder": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" + }, + "type": "array" + }, + "JobQueueName": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ComputeEnvironmentOrder", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { + "additionalProperties": false, + "properties": { + "ComputeEnvironment": { + "type": "string" + }, + "Order": { + "type": "number" + } + }, + "required": [ + "ComputeEnvironment", + "Order" + ], + "type": "object" + }, + "AWS::Budgets::Budget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Budget": { + "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" + }, + "NotificationsWithSubscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" + }, + "type": "array" + } + }, + "required": [ + "Budget" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::Budget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::Budget.BudgetData": { + "additionalProperties": false, + "properties": { + "BudgetLimit": { + "$ref": "#/definitions/AWS::Budgets::Budget.Spend" + }, + "BudgetName": { + "type": "string" + }, + "BudgetType": { + "type": "string" + }, + "CostFilters": { + "type": "object" + }, + "CostTypes": { + "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" + }, + "PlannedBudgetLimits": { + "type": "object" + }, + "TimePeriod": { + "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "BudgetType", + "TimeUnit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.CostTypes": { + "additionalProperties": false, + "properties": { + "IncludeCredit": { + "type": "boolean" + }, + "IncludeDiscount": { + "type": "boolean" + }, + "IncludeOtherSubscription": { + "type": "boolean" + }, + "IncludeRecurring": { + "type": "boolean" + }, + "IncludeRefund": { + "type": "boolean" + }, + "IncludeSubscription": { + "type": "boolean" + }, + "IncludeSupport": { + "type": "boolean" + }, + "IncludeTax": { + "type": "boolean" + }, + "IncludeUpfront": { + "type": "boolean" + }, + "UseAmortized": { + "type": "boolean" + }, + "UseBlended": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Budgets::Budget.Notification": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdType": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "NotificationType", + "Threshold" + ], + "type": "object" + }, + "AWS::Budgets::Budget.NotificationWithSubscribers": { + "additionalProperties": false, + "properties": { + "Notification": { + "$ref": "#/definitions/AWS::Budgets::Budget.Notification" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "Notification", + "Subscribers" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Spend": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Amount", + "Unit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "SubscriptionType": { + "type": "string" + } + }, + "required": [ + "Address", + "SubscriptionType" + ], + "type": "object" + }, + "AWS::Budgets::Budget.TimePeriod": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionThreshold": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" + }, + "ActionType": { + "type": "string" + }, + "ApprovalModel": { + "type": "string" + }, + "BudgetName": { + "type": "string" + }, + "Definition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "ActionThreshold", + "ActionType", + "BudgetName", + "Definition", + "ExecutionRoleArn", + "NotificationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::BudgetsAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ActionThreshold": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Definition": { + "additionalProperties": false, + "properties": { + "IamActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" + }, + "ScpActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" + }, + "SsmActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction.IamActionDefinition": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyArn": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyArn" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ScpActionDefinition": { + "additionalProperties": false, + "properties": { + "PolicyId": { + "type": "string" + }, + "TargetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyId", + "TargetIds" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.SsmActionDefinition": { + "additionalProperties": false, + "properties": { + "InstanceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "Subtype": { + "type": "string" + } + }, + "required": [ + "InstanceIds", + "Region", + "Subtype" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::AnomalyMonitor": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MonitorDimension": { + "type": "string" + }, + "MonitorName": { + "type": "string" + }, + "MonitorSpecification": { + "type": "string" + }, + "MonitorType": { + "type": "string" + } + }, + "required": [ + "MonitorName", + "MonitorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalyMonitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Frequency": { + "type": "string" + }, + "MonitorArnList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" + }, + "type": "array" + }, + "SubscriptionName": { + "type": "string" + }, + "Threshold": { + "type": "number" + } + }, + "required": [ + "Frequency", + "MonitorArnList", + "Subscribers", + "SubscriptionName", + "Threshold" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalySubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::CostCategory": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleVersion", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CUR::ReportDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Keyspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cassandra::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExpiryEventsConfiguration": { + "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" + } + }, + "required": [ + "ExpiryEventsConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { + "additionalProperties": false, + "properties": { + "DaysBeforeExpiry": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ServiceToken": { + "type": "string" + } + }, + "required": [ + "ServiceToken" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::CustomResource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::Macro": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Macro" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ModuleName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateURL": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdministrationRoleARN": { + "type": "string" + }, + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" + }, + "CallAs": { + "type": "string" + }, + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "ExecutionRoleName": { + "type": "string" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "PermissionModel": { + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "type": "array" + }, + "StackSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + } + }, + "required": [ + "PermissionModel", + "StackSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::StackSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.AutoDeployment": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "Accounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "FailureToleranceCount": { + "type": "number" + }, + "FailureTolerancePercentage": { + "type": "number" + }, + "MaxConcurrentCount": { + "type": "number" + }, + "MaxConcurrentPercentage": { + "type": "number" + }, + "RegionConcurrencyType": { + "type": "string" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterKey": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterKey", + "ParameterValue" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::TypeActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Handle": { + "type": "string" + }, + "Timeout": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitCondition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::WaitConditionHandle": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitConditionHandle" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CachePolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" + } + }, + "required": [ + "CachePolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CachePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "ParametersInCacheKeyAndForwardedToOrigin": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" + } + }, + "required": [ + "DefaultTTL", + "MaxTTL", + "MinTTL", + "Name", + "ParametersInCacheKeyAndForwardedToOrigin" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { + "additionalProperties": false, + "properties": { + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" + }, + "EnableAcceptEncodingBrotli": { + "type": "boolean" + }, + "EnableAcceptEncodingGzip": { + "type": "boolean" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "EnableAcceptEncodingGzip", + "HeadersConfig", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudFrontOriginAccessIdentityConfig": { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" + } + }, + "required": [ + "CloudFrontOriginAccessIdentityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CloudFrontOriginAccessIdentity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "required": [ + "Comment" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DistributionConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "PathPattern": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "PathPattern", + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Cookies": { + "additionalProperties": false, + "properties": { + "Forward": { + "type": "string" + }, + "WhitelistedNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Forward" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomErrorResponse": { + "additionalProperties": false, + "properties": { + "ErrorCachingMinTTL": { + "type": "number" + }, + "ErrorCode": { + "type": "number" + }, + "ResponseCode": { + "type": "number" + }, + "ResponsePagePath": { + "type": "string" + } + }, + "required": [ + "ErrorCode" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomOriginConfig": { + "additionalProperties": false, + "properties": { + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginKeepaliveTimeout": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginReadTimeout": { + "type": "number" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OriginProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DefaultCacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CNAMEs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "CustomErrorResponses": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + }, + "type": "array" + }, + "CustomOrigin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" + }, + "DefaultRootObject": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "HttpVersion": { + "type": "string" + }, + "IPV6Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" + }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, + "Origins": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + }, + "type": "array" + }, + "PriceClass": { + "type": "string" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" + }, + "ViewerCertificate": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ForwardedValues": { + "additionalProperties": false, + "properties": { + "Cookies": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryString": { + "type": "boolean" + }, + "QueryStringCacheKeys": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryString" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.FunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.GeoRestriction": { + "additionalProperties": false, + "properties": { + "Locations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionType": { + "type": "string" + } + }, + "required": [ + "RestrictionType" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "IncludeBody": { + "type": "boolean" + }, + "LambdaFunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyCustomOrigin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DNSName", + "OriginProtocolPolicy", + "OriginSSLProtocols" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyS3Origin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DNSName" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "IncludeCookies": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Origin": { + "additionalProperties": false, + "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, + "CustomOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" + }, + "DomainName": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "OriginCustomHeaders": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + }, + "type": "array" + }, + "OriginPath": { + "type": "string" + }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, + "S3OriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" + } + }, + "required": [ + "DomainName", + "Id" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginCustomHeader": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.Restrictions": { + "additionalProperties": false, + "properties": { + "GeoRestriction": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" + } + }, + "required": [ + "GeoRestriction" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.S3OriginConfig": { + "additionalProperties": false, + "properties": { + "OriginAccessIdentity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerCertificate": { + "additionalProperties": false, + "properties": { + "AcmCertificateArn": { + "type": "string" + }, + "CloudFrontDefaultCertificate": { + "type": "boolean" + }, + "IamCertificateId": { + "type": "string" + }, + "MinimumProtocolVersion": { + "type": "string" + }, + "SslSupportMethod": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPublish": { + "type": "boolean" + }, + "FunctionCode": { + "type": "string" + }, + "FunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" + }, + "FunctionMetadata": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Runtime": { + "type": "string" + } + }, + "required": [ + "Comment", + "Runtime" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionMetadata": { + "additionalProperties": false, + "properties": { + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::KeyGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" + } + }, + "required": [ + "KeyGroupConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::KeyGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Items", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" + } + }, + "required": [ + "OriginRequestPolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::OriginRequestPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" + }, + "Name": { + "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "type": "array" + }, + "Fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SamplingRate": { + "type": "number" + } + }, + "required": [ + "EndPoints", + "Fields", + "Name", + "SamplingRate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::RealtimeLogConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "additionalProperties": false, + "properties": { + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + }, + "StreamType": { + "type": "string" + } + }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamArn" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StreamingDistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StreamingDistributionConfig", + "Tags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::StreamingDistribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Enabled", + "Prefix" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.S3Origin": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DomainName", + "OriginAccessIdentity" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" + }, + "PriceClass": { + "type": "string" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" + }, + "TrustedSigners": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" + } + }, + "required": [ + "Comment", + "Enabled", + "S3Origin", + "TrustedSigners" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.TrustedSigners": { + "additionalProperties": false, + "properties": { + "AwsAccountNumbers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "CloudWatchLogsRoleArn": { + "type": "string" + }, + "EnableLogFileValidation": { + "type": "boolean" + }, + "EventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" + }, + "type": "array" + }, + "IncludeGlobalServiceEvents": { + "type": "boolean" + }, + "IsLogging": { + "type": "boolean" + }, + "IsMultiRegionTrail": { + "type": "boolean" + }, + "KMSKeyId": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "SnsTopicName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrailName": { + "type": "string" + } + }, + "required": [ + "IsLogging", + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudTrail::Trail" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.DataResource": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.EventSelector": { + "additionalProperties": false, + "properties": { + "DataResources": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" + }, + "type": "array" + }, + "IncludeManagementEvents": { + "type": "boolean" + }, + "ReadWriteType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "ComparisonOperator": { + "type": "string" + }, + "DatapointsToAlarm": { + "type": "number" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "type": "string" + }, + "EvaluationPeriods": { + "type": "number" + }, + "ExtendedStatistic": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdMetricId": { + "type": "string" + }, + "TreatMissingData": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "EvaluationPeriods" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Alarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Metric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.MetricDataQuery": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Stat": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Stat" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Configuration": { + "additionalProperties": false, + "properties": { + "ExcludedTimeRanges": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + }, + "type": "array" + }, + "MetricTimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Range": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardBody": { + "type": "string" + }, + "DashboardName": { + "type": "string" + } + }, + "required": [ + "DashboardBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleBody": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "RuleState": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" + } + }, + "required": [ + "RuleBody", + "RuleName", + "RuleState" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::InsightRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "OutputFormat", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::CodeArtifact::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "ExternalConnections": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Upstreams": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "BadgeEnabled": { + "type": "boolean" + }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, + "Cache": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" + }, + "ConcurrentBuildLimit": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" + }, + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" + }, + "type": "array" + }, + "LogsConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" + }, + "Name": { + "type": "string" + }, + "QueuedTimeoutInMinutes": { + "type": "number" + }, + "SecondaryArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "type": "array" + }, + "SecondarySourceVersions": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" + }, + "type": "array" + }, + "SecondarySources": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "type": "array" + }, + "ServiceRole": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "SourceVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeoutInMinutes": { + "type": "number" + }, + "Triggers": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" + } + }, + "required": [ + "Artifacts", + "Environment", + "ServiceRole", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Artifacts": { + "additionalProperties": false, + "properties": { + "ArtifactIdentifier": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NamespaceType": { + "type": "string" + }, + "OverrideArtifactName": { + "type": "boolean" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.CloudWatchLogsConfig": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Environment": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "ImagePullCredentialsType": { + "type": "string" + }, + "PrivilegedMode": { + "type": "boolean" + }, + "RegistryCredential": { + "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ComputeType", + "Image", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.FilterGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.LogsConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" + }, + "S3Logs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectCache": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "Modes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectFileSystemLocation": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "MountOptions": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Location", + "MountPoint", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectSourceVersion": { + "additionalProperties": false, + "properties": { + "SourceIdentifier": { + "type": "string" + }, + "SourceVersion": { + "type": "string" + } + }, + "required": [ + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectTriggers": { + "additionalProperties": false, + "properties": { + "BuildType": { + "type": "string" + }, + "FilterGroups": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" + }, + "type": "array" + }, + "Webhook": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.RegistryCredential": { + "additionalProperties": false, + "properties": { + "Credential": { + "type": "string" + }, + "CredentialProvider": { + "type": "string" + } + }, + "required": [ + "Credential", + "CredentialProvider" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.S3LogsConfig": { + "additionalProperties": false, + "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Source": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" + }, + "BuildSpec": { + "type": "string" + }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, + "GitCloneDepth": { + "type": "number" + }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, + "InsecureSsl": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "ReportBuildStatus": { + "type": "boolean" + }, + "SourceIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.SourceAuth": { + "additionalProperties": false, + "properties": { + "Resource": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.WebhookFilter": { + "additionalProperties": false, + "properties": { + "ExcludeMatchedPattern": { + "type": "boolean" + }, + "Pattern": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Pattern", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteReports": { + "type": "boolean" + }, + "ExportConfig": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ExportConfig", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::ReportGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" + } + }, + "required": [ + "ExportConfigType" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CodeBuild::SourceCredential": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "ServerType": { + "type": "string" + }, + "Token": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "AuthType", + "ServerType", + "Token" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::SourceCredential" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" + }, + "type": "array" + } + }, + "required": [ + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeCommit::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.Code": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "S3": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.RepositoryTrigger": { + "additionalProperties": false, + "properties": { + "Branches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CustomData": { + "type": "string" + }, + "DestinationArn": { + "type": "string" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "Events", + "Name" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ComputePlatform": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TriggerConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeDeploy::DeploymentGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.Alarm": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "IgnorePollAlarmFailure": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.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" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { + "additionalProperties": false, + "properties": { + "OnPremisesTagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { + "additionalProperties": false, + "properties": { + "OnPremisesTagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { + "additionalProperties": false, + "properties": { + "GitHubLocation": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" + }, + "RevisionType": { + "type": "string" + }, + "S3Location": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BundleType": { + "type": "string" + }, + "ETag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TriggerName": { + "type": "string" + }, + "TriggerTargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, + "ProfilingGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, + "AWS::CodeGuruReviewer::RepositoryAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "ConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + }, + "type": "array" + }, + "InputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "OutputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "Provider": { + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "InputArtifactDetails", + "OutputArtifactDetails", + "Provider", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::CustomActionType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ArtifactDetails": { + "additionalProperties": false, + "properties": { + "MaximumCount": { + "type": "number" + }, + "MinimumCount": { + "type": "number" + } + }, + "required": [ + "MaximumCount", + "MinimumCount" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Key": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Queryable": { + "type": "boolean" + }, + "Required": { + "type": "boolean" + }, + "Secret": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Key", + "Name", + "Required", + "Secret" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.Settings": { + "additionalProperties": false, + "properties": { + "EntityUrlTemplate": { + "type": "string" + }, + "ExecutionUrlTemplate": { + "type": "string" + }, + "RevisionUrlTemplate": { + "type": "string" + }, + "ThirdPartyConfigurationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "ArtifactStores": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + }, + "type": "array" + }, + "DisableInboundStageTransitions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RestartExecutionOnUpdate": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Stages": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RoleArn", + "Stages" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionDeclaration": { + "additionalProperties": false, + "properties": { + "ActionTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" + }, + "Configuration": { + "type": "object" + }, + "InputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "OutputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunOrder": { + "type": "number" + } + }, + "required": [ + "ActionTypeId", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionTypeId": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "Owner", + "Provider", + "Version" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStore": { + "additionalProperties": false, + "properties": { + "EncryptionKey": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" + }, + "Location": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Location", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "ArtifactStore", + "Region" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.BlockerDeclaration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.EncryptionKey": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.InputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.OutputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageDeclaration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" + }, + "type": "array" + }, + "Blockers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageTransition": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "Reason", + "StageName" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authentication": { + "type": "string" + }, + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" + }, + "Filters": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegisterWithThirdParty": { + "type": "boolean" + }, + "TargetAction": { + "type": "string" + }, + "TargetPipeline": { + "type": "string" + }, + "TargetPipelineVersion": { + "type": "number" + } + }, + "required": [ + "Authentication", + "AuthenticationConfiguration", + "Filters", + "TargetAction", + "TargetPipeline", + "TargetPipelineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Webhook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedIPRange": { + "type": "string" + }, + "SecretToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookFilterRule": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "MatchEquals": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" + }, + "ConnectionArn": { + "type": "string" + }, + "EnableIssues": { + "type": "boolean" + }, + "IsPrivate": { + "type": "boolean" + }, + "RepositoryAccessToken": { + "type": "string" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryOwner": { + "type": "string" + } + }, + "required": [ + "RepositoryName", + "RepositoryOwner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStar::GitHubRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.Code": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "HostArn": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetailType": { + "type": "string" + }, + "EventTypeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" + }, + "type": "array" + } + }, + "required": [ + "DetailType", + "EventTypeIds", + "Name", + "Resource", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarNotifications::NotificationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule.Target": { + "additionalProperties": false, + "properties": { + "TargetAddress": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowClassicFlow": { + "type": "boolean" + }, + "AllowUnauthenticatedIdentities": { + "type": "boolean" + }, + "CognitoEvents": { + "type": "object" + }, + "CognitoIdentityProviders": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" + }, + "type": "array" + }, + "CognitoStreams": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" + }, + "DeveloperProviderName": { + "type": "string" + }, + "IdentityPoolName": { + "type": "string" + }, + "OpenIdConnectProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PushSync": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" + }, + "SamlProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SupportedLoginProviders": { + "type": "object" + } + }, + "required": [ + "AllowUnauthenticatedIdentities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "ServerSideTokenCheck": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoStreams": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "StreamingStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.PushSync": { + "additionalProperties": false, + "properties": { + "ApplicationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityPoolId": { + "type": "string" + }, + "RoleMappings": { + "type": "object" + }, + "Roles": { + "type": "object" + } + }, + "required": [ + "IdentityPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPoolRoleAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { + "additionalProperties": false, + "properties": { + "Claim": { + "type": "string" + }, + "MatchType": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Claim", + "MatchType", + "RoleARN", + "Value" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { + "additionalProperties": false, + "properties": { + "AmbiguousRoleResolution": { + "type": "string" + }, + "IdentityProvider": { + "type": "string" + }, + "RulesConfiguration": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::Cognito::UserPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountRecoverySetting": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" + }, + "AdminCreateUserConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" + }, + "AliasAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoVerifiedAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeviceConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" + }, + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" + }, + "EmailVerificationMessage": { + "type": "string" + }, + "EmailVerificationSubject": { + "type": "string" + }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" + }, + "MfaConfiguration": { + "type": "string" + }, + "Policies": { + "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" + }, + "Schema": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" + }, + "type": "array" + }, + "SmsAuthenticationMessage": { + "type": "string" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" + }, + "SmsVerificationMessage": { + "type": "string" + }, + "UserPoolAddOns": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" + }, + "UserPoolName": { + "type": "string" + }, + "UserPoolTags": { + "type": "object" + }, + "UsernameAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UsernameConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" + }, + "VerificationMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.AccountRecoverySetting": { + "additionalProperties": false, + "properties": { + "RecoveryMechanisms": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdminCreateUserConfig": { + "additionalProperties": false, + "properties": { + "AllowAdminCreateUserOnly": { + "type": "boolean" + }, + "InviteMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" + }, + "UnusedAccountValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.DeviceConfiguration": { + "additionalProperties": false, + "properties": { + "ChallengeRequiredOnNewDevice": { + "type": "boolean" + }, + "DeviceOnlyRememberedOnUserPrompt": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "type": "string" + }, + "EmailSendingAccount": { + "type": "string" + }, + "From": { + "type": "string" + }, + "ReplyToEmailAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.InviteMessageTemplate": { + "additionalProperties": false, + "properties": { + "EmailMessage": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "SMSMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, + "CustomMessage": { + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, + "DefineAuthChallenge": { + "type": "string" + }, + "KMSKeyID": { + "type": "string" + }, + "PostAuthentication": { + "type": "string" + }, + "PostConfirmation": { + "type": "string" + }, + "PreAuthentication": { + "type": "string" + }, + "PreSignUp": { + "type": "string" + }, + "PreTokenGeneration": { + "type": "string" + }, + "UserMigration": { + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.NumberAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxValue": { + "type": "string" + }, + "MinValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PasswordPolicy": { + "additionalProperties": false, + "properties": { + "MinimumLength": { + "type": "number" + }, + "RequireLowercase": { + "type": "boolean" + }, + "RequireNumbers": { + "type": "boolean" + }, + "RequireSymbols": { + "type": "boolean" + }, + "RequireUppercase": { + "type": "boolean" + }, + "TemporaryPasswordValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.Policies": { + "additionalProperties": false, + "properties": { + "PasswordPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.RecoveryOption": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SchemaAttribute": { + "additionalProperties": false, + "properties": { + "AttributeDataType": { + "type": "string" + }, + "DeveloperOnlyAttribute": { + "type": "boolean" + }, + "Mutable": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "NumberAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" + }, + "Required": { + "type": "boolean" + }, + "StringAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "ExternalId": { + "type": "string" + }, + "SnsCallerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.StringAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxLength": { + "type": "string" + }, + "MinLength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UserPoolAddOns": { + "additionalProperties": false, + "properties": { + "AdvancedSecurityMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UsernameConfiguration": { + "additionalProperties": false, + "properties": { + "CaseSensitive": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.VerificationMessageTemplate": { + "additionalProperties": false, + "properties": { + "DefaultEmailOption": { + "type": "string" + }, + "EmailMessage": { + "type": "string" + }, + "EmailMessageByLink": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "EmailSubjectByLink": { + "type": "string" + }, + "SmsMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessTokenValidity": { + "type": "number" + }, + "AllowedOAuthFlows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOAuthFlowsUserPoolClient": { + "type": "boolean" + }, + "AllowedOAuthScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalyticsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" + }, + "CallbackURLs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClientName": { + "type": "string" + }, + "DefaultRedirectURI": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" + }, + "Domain": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Domain", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Precedence": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolIdentityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeMapping": { + "type": "object" + }, + "IdpIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProviderDetails": { + "type": "object" + }, + "ProviderName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ProviderName", + "ProviderType", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolIdentityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientMetadata": { + "type": "object" + }, + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountAggregationSources": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + }, + "type": "array" + }, + "ConfigurationAggregatorName": { + "type": "string" + }, + "OrganizationAggregationSource": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationAggregator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccountIds" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "additionalProperties": false, + "properties": { + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RecordingGroup": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "RoleARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationRecorder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingGroup": { + "additionalProperties": false, + "properties": { + "AllSupported": { + "type": "boolean" + }, + "IncludeGlobalResourceTypes": { + "type": "boolean" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::ConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "ConformancePackName": { + "type": "string" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "ConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigSnapshotDeliveryProperties": { + "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" + }, + "Name": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "S3KmsKeyArn": { + "type": "string" + }, + "SnsTopicARN": { + "type": "string" + } + }, + "required": [ + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::DeliveryChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { + "additionalProperties": false, + "properties": { + "DeliveryFrequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::OrganizationConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConfigRuleName": { + "type": "string" + }, + "OrganizationCustomRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" + }, + "OrganizationManagedRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" + } + }, + "required": [ + "OrganizationConfigRuleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "LambdaFunctionArn": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "OrganizationConfigRuleTriggerTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn", + "OrganizationConfigRuleTriggerTypes" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RuleIdentifier": { + "type": "string" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "RuleIdentifier" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConformancePackName": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "OrganizationConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Automatic": { + "type": "boolean" + }, + "ConfigRuleName": { + "type": "string" + }, + "ExecutionControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" + }, + "MaximumAutomaticAttempts": { + "type": "number" + }, + "Parameters": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "RetryAttemptSeconds": { + "type": "number" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + }, + "TargetVersion": { + "type": "string" + } + }, + "required": [ + "ConfigRuleName", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::RemediationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ExecutionControls": { + "additionalProperties": false, + "properties": { + "SsmControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.RemediationParameterValue": { + "additionalProperties": false, + "properties": { + "ResourceValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" + }, + "StaticValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ResourceValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.SsmControls": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutionRatePercentage": { + "type": "number" + }, + "ErrorPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.StaticValue": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Connect::QuickConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::CustomerProfiles::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeadLetterQueueUrl": { + "type": "string" + }, + "DefaultEncryptionKey": { + "type": "string" + }, + "DefaultExpirationDays": { + "type": "number" + }, + "DomainName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "FlowDefinition": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "ObjectTypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.FlowDefinition": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FlowName": { + "type": "string" + }, + "KmsArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" + } + }, + "required": [ + "FlowName", + "KmsArn", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "FirstExecutionFrom": { + "type": "number" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleStartTime": { + "type": "number" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Marketo": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { + "additionalProperties": false, + "properties": { + "OperatorPropertyKey": { + "type": "string" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "OperatorPropertyKey", + "Property" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerProperties": { + "additionalProperties": false, + "properties": { + "Scheduled": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowProfileCreation": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "ExpirationDays": { + "type": "number" + }, + "Fields": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" + }, + "type": "array" + }, + "Keys": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" + }, + "type": "array" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::ObjectType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.FieldMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeField": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.KeyMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeKeyList": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { + "additionalProperties": false, + "properties": { + "FieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DAX::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterEndpointEncryptionType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NotificationTopicARN": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationFactor": { + "type": "number" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetGroupName": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "IAMRoleARN", + "NodeType", + "ReplicationFactor" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DAX::Cluster.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DAX::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "ParameterNameValues": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DAX::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "PolicyDetails": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DLM::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CreateRule": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Times": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.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" + }, + "NoReboot": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" + }, + "PolicyType": { + "type": "string" + }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Schedules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" + }, + "type": "array" + }, + "TargetTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetainRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Schedule": { + "additionalProperties": false, + "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" + }, + "CrossRegionCopyRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateIdentifier": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateWallet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, + "DynamoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" + }, + "ElasticsearchSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" + }, + "EndpointIdentifier": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "EngineName": { + "type": "string" + }, + "ExtraConnectionAttributes": { + "type": "string" + }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, + "KinesisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" + }, + "KmsKeyId": { + "type": "string" + }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, + "ResourceIdentifier": { + "type": "string" + }, + "S3Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" + }, + "ServerName": { + "type": "string" + }, + "SslMode": { + "type": "string" + }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "EngineName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.DynamoDbSettings": { + "additionalProperties": false, + "properties": { + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.ElasticsearchSettings": { + "additionalProperties": false, + "properties": { + "EndpointUri": { + "type": "string" + }, + "ErrorRetryDuration": { + "type": "number" + }, + "FullLoadErrorPercentage": { + "type": "number" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KinesisSettings": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MongoDbSettings": { + "additionalProperties": false, + "properties": { + "AuthMechanism": { + "type": "string" + }, + "AuthSource": { + "type": "string" + }, + "AuthType": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocsToInvestigate": { + "type": "string" + }, + "ExtractDocId": { + "type": "string" + }, + "NestingLevel": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.S3Settings": { + "additionalProperties": false, + "properties": { + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CompressionType": { + "type": "string" + }, + "CsvDelimiter": { + "type": "string" + }, + "CsvRowDelimiter": { + "type": "string" + }, + "ExternalTableDefinition": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "number" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationSubnetGroupDescription": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReplicationSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdcStartPosition": { + "type": "string" + }, + "CdcStartTime": { + "type": "number" + }, + "CdcStopPosition": { + "type": "string" + }, + "MigrationType": { + "type": "string" + }, + "ReplicationInstanceArn": { + "type": "string" + }, + "ReplicationTaskIdentifier": { + "type": "string" + }, + "ReplicationTaskSettings": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "TableMappings": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + }, + "TaskData": { + "type": "string" + } + }, + "required": [ + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" + }, + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" + }, + "Name": { + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "LocaleCode": { + "type": "string" + }, + "TimezoneOffset": { + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.ExcelOptions": { + "additionalProperties": false, + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "number" + }, + "Order": { + "type": "string" + }, + "OrderedBy": { + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "ValuesMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "ValueReference": { + "type": "string" + } + }, + "required": [ + "Value", + "ValueReference" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" + }, + "PathParameterName": { + "type": "string" + } + }, + "required": [ + "DatasetParameter", + "PathParameterName" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "RoleArn", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job.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.JobSample": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.Output": { + "additionalProperties": false, + "properties": { + "CompressionFormat": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.OutputLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "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" + }, + "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": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "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::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecipeName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sample": { + "$ref": "#/definitions/AWS::DataBrew::Project.Sample" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "Name", + "RecipeName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Project.Sample": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Steps" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Recipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.Action": { + "additionalProperties": false, + "properties": { + "Operation": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" + } + }, + "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.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { + "type": "object" + }, + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceColumn": { + "type": "string" + }, + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { + "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "JobNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CronExpression", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Schedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "type": "array" + }, + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "type": "array" + }, + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "ParameterObjects" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataPipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.Field": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActivationKey": { + "type": "string" + }, + "AgentName": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + } + }, + "required": [ + "ActivationKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Agent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" + }, + "EfsFilesystemArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Ec2Config", + "EfsFilesystemArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationEFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "FsxFilesystemArn": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxWindows" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" + }, + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "OnPremConfig", + "ServerHostname", + "Subdirectory" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationNFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS.OnPremConfig": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AgentArns" + ], + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BucketName": { + "type": "string" + }, + "SecretKey": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "ServerPort": { + "type": "number" + }, + "ServerProtocol": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AgentArns", + "BucketName", + "ServerHostname" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationObjectStorage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "S3BucketArn": { + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "S3BucketArn", + "S3Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationS3" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3.S3Config": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + } + }, + "required": [ + "BucketAccessRoleArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" + }, + "Password": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationSMB" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "DestinationLocationArn": { + "type": "string" + }, + "Excludes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" + }, + "SourceLocationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationLocationArn", + "SourceLocationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::Task.FilterRule": { + "additionalProperties": false, + "properties": { + "FilterType": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Options": { + "additionalProperties": false, + "properties": { + "Atime": { + "type": "string" + }, + "BytesPerSecond": { + "type": "number" + }, + "Gid": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "Mtime": { + "type": "string" + }, + "OverwriteMode": { + "type": "string" + }, + "PosixPermissions": { + "type": "string" + }, + "PreserveDeletedFiles": { + "type": "string" + }, + "PreserveDevices": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { + "type": "string" + }, + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "required": [ + "GraphArn", + "MemberEmailAddress", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::MemberInvitation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" + } + }, + "required": [ + "Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" + } + }, + "required": [ + "ResourceCollectionFilter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::ResourceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::SimpleAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MasterUserPassword", + "MasterUsername" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBClusterIdentifier", + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + }, + "type": "array" + }, + "Replicas": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" + }, + "type": "array" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "AttributeDefinitions", + "KeySchema", + "Replicas" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::GlobalTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SeedCapacity": { + "type": "number" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + }, + "ReadCapacityUnits": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + } + }, + "required": [ + "KMSMasterKeyId" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + }, + "Region": { + "type": "string" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "DisableScaleIn": { + "type": "boolean" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" + } + }, + "required": [ + "KeySchema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.SSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + }, + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "AttributeName", + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnAuthorizationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessGroupId": { + "type": "string" + }, + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnAuthorizationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ClientRootCertificateChainArn": { + "type": "string" + } + }, + "required": [ + "ClientRootCertificateChainArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "additionalProperties": false, + "properties": { + "CloudwatchLogGroup": { + "type": "string" + }, + "CloudwatchLogStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + } + }, + "required": [ + "DirectoryId" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceType", + "Tags" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "DestinationCidrBlock", + "TargetVpcSubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnTargetNetworkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::DHCPOptions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::EIP": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "PublicIpv4Pool": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIP" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EIPAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIPAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EgressOnlyInternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EgressOnlyInternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::FlowLog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliverLogsPermissionArn": { + "type": "string" + }, + "LogDestination": { + "type": "string" + }, + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficType": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "ResourceType", + "TrafficType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::FlowLog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::GatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + } + }, + "required": [ + "GatewayId", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::GatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Host": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPlacement": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Host" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Instance": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "string" + }, + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + }, + "UserData": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.AssociationParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EC2::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + }, + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::Instance.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex" + ], + "type": "object" + }, + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::InternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LaunchTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "additionalProperties": false, + "properties": { + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "Throughput": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" + }, + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + }, + "type": "array" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Monitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociateCarrierIpAddress": { + "type": "boolean" + }, + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" + }, + "type": "array" + }, + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.SpotOptions": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "SpotInstanceType": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LocalGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "LocalGatewayRouteTableId": { + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LocalGatewayRouteTableId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NatGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "ConnectivityType": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAcl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAclEntry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkInsightsPathId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "NetworkInsightsPathId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "ComponentId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationIp": { + "type": "string" + }, + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Destination", + "Protocol", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsPath" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "DeviceIndex": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfaceAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfacePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "NetworkInterfaceId", + "Permission" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfacePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PlacementGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Strategy": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PlacementGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CarrierGatewayId": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationIpv6CidrBlock": { + "type": "string" + }, + "EgressOnlyInternetGatewayId": { + "type": "string" + }, + "GatewayId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LocalGatewayId": { + "type": "string" + }, + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + } + }, + "required": [ + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupDescription": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "SecurityGroupEgress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + }, + "type": "array" + }, + "SecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Egress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupEgress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "GroupId", + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupEgress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + } + }, + "required": [ + "SpotFleetRequestConfigData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "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" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Subnet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ipv6CidrBlock": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "Ipv6CidrBlock", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrBlock" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetNetworkAclAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "RouteTableId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TransitGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "TransitGatewayId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransportTransitGatewayAttachmentId": { + "type": "string" + } + }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayConnect" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { + "additionalProperties": false, + "properties": { + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupMember": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTablePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "EnableDnsHostnames": { + "type": "boolean" + }, + "EnableDnsSupport": { + "type": "boolean" + }, + "InstanceTenancy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CidrBlock" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "ServiceName", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointConnectionNotification": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointServicePermissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCGatewayAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InternetGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCPeeringConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerOwnerId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerRoleArn": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "PeerVpcId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCPeeringConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayId": { + "type": "string" + }, + "StaticRoutesOnly": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" + } + }, + "required": [ + "CustomerGatewayId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "PreSharedKey": { + "type": "string" + }, + "TunnelInsideCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnectionRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "VpnConnectionId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "VpnConnectionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnectionRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGatewayRoutePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "RouteTableIds", + "VpnGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGatewayRoutePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoEnableIO": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Size": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throughput": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VolumeAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "InstanceId", + "VolumeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VolumeAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "required": [ + "Region", + "RegistryId" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" + } + }, + "required": [ + "Destinations" + ], + "type": "object" + }, + "AWS::ECR::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" + }, + "ImageScanningConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "InstanceWarmupPeriod": { + "type": "number" + }, + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" + }, + "type": "array" + } + }, + "required": [ + "CapacityProviders", + "Cluster", + "DefaultCapacityProviderStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::ClusterCapacityProviderAssociations" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentCircuitBreaker": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + }, + "Rollback": { + "type": "boolean" + } + }, + "required": [ + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" + }, + "MaximumPercent": { + "type": "number" + }, + "MinimumHealthyPercent": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentController": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Service.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { + "type": "string" + }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "InferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + }, + "type": "array" + }, + "IpcMode": { + "type": "string" + }, + "Memory": { + "type": "string" + }, + "NetworkMode": { + "type": "string" + }, + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DockerSecurityOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { + "type": "boolean" + }, + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "Interactive": { + "type": "boolean" + }, + "Links": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { + "type": "number" + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDependency": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "ContainerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Autoprovision": { + "type": "boolean" + }, + "Driver": { + "type": "string" + }, + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Scope": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "type": "object" + }, + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FilesystemId" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EphemeralStorage": { + "additionalProperties": false, + "properties": { + "SizeInGiB": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostEntry": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "IpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostVolumeProperties": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Drop": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.MountPoint": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { + "type": "number" + }, + "HostPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.RepositoryCredentials": { + "additionalProperties": false, + "properties": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.SystemControl": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "Size" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" + }, + "ClientToken": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.AccessPointTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Uid": { + "type": "string" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Addon": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddonName": { + "type": "string" + }, + "AddonVersion": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "ResolveConflicts": { + "type": "string" + }, + "ServiceAccountRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddonName", + "ClusterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Addon" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ResourcesVpcConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "type": "string" + }, + "FargateProfileName": { + "type": "string" + }, + "PodExecutionRoleArn": { + "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "PodExecutionRoleArn", + "Selectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::FargateProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmiType": { + "type": "string" + }, + "CapacityType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Taints": { + "items": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" + }, + "type": "array" + }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ClusterName", + "NodeRole", + "Subnets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Nodegroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.Taint": { + "additionalProperties": false, + "properties": { + "Effect": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "object" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { + "type": "string" + }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Application": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::Cluster.BootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" + } + }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], + "type": "object" + }, + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::Cluster.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { + "type": "boolean" + }, + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { + "type": "string" + }, + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { + "type": "string" + } + }, + "required": [ + "KdcAdminPassword", + "Realm" + ], + "type": "object" + }, + "AWS::EMR::Cluster.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::Cluster.PlacementType": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::Cluster.StepConfig": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "required": [ + "ClusterId", + "InstanceFleetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceFleetConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "object" + } + }, + "required": [ + "SecurityConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + }, + "JobFlowId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Step.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthMode": { + "type": "string" + }, + "DefaultS3Location": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineSecurityGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::StudioSessionMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerProvider", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRContainers::VirtualCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { + "additionalProperties": false, + "properties": { + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" + } + }, + "required": [ + "EksInfo" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Info", + "Type" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.EksInfo": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheParameterGroupFamily": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CacheParameterGroupFamily", + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSubnetGroupName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessString": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Engine", + "UserId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::UserGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Engine": { + "type": "string" + }, + "UserGroupId": { + "type": "string" + }, + "UserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine", + "UserGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::UserGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "ServiceRole": { + "type": "string" + }, + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "additionalProperties": false, + "properties": { + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + }, + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + } + }, + "required": [ + "ApplicationName", + "SourceBundle" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ConfigurationTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ApplicationName", + "TemplateName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancing::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "additionalProperties": false, + "properties": { + "EmitInterval": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { + "type": "string" + }, + "S3BucketPrefix": { + "type": "string" + } + }, + "required": [ + "Enabled", + "S3BucketName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieName": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" + }, + "Interval": { + "type": "string" + }, + "Target": { + "type": "string" + }, + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { + "type": "string" + } + }, + "required": [ + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieExpirationPeriod": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "string" + }, + "InstanceProtocol": { + "type": "string" + }, + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerPort", + "Protocol" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" + }, + "type": "array" + }, + "DefaultActions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + }, + "type": "array" + }, + "LoadBalancerArn": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "SslPolicy": { + "type": "string" + } + }, + "required": [ + "DefaultActions", + "LoadBalancerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + } + }, + "required": [ + "Certificates", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" + }, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Actions", + "Conditions", + "ListenerArn", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IpAddressType": { + "type": "string" + }, + "LoadBalancerAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicies": { + "type": "object" + }, + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { + "type": "string" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Elasticsearch::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "additionalProperties": false, + "properties": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Discoverer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Discoverer.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Content", + "RegistryName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::ApiDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "InvocationEndpoint": { + "type": "string" + }, + "InvocationRateLimitPerSecond": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "RetentionDays": { + "type": "number" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Archive" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthParameters": { + "type": "object" + }, + "AuthorizationType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthParameters", + "AuthorizationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBus": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" + }, + "EventBusName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "Statement": { + "type": "object" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBusPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy.Condition": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBusName": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Events::Rule.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchArrayProperties": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.BatchParameters": { + "additionalProperties": false, + "properties": { + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" + }, + "JobDefinition": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" + } + }, + "required": [ + "JobDefinition", + "JobName" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchRetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { + "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "type": "object" + }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "type": "array" + } + }, + "required": [ + "RunCommandTargets" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandTarget": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + } + }, + "required": [ + "Arn", + "Id" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StopConditions": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Targets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" + } + }, + "type": "object" + } + }, + "required": [ + "Description", + "RoleArn", + "StopConditions", + "Tags", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FIS::ExperimentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { + "additionalProperties": false, + "properties": { + "ActionId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "StartAfter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ActionId" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "SelectionMode": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "SelectionMode" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Path", + "Values" + ], + "type": "object" + }, + "AWS::FMS::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SnsRoleName": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "SnsRoleName", + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { + "type": "string" + }, + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { + "type": "string" + }, + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" + } + }, + "required": [ + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy.IEMap": { + "additionalProperties": false, + "properties": { + "ACCOUNT": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FMS::Policy.PolicyTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::FMS::Policy.ResourceTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::FSx::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupId": { + "type": "string" + }, + "FileSystemType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + } + }, + "required": [ + "FileSystemType", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.LustreConfiguration": { + "additionalProperties": false, + "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DataCompressionType": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "DriveCacheType": { + "type": "string" + }, + "ExportPath": { + "type": "string" + }, + "ImportPath": { + "type": "string" + }, + "ImportedFileChunkSize": { + "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.WindowsConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryId": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "required": [ + "ThroughputCapacity" + ], + "type": "object" + }, + "AWS::FinSpace::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FederationMode": { + "type": "string" + }, + "FederationParameters": { + "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FinSpace::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FinSpace::Environment.FederationParameters": { + "additionalProperties": false, + "properties": { + "ApplicationCallBackURL": { + "type": "string" + }, + "AttributeMap": { + "type": "object" + }, + "FederationProviderName": { + "type": "string" + }, + "FederationURN": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "SamlMetadataURL": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "DetectorVersionStatus": { + "type": "string" + }, + "EventType": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" + }, + "RuleExecutionMode": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorId", + "EventType", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Detector.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" + }, + "type": "array" + }, + "Inline": { + "type": "boolean" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" + }, + "type": "array" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Outcome": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Rule": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "Language": { + "type": "string" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Outcomes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" + }, + "type": "array" + }, + "RuleId": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EntityType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" + }, + "type": "array" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EntityTypes", + "EventVariables", + "Labels", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EventType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Label": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Label" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Outcome": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Outcome" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Variable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "DataSource", + "DataType", + "DefaultValue", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Variable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + } + }, + "required": [ + "Name", + "RoutingStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias.RoutingStrategy": { + "additionalProperties": false, + "properties": { + "FleetId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Build" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GameLift::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BuildId": { + "type": "string" + }, + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "Locations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinSize": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.CertificateConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationCapacity": { + "additionalProperties": false, + "properties": { + "DesiredEC2Instances": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "required": [ + "DesiredEC2Instances", + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationConfiguration": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "LocationCapacity": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "additionalProperties": false, + "properties": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { + "type": "string" + }, + "Parameters": { + "type": "string" + } + }, + "required": [ + "ConcurrentExecutions", + "LaunchPath" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" + }, + "BalancingStrategy": { + "type": "string" + }, + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameServerGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "EstimatedInstanceWarmup": { + "type": "number" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomEventData": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" + }, + "FilterConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "PlayerLatencyPolicies": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" + }, + "type": "array" + }, + "PriorityConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameSessionQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.Destination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.FilterConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedLocations": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { + "additionalProperties": false, + "properties": { + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" + }, + "PolicyDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { + "additionalProperties": false, + "properties": { + "LocationOrder": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PriorityOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { + "type": "string" + }, + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { + "items": { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RuleSetBody": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleSetBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "StorageLocation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Script" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Accelerator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Accelerator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { + "type": "string" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" + } + }, + "required": [ + "EndpointGroupRegion", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "ClientIPPreservationEnabled": { + "type": "boolean" + }, + "EndpointId": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "EndpointId" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + } + }, + "required": [ + "Role", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Crawler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Crawler.CatalogTarget": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.DynamoDBTarget": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.JdbcTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.S3Target": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.SchemaChangePolicy": { + "additionalProperties": false, + "properties": { + "DeleteBehavior": { + "type": "string" + }, + "UpdateBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Targets": { + "additionalProperties": false, + "properties": { + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" + }, + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" + }, + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" + }, + "S3Targets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + } + }, + "required": [ + "CatalogId", + "DataCatalogEncryptionSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataCatalogEncryptionSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" + }, + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "CatalogEncryptionMode": { + "type": "string" + }, + "SseAwsKmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + } + }, + "required": [ + "CatalogId", + "DatabaseInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseInput": { + "additionalProperties": false, + "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" + } + }, + "type": "object" + }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, + "AWS::Glue::DevEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "EndpointName": { + "type": "string" + }, + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DevEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedCapacity": { + "type": "number" + }, + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" + }, + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "Command", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job.ConnectionsList": { + "additionalProperties": false, + "properties": { + "Connections": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Job.ExecutionProperty": { + "additionalProperties": false, + "properties": { + "MaxConcurrentRuns": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "InputRecordTables", + "Role", + "TransformParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::MLTransform" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.FindMatchesParameters": { + "additionalProperties": false, + "properties": { + "AccuracyCostTradeoff": { + "type": "number" + }, + "EnforceProvidedLabels": { + "type": "boolean" + }, + "PrecisionRecallTradeoff": { + "type": "number" + }, + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { + "items": { + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.MLUserDataEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MLUserDataEncryptionMode": { + "type": "string" + } + }, + "required": [ + "MLUserDataEncryptionMode" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Partition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Partition.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { + "type": "object" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" + }, + "Compatibility": { + "type": "string" + }, + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" + }, + "SchemaDefinition": { + "type": "string" + } + }, + "required": [ + "Schema", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SchemaVersion.Schema": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersionMetadata": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "SchemaVersionId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "SchemaVersionId", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersionMetadata" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "TableInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Table.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Action" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { + "type": "string" + }, + "StartOnCreation": { + "type": "boolean" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "WorkflowName": { + "type": "string" + } + }, + "required": [ + "Actions", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Trigger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Trigger.Action": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "CrawlState": { + "type": "string" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultRunProperties": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Workflow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionId": { + "type": "string" + }, + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" + } + }, + "required": [ + "ConnectorDefinitionId", + "Connectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CoreDefinitionId": { + "type": "string" + }, + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" + } + }, + "required": [ + "CoreDefinitionId", + "Cores" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InlineRecipe": { + "type": "string" + }, + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::ComponentVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { + "additionalProperties": false, + "properties": { + "DependencyType": { + "type": "string" + }, + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" + }, + "MemorySizeInKB": { + "type": "number" + }, + "MountROSysfs": { + "type": "boolean" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { + "additionalProperties": false, + "properties": { + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" + }, + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InputPayloadEncodingType": { + "type": "string" + }, + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" + }, + "MaxIdleTimeInSeconds": { + "type": "number" + }, + "MaxInstancesCount": { + "type": "number" + }, + "MaxQueueSize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "StatusTimeoutInSeconds": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { + "additionalProperties": false, + "properties": { + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" + }, + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" + }, + "ComponentName": { + "type": "string" + }, + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" + }, + "ComponentVersion": { + "type": "string" + }, + "LambdaArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { + "additionalProperties": false, + "properties": { + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" + }, + "IsolationMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "DestinationPath": { + "type": "string" + }, + "Permission": { + "type": "string" + }, + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigData": { + "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConfigData", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::Config" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { + "additionalProperties": false, + "properties": { + "DecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" + }, + "DemodulationConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" + }, + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaUplinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" + }, + "TargetEirp": { + "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" + }, + "TransmitDisabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.ConfigData": { + "additionalProperties": false, + "properties": { + "AntennaDownlinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" + }, + "AntennaDownlinkDemodDecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" + }, + "AntennaUplinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" + }, + "DataflowEndpointConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" + }, + "S3RecordingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" + }, + "TrackingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" + }, + "UplinkEchoConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DataflowEndpointConfig": { + "additionalProperties": false, + "properties": { + "DataflowEndpointName": { + "type": "string" + }, + "DataflowEndpointRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DecodeConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DemodulationConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Eirp": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Frequency": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.FrequencyBandwidth": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.S3RecordingConfig": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.SpectrumConfig": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" + }, + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.TrackingConfig": { + "additionalProperties": false, + "properties": { + "Autotrack": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkEchoConfig": { + "additionalProperties": false, + "properties": { + "AntennaUplinkConfigArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkSpectrumConfig": { + "additionalProperties": false, + "properties": { + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointDetails": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::DataflowEndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" + }, + "Mtu": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" + }, + "SecurityDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::MissionProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactPostPassDurationSeconds": { + "type": "number" + }, + "ContactPrePassDurationSeconds": { + "type": "number" + }, + "DataflowEdges": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" + }, + "type": "array" + }, + "MinimumViableContactDurationSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrackingConfigArn": { + "type": "string" + } + }, + "required": [ + "DataflowEdges", + "MinimumViableContactDurationSeconds", + "Name", + "TrackingConfigArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::MissionProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::MissionProfile.DataflowEdge": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatIntelSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::AccessKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Group.Policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::Group.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::InstanceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::OIDCProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThumbprintList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ThumbprintList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::OIDCProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssumeRolePolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Role" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::SAMLProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ServerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateBody": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AWSServiceName": { + "type": "string" + }, + "CustomSuffix": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AWSServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServiceLinkedRole" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::UserToGroupAddition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::VirtualMFADevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } + }, + "required": [ + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorized": { + "type": "boolean" + }, + "LatencyMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecordingConfigurationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVS::PlaybackKeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVS::StreamKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ChannelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Component": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Platform", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "ContainerType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ContainerRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Distributions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "ContainerDistributionConfiguration": { + "type": "object" + }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "Name", + "ParentImage", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetName": { + "type": "string" + }, + "ResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Inspector::AssessmentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetArn": { + "type": "string" + }, + "AssessmentTemplateName": { + "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Inspector::ResourceGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupTags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Placement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { + "additionalProperties": false, + "properties": { + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" + } + }, + "type": "object" + }, + "AWS::IoT::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerFunctionArn": { + "type": "string" + }, + "AuthorizerName": { + "type": "string" + }, + "SigningDisabled": { + "type": "boolean" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TokenKeyName": { + "type": "string" + }, + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "AuthorizerFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::CustomMetric": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "MetricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MetricType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::CustomMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Dimension": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StringValues", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Dimension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { + "type": "string" + }, + "DomainConfigurationStatus": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "ServerCertificateArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::DomainConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { + "additionalProperties": false, + "properties": { + "AllowAuthorizerOverride": { + "type": "boolean" + }, + "DefaultAuthorizerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { + "additionalProperties": false, + "properties": { + "ServerCertificateArn": { + "type": "string" + }, + "ServerCertificateStatus": { + "type": "string" + }, + "ServerCertificateStatusDetail": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ActionParams", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::MitigationAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ActionParams": { + "additionalProperties": false, + "properties": { + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" + }, + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" + }, + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" + }, + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" + }, + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" + }, + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { + "additionalProperties": false, + "properties": { + "OverrideDynamicGroups": { + "type": "boolean" + }, + "ThingGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ThingGroupNames" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { + "type": "string" + } + }, + "required": [ + "LogLevel", + "RoleArnForLogging" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { + "additionalProperties": false, + "properties": { + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::ScheduledAudit": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" + }, + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" + }, + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" + }, + "SecurityProfileDescription": { + "type": "string" + }, + "SecurityProfileName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.AlertTarget": { + "additionalProperties": false, + "properties": { + "AlertTargetArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AlertTargetArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.Behavior": { + "additionalProperties": false, + "properties": { + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" + }, + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + }, + "Name": { + "type": "string" + }, + "SuppressAlerts": { + "type": "boolean" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.BehaviorCriteria": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "ConsecutiveDatapointsToAlarm": { + "type": "number" + }, + "ConsecutiveDatapointsToClear": { + "type": "number" + }, + "DurationSeconds": { + "type": "number" + }, + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" + }, + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { + "additionalProperties": false, + "properties": { + "ConfidenceLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricDimension": { + "additionalProperties": false, + "properties": { + "DimensionName": { + "type": "string" + }, + "Operator": { + "type": "string" + } + }, + "required": [ + "DimensionName" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricToRetain": { + "additionalProperties": false, + "properties": { + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + } + }, + "required": [ + "Metric" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricValue": { + "additionalProperties": false, + "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Count": { + "type": "string" + }, + "Number": { + "type": "number" + }, + "Numbers": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Strings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.StatisticalThreshold": { + "additionalProperties": false, + "properties": { + "Statistic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" + }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, + "IotAnalytics": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, + "Kinesis": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { + "type": "string" + } + }, + "required": [ + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchMetricAction": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricTimestamp": { + "type": "string" + }, + "MetricUnit": { + "type": "string" + }, + "MetricValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBAction": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBv2Action": { + "additionalProperties": false, + "properties": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.FirehoseAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "ChannelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ChannelName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KinesisAction": { + "additionalProperties": false, + "properties": { + "PartitionKey": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.PutItemInput": { + "additionalProperties": false, + "properties": { + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.RepublishAction": { + "additionalProperties": false, + "properties": { + "Qos": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "CannedAcl": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SnsAction": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SqsAction": { + "additionalProperties": false, + "properties": { + "QueueUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.StepFunctionsAction": { + "additionalProperties": false, + "properties": { + "ExecutionNamePrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StateMachineName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TopicRulePayload": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" + }, + "AwsIotSqlVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "RuleDisabled": { + "type": "boolean" + }, + "Sql": { + "type": "string" + } + }, + "required": [ + "Actions", + "Sql" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { + "additionalProperties": false, + "properties": { + "ConfirmationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ChannelStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Action": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + }, + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" + } + }, + "required": [ + "ActionName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ContainerAction": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" + }, + "EntryName": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { + "additionalProperties": false, + "properties": { + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTime": { + "additionalProperties": false, + "properties": { + "OffsetSeconds": { + "type": "number" + }, + "TimeExpression": { + "type": "string" + } + }, + "required": [ + "OffsetSeconds", + "TimeExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { + "additionalProperties": false, + "properties": { + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutInMinutes" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Filter": { + "additionalProperties": false, + "properties": { + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRule": { + "additionalProperties": false, + "properties": { + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "RuleConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { + "additionalProperties": false, + "properties": { + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { + "additionalProperties": false, + "properties": { + "FileName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.QueryAction": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "SqlQuery" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { + "additionalProperties": false, + "properties": { + "ComputeType": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "required": [ + "NumberOfDays", + "Unlimited" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Trigger": { + "additionalProperties": false, + "properties": { + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" + }, + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "required": [ + "DatasetName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Variable": { + "additionalProperties": false, + "properties": { + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + }, + "DoubleValue": { + "type": "number" + }, + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + }, + "StringValue": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "VariableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "DatastorePartitions": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" + }, + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + }, + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Datastore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Column": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartition": { + "additionalProperties": false, + "properties": { + "Partition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" + }, + "TimestampPartition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartitions": { + "additionalProperties": false, + "properties": { + "Partitions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { + "additionalProperties": false, + "properties": { + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" + }, + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { + "additionalProperties": false, + "properties": { + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Partition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.TimestampPartition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "TimestampFormat": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineActivities": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + }, + "type": "array" + }, + "PipelineName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineActivities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Activity": { + "additionalProperties": false, + "properties": { + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + }, + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + }, + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" + }, + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.AddAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Channel": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Datastore": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Filter": { + "additionalProperties": false, + "properties": { + "Filter": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Lambda": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "LambdaName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Math": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Math": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + }, + "DetectorModelDescription": { + "type": "string" + }, + "DetectorModelName": { + "type": "string" + }, + "EvaluationMethod": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::DetectorModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Action": { + "additionalProperties": false, + "properties": { + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, + "IotTopicPublish": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ClearTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { + "type": "string" + }, + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" + }, + "type": "array" + } + }, + "required": [ + "InitialStateName", + "States" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Event": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + } + }, + "required": [ + "EventName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotEvents": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "InputName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" + } + }, + "required": [ + "PropertyValue" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "MqttTopic" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + }, + "TransitionEvents": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContentExpression", + "Type" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ResetTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetTimer": { + "additionalProperties": false, + "properties": { + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "Value", + "VariableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sns": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sqs": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "required": [ + "StateName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" + } + }, + "required": [ + "Condition", + "EventName", + "NextState" + ], + "type": "object" + }, + "AWS::IoTEvents::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + }, + "InputDescription": { + "type": "string" + }, + "InputName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InputDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.Attribute": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "required": [ + "Attributes" + ], + "type": "object" + }, + "AWS::IoTFleetHub::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTFleetHub::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" + }, + "AccessPolicyPermission": { + "type": "string" + }, + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" + } + }, + "required": [ + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AccessPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" + }, + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelId", + "AssetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" + }, + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { + "additionalProperties": false, + "properties": { + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "Offset": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardDefinition": { + "type": "string" + }, + "DashboardDescription": { + "type": "string" + }, + "DashboardName": { + "type": "string" + }, + "ProjectId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DashboardDefinition", + "DashboardDescription", + "DashboardName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alarms": { + "type": "object" + }, + "NotificationSenderEmail": { + "type": "string" + }, + "PortalAuthMode": { + "type": "string" + }, + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalContactEmail", + "PortalName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Portal" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PortalId": { + "type": "string" + }, + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalId", + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "ExpressionType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ExpressionType", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::DeviceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { + "additionalProperties": false, + "properties": { + "ClassBTimeout": { + "type": "number" + }, + "ClassCTimeout": { + "type": "number" + }, + "MacVersion": { + "type": "string" + }, + "MaxDutyCycle": { + "type": "number" + }, + "MaxEirp": { + "type": "number" + }, + "PingSlotDr": { + "type": "number" + }, + "PingSlotFreq": { + "type": "number" + }, + "PingSlotPeriod": { + "type": "number" + }, + "RegParamsRevision": { + "type": "string" + }, + "RfRegion": { + "type": "string" + }, + "Supports32BitFCnt": { + "type": "boolean" + }, + "SupportsClassB": { + "type": "boolean" + }, + "SupportsClassC": { + "type": "boolean" + }, + "SupportsJoin": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountLinked": { + "type": "boolean" + }, + "Fingerprint": { + "type": "string" + }, + "PartnerAccountId": { + "type": "string" + }, + "PartnerType": { + "type": "string" + }, + "Sidewalk": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" + }, + "SidewalkUpdate": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::PartnerAccount" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "required": [ + "AppServerPrivateKey" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::ServiceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoCreateTasks": { + "type": "boolean" + }, + "LoRaWANUpdateGatewayTaskEntry": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinitionType": { + "type": "string" + }, + "Update": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" + } + }, + "required": [ + "AutoCreateTasks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { + "additionalProperties": false, + "properties": { + "Model": { + "type": "string" + }, + "PackageVersion": { + "type": "string" + }, + "Station": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "SigKeyCrc": { + "type": "number" + }, + "UpdateSignature": { + "type": "string" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" + }, + "UpdateDataRole": { + "type": "string" + }, + "UpdateDataSource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationName": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessDevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV10x": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV11": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { + "additionalProperties": false, + "properties": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { + "type": "string" + }, + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { + "additionalProperties": false, + "properties": { + "AppEui": { + "type": "string" + }, + "AppKey": { + "type": "string" + } + }, + "required": [ + "AppEui", + "AppKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV11": { + "additionalProperties": false, + "properties": { + "AppKey": { + "type": "string" + }, + "JoinEui": { + "type": "string" + }, + "NwkKey": { + "type": "string" + } + }, + "required": [ + "AppKey", + "JoinEui", + "NwkKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "NwkSKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "NwkSKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "FNwkSIntKey": { + "type": "string" + }, + "NwkSEncKey": { + "type": "string" + }, + "SNwkSIntKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "LoRaWAN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { + "additionalProperties": false, + "properties": { + "GatewayEui": { + "type": "string" + }, + "RfRegion": { + "type": "string" + } + }, + "required": [ + "GatewayEui", + "RfRegion" + ], + "type": "object" + }, + "AWS::KMS::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasName": { + "type": "string" + }, + "TargetKeyId": { + "type": "string" + } + }, + "required": [ + "AliasName", + "TargetKeyId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::Key": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { + "type": "string" + }, + "KeyUsage": { + "type": "string" + }, + "MultiRegion": { + "type": "boolean" + }, + "PendingWindowInDays": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Key" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "IndexId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.AccessControlListConfiguration": { + "additionalProperties": false, + "properties": { + "KeyPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { + "type": "string" + } + }, + "required": [ + "AllowedGroupsColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ColumnConfiguration": { + "additionalProperties": false, + "properties": { + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DocumentDataColumnName": { + "type": "string" + }, + "DocumentIdColumnName": { + "type": "string" + }, + "DocumentTitleColumnName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" + }, + "CrawlAttachments": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { + "additionalProperties": false, + "properties": { + "BlogFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" + }, + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" + }, + "Version": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { + "additionalProperties": false, + "properties": { + "PageFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlArchivedSpaces": { + "type": "boolean" + }, + "CrawlPersonalSpaces": { + "type": "boolean" + }, + "ExcludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpaceFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConnectionConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DatabaseConfiguration": { + "additionalProperties": false, + "properties": { + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + }, + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + }, + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + }, + "DatabaseEngineType": { + "type": "string" + }, + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "S3Prefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { + "additionalProperties": false, + "properties": { + "ExcludeMimeTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeSharedDrives": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeUserAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveConfiguration": { + "additionalProperties": false, + "properties": { + "DisableLocalGroups": { + "type": "boolean" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + }, + "SecretArn": { + "type": "string" + }, + "TenantDomain": { + "type": "string" + } + }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveUsers": { + "additionalProperties": false, + "properties": { + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + }, + "BucketName": { + "type": "string" + }, + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPrefixes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeFilterTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceConfiguration": { + "additionalProperties": false, + "properties": { + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" + }, + "CrawlAttachments": { + "type": "boolean" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" + }, + "StandardObjectConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SecretArn", + "ServerUrl" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CustomKnowledgeArticleTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" + }, + "IncludedStates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" + } + }, + "required": [ + "IncludedStates" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowConfiguration": { + "additionalProperties": false, + "properties": { + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { + "type": "string" + } + }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SharePointConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DisableLocalGroups": { + "type": "boolean" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + }, + "SharePointVersion": { + "type": "string" + }, + "Urls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UseChangeLog": { + "type": "boolean" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SqlConfiguration": { + "additionalProperties": false, + "properties": { + "QueryIdentifiersEnclosingOption": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Faq": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::Index": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Index.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "QueryCapacityUnits": { + "type": "number" + }, + "StorageCapacityUnits": { + "type": "number" + } + }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], + "type": "object" + }, + "AWS::Kendra::Index.DocumentMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" + }, + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "GroupAttributeField": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], + "type": "object" + }, + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "ClaimRegex": { + "type": "string" + }, + "GroupAttributeField": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "KeyLocation": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "URL": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "Freshness": { + "type": "boolean" + }, + "Importance": { + "type": "number" + }, + "RankOrder": { + "type": "string" + }, + "ValueImportanceItems": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.Search": { + "additionalProperties": false, + "properties": { + "Displayable": { + "type": "boolean" + }, + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.UserTokenConfiguration": { + "additionalProperties": false, + "properties": { + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" + }, + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ValueImportanceItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ShardCount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KeyId": { + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationMode": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + }, + "CodeContentType": { + "type": "string" + } + }, + "required": [ + "CodeContent", + "CodeContentType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + }, + "ZeppelinApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { + "additionalProperties": false, + "properties": { + "SnapshotsEnabled": { + "type": "boolean" + } + }, + "required": [ + "SnapshotsEnabled" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { + "additionalProperties": false, + "properties": { + "GlueDataCatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointInterval": { + "type": "number" + }, + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CodeContent": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { + "type": "string" + }, + "ZipFileContent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactType": { + "type": "string" + }, + "MavenReference": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" + }, + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + } + }, + "required": [ + "ArtifactType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" + } + }, + "required": [ + "S3ContentLocation" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { + "additionalProperties": false, + "properties": { + "PropertyGroups": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" + }, + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MavenReference": { + "additionalProperties": false, + "properties": { + "ArtifactId": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ArtifactId", + "GroupId", + "Version" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "MetricsLevel": { + "type": "string" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "Parallelism": { + "type": "number" + }, + "ParallelismPerKPU": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "additionalProperties": false, + "properties": { + "PropertyGroupId": { + "type": "string" + }, + "PropertyMap": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "BucketARN": { + "type": "string" + } + }, + "required": [ + "BasePath", + "BucketARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" + }, + "CustomArtifactsConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" + }, + "DeployAsApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "LogStreamARN": { + "type": "string" + } + }, + "required": [ + "LogStreamARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, + "DeliveryStreamName": { + "type": "string" + }, + "DeliveryStreamType": { + "type": "string" + }, + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" + }, + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" + }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" + }, + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisFirehose::DeliveryStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "additionalProperties": false, + "properties": { + "CopyOptions": { + "type": "string" + }, + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" + } + }, + "required": [ + "DataTableName" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + }, + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + }, + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "additionalProperties": false, + "properties": { + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + }, + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "type": "string" + }, + "DomainARN": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "IndexRotationPeriod": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "TypeName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" + } + }, + "required": [ + "IndexName", + "RoleARN", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "additionalProperties": false, + "properties": { + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "additionalProperties": false, + "properties": { + "AWSKMSKeyARN": { + "type": "string" + } + }, + "required": [ + "AWSKMSKeyARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "KinesisStreamARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "additionalProperties": false, + "properties": { + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "BloomFilterColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BloomFilterFalsePositiveProbability": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { + "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "EnableDictionaryCompression": { + "type": "boolean" + }, + "MaxPaddingBytes": { + "type": "number" + }, + "PageSizeBytes": { + "type": "number" + }, + "WriterVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Processors": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Processor": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterJDBCURL": { + "type": "string" + }, + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { + "type": "number" + }, + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { + "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::DataLakeSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsWithGrantOption": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" + } + }, + "required": [ + "DataLakePrincipal", + "Resource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Permissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.Resource": { + "additionalProperties": false, + "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, + "DatabaseResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" + }, + "TableResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseServiceLinkedRole": { + "type": "boolean" + } + }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" + } + }, + "required": [ + "FunctionName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" + }, + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AllowedPublishers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::CodeSigningConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + }, + "FunctionName": { + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "Qualifier": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventInvokeConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionResponseTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "StartingPositionTimestamp": { + "type": "number" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventSourceMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" + } + }, + "required": [ + "Code", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Function.Code": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, + "AWS::Lambda::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion.Content": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersionPermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "LayerVersionArn": { + "type": "string" + }, + "OrganizationId": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Action", + "LayerVersionArn", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersionPermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Permission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "EventSourceToken": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "Action", + "FunctionName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { + "type": "string" + }, + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::Grant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LicenseManager::License": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Beneficiary": { + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "type": "array" + }, + "HomeRegion": { + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "type": "array" + }, + "LicenseName": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProductSKU": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" + } + }, + "required": [ + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Overage": { + "type": "boolean" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SignKey": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "type": "string" + }, + "End": { + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + } + }, + "required": [ + "CollectionName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" + }, + "Description": { + "type": "string" + }, + "MapName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "Configuration", + "MapName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Map" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "DataSource", + "IndexName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::PlaceIndex" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CalculatorName": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "CalculatorName", + "DataSource", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::RouteCalculator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Tracker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "PricingPlan", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Tracker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::TrackerConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerArn": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "ConsumerArn", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::TrackerConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationName": { + "type": "string" + }, + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::LogGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RetentionInDays": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Logs::LogStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MetricTransformations": { + "items": { + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + }, + "type": "array" + } + }, + "required": [ + "FilterPattern", + "LogGroupName", + "MetricTransformations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::MetricFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter.MetricTransformation": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricValue": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], + "type": "object" + }, + "AWS::Logs::QueryDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "required": [ + "Name", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::QueryDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::SubscriptionFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { + "type": "object" + }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, + "AlertDescription": { + "type": "string" + }, + "AlertName": { + "type": "string" + }, + "AlertSensitivityThreshold": { + "type": "number" + }, + "AnomalyDetectorArn": { + "type": "string" + } + }, + "required": [ + "Action", + "AlertSensitivityThreshold", + "AnomalyDetectorArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::Alert" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" + }, + "AnomalyDetectorDescription": { + "type": "string" + }, + "AnomalyDetectorName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MetricSetList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" + }, + "type": "array" + } + }, + "required": [ + "AnomalyDetectorConfig", + "MetricSetList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { + "additionalProperties": false, + "properties": { + "FlowName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FlowName", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "FileCompression": { + "type": "string" + }, + "HeaderList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { + "additionalProperties": false, + "properties": { + "CsvFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" + }, + "JsonFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "FileCompression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.Metric": { + "additionalProperties": false, + "properties": { + "AggregationFunction": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "AggregationFunction", + "MetricName" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { + "additionalProperties": false, + "properties": { + "DimensionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" + }, + "type": "array" + }, + "MetricSetDescription": { + "type": "string" + }, + "MetricSetFrequency": { + "type": "string" + }, + "MetricSetName": { + "type": "string" + }, + "MetricSource": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" + }, + "Offset": { + "type": "number" + }, + "TimestampColumn": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "MetricList", + "MetricSetName", + "MetricSource" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { + "additionalProperties": false, + "properties": { + "AppFlowConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" + }, + "CloudwatchConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" + }, + "RDSSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" + }, + "RedshiftSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" + }, + "S3SourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { + "additionalProperties": false, + "properties": { + "DBInstanceIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "DBInstanceIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { + "additionalProperties": false, + "properties": { + "ClusterIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "ClusterIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { + "additionalProperties": false, + "properties": { + "FileFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" + }, + "HistoricalDataPathList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TemplatedPathList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FileFormatDescriptor", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { + "additionalProperties": false, + "properties": { + "ColumnFormat": { + "type": "string" + }, + "ColumnName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIdList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIdList", + "SubnetIdList" + ], + "type": "object" + }, + "AWS::LookoutVision::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutVision::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" + }, + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { + "type": "string" + }, + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { + "type": "string" + }, + "KafkaVersion": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MSK::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.BrokerNodeGroupInfo": { + "additionalProperties": false, + "properties": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ConfigurationInfo": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Iam": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.JmxExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, + "AWS::MSK::Cluster.NodeExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Sasl": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::MSK::Cluster.Iam" + }, + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AirflowConfigurationOptions": { + "type": "object" + }, + "AirflowVersion": { + "type": "string" + }, + "DagS3Path": { + "type": "string" + }, + "EnvironmentClass": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" + }, + "MaxWorkers": { + "type": "number" + }, + "MinWorkers": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { + "type": "string" + }, + "PluginsS3Path": { + "type": "string" + }, + "RequirementsS3ObjectVersion": { + "type": "string" + }, + "RequirementsS3Path": { + "type": "string" + }, + "Schedulers": { + "type": "number" + }, + "SourceBucketArn": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" + }, + "WebserverAccessMode": { + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MWAA::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InvitationId": { + "type": "string" + }, + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" + }, + "NetworkId": { + "type": "string" + } + }, + "required": [ + "MemberConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MemberId": { + "type": "string" + }, + "NetworkId": { + "type": "string" + }, + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + } + }, + "required": [ + "NetworkId", + "NodeConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Node" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" + }, + "EntitlementStatus": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Description", + "FlowArn", + "Name", + "Subscribers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowEntitlement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Destination": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" + }, + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "required": [ + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowVpcInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowVpcInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::JobTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Preset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Preset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" + }, + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" + }, + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel.AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Ac3Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveCdnSettings": { + "additionalProperties": false, + "properties": { + "ArchiveS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AribDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" + }, + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" + }, + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" + }, + "type": "array" + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailSettings": { + "additionalProperties": false, + "properties": { + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDescription": { + "additionalProperties": false, + "properties": { + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "LeftOffset": { + "type": "number" + }, + "TopOffset": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "CopyrightHolder": { + "type": "string" + }, + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" + }, + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" + }, + "type": "array" + }, + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "number" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FrameCaptureCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "number" + }, + "CaptureIntervalUnits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "number" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufFillPct": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "FrameCaptureHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "OutputRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" + }, + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::GlobalNetwork": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::NetworkManager::Link": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::TransitGatewayRegistration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchProfileProtocolVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "StreamConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" + }, + "StudioComponentIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2SubnetIds", + "LaunchProfileProtocolVersions", + "Name", + "StreamConfiguration", + "StudioComponentIds", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::LaunchProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "ClipboardMode": { + "type": "string" + }, + "Ec2InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionLengthInMinutes": { + "type": "number" + }, + "StreamingImageIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClipboardMode", + "Ec2InstanceTypes", + "StreamingImageIds" + ], + "type": "object" + }, + "AWS::NimbleStudio::StreamingImage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2ImageId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2ImageId", + "Name", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StreamingImage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdminRoleArn": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "StudioEncryptionConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" + }, + "StudioName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UserRoleArn": { + "type": "string" + } + }, + "required": [ + "AdminRoleArn", + "DisplayName", + "StudioName", + "UserRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" + }, + "Description": { + "type": "string" + }, + "Ec2SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InitializationScripts": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScriptParameters": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Subtype": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StudioId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StudioComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "ComputerAttributes": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" + }, + "type": "array" + }, + "DirectoryId": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryUser": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "LinuxMountPoint": { + "type": "string" + }, + "ShareName": { + "type": "string" + }, + "WindowsMountDrive": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" + }, + "ComputeFarmConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" + }, + "LicenseServiceConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" + }, + "SharedFileSystemConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { + "additionalProperties": false, + "properties": { + "LaunchProfileProtocolVersion": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "RunContext": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::BaiduChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "FromAddress": { + "type": "string" + }, + "HtmlBody": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + }, + "FilterType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "EntityId": { + "type": "string" + }, + "MessageType": { + "type": "string" + }, + "OriginationNumber": { + "type": "string" + }, + "SenderId": { + "type": "string" + }, + "TemplateId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + }, + "Metrics": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageSmallIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "JsonBody": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "RawContent": { + "type": "string" + }, + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { + "type": "number" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MessageConfiguration": { + "additionalProperties": false, + "properties": { + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MetricDimension": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" + }, + "Frequency": { + "type": "string" + }, + "IsLocalTime": { + "type": "boolean" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + }, + "StartTime": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { + "additionalProperties": false, + "properties": { + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::EmailChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EmailTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EventStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::GCMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ADM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "APNS": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + }, + "Baidu": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Default": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "GCM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "SmallImageIconUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::SMSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Behavior": { + "additionalProperties": false, + "properties": { + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "type": "number" + }, + "Longitude": { + "type": "number" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Demographic": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.GPSPoint": { + "additionalProperties": false, + "properties": { + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + }, + "RangeInKilometers": { + "type": "number" + } + }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Groups": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" + }, + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Location": { + "additionalProperties": false, + "properties": { + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Recency": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "RecencyType": { + "type": "string" + } + }, + "required": [ + "Duration", + "RecencyType" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentGroups": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SourceSegments": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::Pinpoint::SmsTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::VoiceChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "additionalProperties": false, + "properties": { + "SendingPoolName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" + }, + "EventDestinationName": { + "type": "string" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::DedicatedIpPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DkimSigningEnabled": { + "type": "boolean" + }, + "FeedbackForwardingEnabled": { + "type": "boolean" + }, + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::Identity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::Identity.MailFromAttributes": { + "additionalProperties": false, + "properties": { + "BehaviorOnMxFailure": { + "type": "string" + }, + "MailFromDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionsMode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PermissionsMode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Ledger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalysisId": { + "type": "string" + }, + "AwsAccountId": { + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + } + }, + "required": [ + "AnalysisId", + "AwsAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Analysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisError": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Sheet": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SheetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DashboardId": { + "type": "string" + }, + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "DashboardId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { + "additionalProperties": false, + "properties": { + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" + }, + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" + }, + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.ExportToCSVOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetControlsOption": { + "additionalProperties": false, + "properties": { + "VisibilityState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "ColumnGroups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" + }, + "type": "array" + }, + "ColumnLevelPermissionRules": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" + }, + "type": "array" + }, + "DataSetId": { + "type": "string" + }, + "FieldFolders": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" + } + }, + "type": "object" + }, + "ImportMode": { + "type": "string" + }, + "IngestionWaitPolicy": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" + }, + "LogicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" + }, + "type": "array" + }, + "PhysicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" + } + }, + "type": "object" + }, + "RowLevelPermissionDataSet": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CalculatedColumn": { + "additionalProperties": false, + "properties": { + "ColumnId": { + "type": "string" + }, + "ColumnName": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "ColumnId", + "ColumnName", + "Expression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CastColumnTypeOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "NewColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnType" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnDescription": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnGroup": { + "additionalProperties": false, + "properties": { + "GeoSpatialColumnGroup": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnTag": { + "additionalProperties": false, + "properties": { + "ColumnDescription": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" + }, + "ColumnGeographicRole": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.CreateColumnsOperation": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" + }, + "type": "array" + } + }, + "required": [ + "Columns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CustomSql": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "DataSourceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "Columns", + "DataSourceArn", + "Name", + "SqlQuery" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.FieldFolder": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.FilterOperation": { + "additionalProperties": false, + "properties": { + "ConditionExpression": { + "type": "string" + } + }, + "required": [ + "ConditionExpression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CountryCode": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Columns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.IngestionWaitPolicy": { + "additionalProperties": false, + "properties": { + "IngestionWaitTimeInHours": { + "type": "number" + }, + "WaitForSpiceIngestion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.InputColumn": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinInstruction": { + "additionalProperties": false, + "properties": { + "LeftJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "LeftOperand": { + "type": "string" + }, + "OnClause": { + "type": "string" + }, + "RightJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "RightOperand": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "LeftOperand", + "OnClause", + "RightOperand", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinKeyProperties": { + "additionalProperties": false, + "properties": { + "UniqueKey": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTable": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DataTransforms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" + }, + "type": "array" + }, + "Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" + } + }, + "required": [ + "Alias", + "Source" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTableSource": { + "additionalProperties": false, + "properties": { + "JoinInstruction": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" + }, + "PhysicalTableId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.OutputColumn": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.PhysicalTable": { + "additionalProperties": false, + "properties": { + "CustomSql": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" + }, + "RelationalTable": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" + }, + "S3Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ProjectOperation": { + "additionalProperties": false, + "properties": { + "ProjectedColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ProjectedColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RelationalTable": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "DataSourceArn", + "InputColumns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RenameColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "NewColumnName": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnName" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FormatVersion": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "PermissionPolicy": { + "type": "string" + } + }, + "required": [ + "Arn", + "PermissionPolicy" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.S3Source": { + "additionalProperties": false, + "properties": { + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "UploadSettings": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" + } + }, + "required": [ + "DataSourceArn", + "InputColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TagColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" + }, + "type": "array" + } + }, + "required": [ + "ColumnName", + "Tags" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TransformOperation": { + "additionalProperties": false, + "properties": { + "CastColumnTypeOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" + }, + "CreateColumnsOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" + }, + "FilterOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" + }, + "ProjectOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" + }, + "RenameColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" + }, + "TagColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.UploadSettings": { + "additionalProperties": false, + "properties": { + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "StartFromRow": { + "type": "number" + }, + "TextQualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "AwsAccountId": { + "type": "string" + }, + "Credentials": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" + }, + "DataSourceId": { + "type": "string" + }, + "DataSourceParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "ErrorInfo": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" + }, + "type": "array" + }, + "SslProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "VpcConnectionProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + } + }, + "required": [ + "Domain" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AthenaParameters": { + "additionalProperties": false, + "properties": { + "WorkGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.CredentialPair": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceCredentials": { + "additionalProperties": false, + "properties": { + "CopySourceArn": { + "type": "string" + }, + "CredentialPair": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceErrorInfo": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceParameters": { + "additionalProperties": false, + "properties": { + "AmazonElasticsearchParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" + }, + "AthenaParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" + }, + "AuroraParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" + }, + "AuroraPostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" + }, + "MariaDbParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" + }, + "MySqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" + }, + "OracleParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" + }, + "PostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" + }, + "PrestoParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" + }, + "RdsParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" + }, + "RedshiftParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" + }, + "S3Parameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" + }, + "SnowflakeParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" + }, + "SparkParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" + }, + "SqlServerParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" + }, + "TeradataParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.ManifestFileLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MariaDbParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MySqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.OracleParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PrestoParameters": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Catalog", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RdsParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "InstanceId": { + "type": "string" + } + }, + "required": [ + "Database", + "InstanceId" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RedshiftParameters": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.S3Parameters": { + "additionalProperties": false, + "properties": { + "ManifestFileLocation": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" + } + }, + "required": [ + "ManifestFileLocation" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SnowflakeParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "Database", + "Host", + "Warehouse" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SparkParameters": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SqlServerParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SslProperties": { + "additionalProperties": false, + "properties": { + "DisableSsl": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.TeradataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.VpcConnectionProperties": { + "additionalProperties": false, + "properties": { + "VpcConnectionArn": { + "type": "string" + } + }, + "required": [ + "VpcConnectionArn" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "TemplateId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Template.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "BaseThemeId": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "ThemeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Theme" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.BorderStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmptyFillColor": { + "type": "string" + }, + "MinMaxGradient": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.SheetStyle": { + "additionalProperties": false, + "properties": { + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.UIColorPalette": { + "additionalProperties": false, + "properties": { + "Accent": { + "type": "string" + }, + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BacktrackWindow": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSourceIdentifier": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "string" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "type": "number" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { + "type": "string" + }, + "IdleClientTimeout": { + "type": "number" + }, + "RequireTLS": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy.AuthFormat": { + "additionalProperties": false, + "properties": { + "AuthScheme": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBProxyEndpointName": { + "type": "string" + }, + "DBProxyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" + }, + "type": "array" + }, + "TargetRole": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBProxyEndpointName", + "DBProxyName", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" + }, + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "TargetGroupName": { + "type": "string" + } + }, + "required": [ + "DBProxyName", + "TargetGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" + }, + "EC2VpcId": { + "type": "string" + }, + "GroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSecurityGroupIngress", + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "DBSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::GlobalCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EngineName": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "OptionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" + }, + "type": "array" + }, + "OptionGroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::OptionGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionConfiguration": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OptionName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "type": "array" + }, + "OptionVersion": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OptionName" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionSetting": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "ClusterParameterGroupName": { + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::Cluster.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupFamily": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "ParameterGroupFamily" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "ClusterSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "ClusterSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationItem": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RoboMaker::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RoboMaker::Robot": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Fleet": { + "type": "string" + }, + "GreengrassGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::DNSSEC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckConfig": { + "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" + } + }, + "required": [ + "HealthCheckConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HealthCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + }, + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HostedZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.QueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "type": "string" + }, + "VPCRegion": { + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::RecoveryGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceSetName": { + "type": "string" + }, + "ResourceSetType": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceSetName", + "ResourceSetType", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ResourceSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneArn": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + }, + "RecordType": { + "type": "string" + }, + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "additionalProperties": false, + "properties": { + "ComponentId": { + "type": "string" + }, + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" + }, + "ReadinessScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" + }, + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" + } + }, + "type": "object" + }, + "AWS::Route53Resolver::FirewallDomainList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainFileUrl": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallDomainList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRules": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "BlockOverrideDnsType": { + "type": "string" + }, + "BlockOverrideDomain": { + "type": "string" + }, + "BlockOverrideTtl": { + "type": "number" + }, + "BlockResponse": { + "type": "string" + }, + "FirewallDomainListId": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Action", + "FirewallDomainListId", + "Priority" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRuleGroupId": { + "type": "string" + }, + "MutationProtection": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallRuleGroupId", + "Priority", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResolverEndpointId": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RuleType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { + "type": "string" + } + }, + "required": [ + "ResolverRuleId", + "VPCId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRuleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "PolicyStatus": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + }, + "AccessControl": { + "type": "string" + }, + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "type": "array" + }, + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" + }, + "BucketName": { + "type": "string" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + }, + "ObjectLockEnabled": { + "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MaxAge": { + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "OutputSchemaVersion": { + "type": "string" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::Bucket.DefaultRetention": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Status", + "Tierings" + ], + "type": "object" + }, + "AWS::S3::Bucket.InventoryConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3::Bucket.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" + }, + "LogFilePrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.MetricsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::S3::Bucket.NoncurrentVersionTransition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass", + "TransitionInDays" + ], + "type": "object" + }, + "AWS::S3::Bucket.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" + }, + "QueueConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockConfiguration": { + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControlsRule": { + "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "Event", + "Queue" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectAllRequestsTo": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "HostName" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectRule": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "HttpRedirectCode": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Role", + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" + }, + "Account": { + "type": "string" + }, + "Bucket": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRule": { + "additionalProperties": false, + "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Destination", + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRule": { + "additionalProperties": false, + "properties": { + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + }, + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + } + }, + "required": [ + "RedirectRule" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRuleCondition": { + "additionalProperties": false, + "properties": { + "HttpErrorCodeReturnedEquals": { + "type": "string" + }, + "KeyPrefixEquals": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "ExpiredObjectDeleteMarker": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.S3KeyFilter": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyID": { + "type": "string" + }, + "SSEAlgorithm": { + "type": "string" + } + }, + "required": [ + "SSEAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionRule": { + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SourceSelectionCriteria": { + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.StorageClassAnalysis": { + "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.Tiering": { + "additionalProperties": false, + "properties": { + "AccessTier": { + "type": "string" + }, + "Days": { + "type": "number" + } + }, + "required": [ + "AccessTier", + "Days" + ], + "type": "object" + }, + "AWS::S3::Bucket.TopicConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "Event", + "Topic" + ], + "type": "object" + }, + "AWS::S3::Bucket.Transition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionDate": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass" + ], + "type": "object" + }, + "AWS::S3::Bucket.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.WebsiteConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "type": "string" + }, + "IndexDocument": { + "type": "string" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + }, + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StorageLensConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLens" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens.AccountLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" + } + }, + "required": [ + "BucketLevel" + ], + "type": "object" + }, + "AWS::S3::StorageLens.ActivityMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AwsOrg": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::S3::StorageLens.BucketLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.BucketsAndRegions": { + "additionalProperties": false, + "properties": { + "Buckets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" + } + }, + "required": [ + "S3BucketDestination" + ], + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { + "additionalProperties": false, + "properties": { + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" + } + }, + "required": [ + "StorageMetrics" + ], + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + }, + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.S3BucketDestination": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" + }, + "Format": { + "type": "string" + }, + "OutputSchemaVersion": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::StorageLens.SelectionCriteria": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "MaxDepth": { + "type": "number" + }, + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" + }, + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" + }, + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { + "type": "string" + }, + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { + "type": "boolean" + }, + "StorageLensArn": { + "type": "string" + } + }, + "required": [ + "AccountLevel", + "Id", + "IsEnabled" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectLambdaConfiguration": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedFeatures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "SupportingAccessPoint": { + "type": "string" + }, + "TransformationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SupportingAccessPoint", + "TransformationConfigurations" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentTransformation": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPointPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ObjectLambdaAccessPoint": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "ObjectLambdaAccessPoint", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket", + "Name", + "VpcConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" + }, + "OutpostId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BucketName", + "OutpostId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, + "OutpostId": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "OutpostId", + "SecurityGroupId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::SDB::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SDB::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamARN": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamARN", + "IAMRoleARN" + ], + "type": "object" + }, + "AWS::SES::ContactList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactListName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Topics": { + "items": { + "$ref": "#/definitions/AWS::SES::ContactList.Topic" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ContactList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ContactList.Topic": { + "additionalProperties": false, + "properties": { + "DefaultSubscriptionStatus": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "TopicName": { + "type": "string" + } + }, + "required": [ + "DefaultSubscriptionStatus", + "DisplayName", + "TopicName" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + } + }, + "required": [ + "Filter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.Filter": { + "additionalProperties": false, + "properties": { + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "IpFilter" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Policy": { + "type": "string" + } + }, + "required": [ + "Cidr", + "Policy" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "After": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "Rule", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Action": { + "additionalProperties": false, + "properties": { + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" + }, + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.BounceAction": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Sender": { + "type": "string" + }, + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Message", + "Sender", + "SmtpReplyCode" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleSetName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template.Template": { + "additionalProperties": false, + "properties": { + "HtmlPart": { + "type": "string" + }, + "SubjectPart": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SNS::Subscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { + "type": "string" + }, + "FilterPolicy": { + "type": "object" + }, + "Protocol": { + "type": "string" + }, + "RawMessageDelivery": { + "type": "boolean" + }, + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Protocol", + "TopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SNS::Topic": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DisplayName": { + "type": "string" + }, + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Topic" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Topics" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::TopicPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SQS::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DeduplicationScope": { + "type": "string" + }, + "DelaySeconds": { + "type": "number" + }, + "FifoQueue": { + "type": "boolean" + }, + "FifoThroughputLimit": { + "type": "string" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "number" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "MaximumMessageSize": { + "type": "number" + }, + "MessageRetentionPeriod": { + "type": "number" + }, + "QueueName": { + "type": "string" + }, + "ReceiveMessageWaitTimeSeconds": { + "type": "number" + }, + "RedrivePolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SQS::QueuePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { + "type": "string" + }, + "AutomationTargetParameterName": { + "type": "string" + }, + "CalendarNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ComplianceSeverity": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "ScheduleExpression": { + "type": "string" + }, + "SyncCompliance": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Association" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "additionalProperties": false, + "properties": { + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "OutputS3Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::Document": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attachments": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" + }, + "type": "array" + }, + "Content": { + "type": "object" + }, + "DocumentFormat": { + "type": "string" + }, + "DocumentType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Requires": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "VersionName": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Document" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Document.AttachmentsSource": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Document.DocumentRequires": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Duration": { + "type": "number" + }, + "EndDate": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "type": "array" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget.Targets": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + }, + "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "Priority", + "TaskArn", + "TaskType", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "type": "string" + }, + "NotificationEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NotificationType": { + "type": "string" + } + }, + "required": [ + "NotificationArn" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policies": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Parameter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchSource": { + "additionalProperties": false, + "properties": { + "Configuration": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SSM::PatchBaseline.Rule": { + "additionalProperties": false, + "properties": { + "ApproveAfterDays": { + "type": "number" + }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, + "ComplianceLevel": { + "type": "string" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::ResourceDataSync": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "SyncName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { + "additionalProperties": false, + "properties": { + "OrganizationSourceType": { + "type": "string" + }, + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OrganizationSourceType" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.S3Destination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketRegion", + "SyncFormat" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.SyncSource": { + "additionalProperties": false, + "properties": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceRegions", + "SourceType" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "Plan": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Alias", + "DisplayName", + "Plan", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::Contact" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Stage": { + "additionalProperties": false, + "properties": { + "DurationInMinutes": { + "type": "number" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" + }, + "type": "array" + } + }, + "required": [ + "DurationInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Targets": { + "additionalProperties": false, + "properties": { + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" + }, + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" + } + }, + "type": "object" + }, + "AWS::SSMContacts::ContactChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelAddress": { + "type": "string" + }, + "ChannelName": { + "type": "string" + }, + "ChannelType": { + "type": "string" + }, + "ContactId": { + "type": "string" + }, + "DeferActivation": { + "type": "boolean" + } + }, + "required": [ + "ChannelAddress", + "ChannelName", + "ChannelType", + "ContactId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::ContactChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtected": { + "type": "boolean" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ReplicationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { + "additionalProperties": false, + "properties": { + "SseKmsKeyId": { + "type": "string" + } + }, + "required": [ + "SseKmsKeyId" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "additionalProperties": false, + "properties": { + "RegionConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" + }, + "type": "array" + }, + "ChatChannel": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" + }, + "DisplayName": { + "type": "string" + }, + "Engagements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncidentTemplate": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IncidentTemplate", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ResponsePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.Action": { + "additionalProperties": false, + "properties": { + "SsmAutomation": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "additionalProperties": false, + "properties": { + "ChatbotSns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { + "additionalProperties": false, + "properties": { + "DedupeString": { + "type": "string" + }, + "Impact": { + "type": "number" + }, + "NotificationTargets": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + }, + "type": "array" + }, + "Summary": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Impact", + "Title" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { + "additionalProperties": false, + "properties": { + "SnsTopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { + "additionalProperties": false, + "properties": { + "DocumentName": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TargetAccount": { + "type": "string" + } + }, + "required": [ + "DocumentName", + "RoleArn" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSO::Assignment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "type": "string" + }, + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Assignment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "type": "array" + }, + "InstanceArn": { + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "additionalProperties": false, + "properties": { + "Source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InlinePolicy": { + "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::PermissionSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppName": { + "type": "string" + }, + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + } + }, + "required": [ + "AppName", + "AppType", + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppImageConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AppImageConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "type": "number" + }, + "DefaultUid": { + "type": "number" + }, + "MountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeRepositoryName": { + "type": "string" + }, + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GitConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::CodeRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository.GitConfig": { + "additionalProperties": false, + "properties": { + "Branch": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "object" + }, + "DeviceFleetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Device.Device": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceName": { + "type": "string" + }, + "IotThingName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceFleetName": { + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DeviceFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "type": "string" + }, + "AuthMode": { + "type": "string" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProductionVariants" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::EndpointConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "additionalProperties": false, + "properties": { + "AcceleratorType": { + "type": "string" + }, + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventTimeFeatureName": { + "type": "string" + }, + "FeatureDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" + }, + "type": "array" + }, + "FeatureGroupName": { + "type": "string" + }, + "OfflineStoreConfig": { + "type": "object" + }, + "OnlineStoreConfig": { + "type": "object" + }, + "RecordIdentifierFeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::FeatureGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "FeatureType": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "FeatureType" + ], + "type": "object" + }, + "AWS::SageMaker::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "type": "string" + }, + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ImageVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BaseImage": { + "type": "string" + }, + "ImageName": { + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + } + }, + "required": [ + "ExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "type": "string" + }, + "Environment": { + "type": "object" + }, + "Image": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { + "type": "string" + }, + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + }, + "RepositoryAuthConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.RepositoryAuthConfig": { + "additionalProperties": false, + "properties": { + "RepositoryCredentialsProviderArn": { + "type": "string" + } + }, + "required": [ + "RepositoryCredentialsProviderArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" + }, + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" + }, + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" + }, + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" + }, + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelBiasJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackageGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModelPackageGroupDescription": { + "type": "string" + }, + "ModelPackageGroupName": { + "type": "string" + }, + "ModelPackageGroupPolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ModelPackageGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelPackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" + }, + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" + }, + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" + }, + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" + }, + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "ProblemType": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri", + "ProblemType" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "MonitoringJobDefinitionName": { + "type": "string" + }, + "MonitoringType": { + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalCodeRepositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultCodeRepository": { + "type": "string" + }, + "DirectInternetAccess": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecycleConfigName": { + "type": "string" + }, + "NotebookInstanceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RootAccess": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotebookInstanceLifecycleConfigName": { + "type": "string" + }, + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + }, + "OnStart": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstanceLifecycleConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineDefinition": { + "type": "object" + }, + "PipelineDescription": { + "type": "string" + }, + "PipelineDisplayName": { + "type": "string" + }, + "PipelineName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineDefinition", + "PipelineName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "ServiceCatalogProvisioningDetails": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProjectName", + "ServiceCatalogProvisioningDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainId": { + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "type": "string" + }, + "SingleSignOnUserValue": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" + } + }, + "required": [ + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Workteam": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BlockPublicPolicy": { + "type": "boolean" + }, + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Hub" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Api": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Api.Auth" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" + }, + "Cors": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + } + ] + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" + }, + "GatewayResponses": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MethodSettings": { + "items": { + "type": "object" + }, + "type": "array" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "Models": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "OpenApiVersion": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "StageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::Api" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Serverless::Api.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Api.Auth": { + "additionalProperties": false, + "properties": { + "Authorizers": { + "type": "object" + }, + "DefaultAuthorizer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Api.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::Serverless::Api.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "type": "string" + }, + "AllowMethods": { + "type": "string" + }, + "AllowOrigin": { + "type": "string" + }, + "MaxAge": { + "type": "string" + } + }, + "required": [ + "AllowOrigin" + ], + "type": "object" + }, + "AWS::Serverless::Api.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "VpcEndpointIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Serverless::Api.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key", + "Version" + ], + "type": "object" + }, + "AWS::Serverless::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" + } + ] + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Serverless::Application.ApplicationLocation": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "SemanticVersion": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "SemanticVersion" + ], + "type": "object" + }, + "AWS::Serverless::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "AutoPublishAlias": { + "type": "string" + }, + "AutoPublishCodeSha256": { + "type": "string" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "CodeUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Location" + } + ] + }, + "DeadLetterQueue": { + "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" + }, + "DeploymentPreference": { + "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" + }, + "EventInvokeConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::Function.EventSource" + } + }, + "type": "object" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" + }, + "ImageUri": { + "type": "string" + }, + "InlineCode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" + }, + "type": "array" + } + ] + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "Tracing": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.AlexaSkillEvent": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.ApiEvent": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Function.Auth" + }, + "Method": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Method", + "Path" + ], + "type": "object" + }, + "AWS::Serverless::Function.Auth": { + "additionalProperties": false, + "properties": { + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Authorizer": { + "type": "string" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.AuthResourcePolicy" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.AuthResourcePolicy": { + "additionalProperties": false, + "properties": { + "AwsAccountBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AwsAccountWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CustomStatements": { + "items": { + "type": "object" + }, + "type": "array" + }, + "IntrinsicVpcBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IntrinsicVpcWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IntrinsicVpceBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IntrinsicVpceWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IpRangeBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IpRangeWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceVpcBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceVpcWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.BucketSAMPT": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Serverless::Function.CloudWatchEventEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::Function.CloudWatchLogsEvent": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Serverless::Function.CollectionSAMPT": { + "additionalProperties": false, + "properties": { + "CollectionId": { + "type": "string" + } + }, + "required": [ + "CollectionId" + ], + "type": "object" + }, + "AWS::Serverless::Function.DeadLetterQueue": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TargetArn", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Hooks": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Role": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.Destination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Serverless::Function.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Serverless::Function.Destination" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Serverless::Function.Destination" + } + }, + "required": [ + "OnFailure", + "OnSuccess" + ], + "type": "object" + }, + "AWS::Serverless::Function.DomainSAMPT": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::Function.DynamoDBEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "StartingPosition": { + "type": "string" + }, + "Stream": { + "type": "string" + } + }, + "required": [ + "StartingPosition", + "Stream" + ], + "type": "object" + }, + "AWS::Serverless::Function.EmptySAMPT": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Serverless::Function.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::Function.EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.EventSource": { + "additionalProperties": false, + "properties": { + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Event" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" + } + ] + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Properties", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.FunctionEnvironment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Variables" + ], + "type": "object" + }, + "AWS::Serverless::Function.FunctionSAMPT": { + "additionalProperties": false, + "properties": { + "FunctionName": { + "type": "string" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "AWS::Serverless::Function.IAMPolicyDocument": { + "additionalProperties": false, + "properties": { + "Statement": { + "type": "object" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::Serverless::Function.IdentitySAMPT": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + } + }, + "required": [ + "IdentityName" + ], + "type": "object" + }, + "AWS::Serverless::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.IoTRuleEvent": { + "additionalProperties": false, + "properties": { + "AwsIotSqlVersion": { + "type": "string" + }, + "Sql": { + "type": "string" + } + }, + "required": [ + "Sql" + ], + "type": "object" + }, + "AWS::Serverless::Function.KeySAMPT": { + "additionalProperties": false, + "properties": { + "KeyId": { + "type": "string" + } + }, + "required": [ + "KeyId" + ], + "type": "object" + }, + "AWS::Serverless::Function.KinesisEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "StartingPosition": { + "type": "string" + }, + "Stream": { + "type": "string" + } + }, + "required": [ + "StartingPosition", + "Stream" + ], + "type": "object" + }, + "AWS::Serverless::Function.LogGroupSAMPT": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "string" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Serverless::Function.QueueSAMPT": { + "additionalProperties": false, + "properties": { + "QueueName": { + "type": "string" + } + }, + "required": [ + "QueueName" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3Event": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Events": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] + }, + "Filter": { + "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" + } + }, + "required": [ + "Bucket", + "Events" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3KeyFilter": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3KeyFilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::Serverless::Function.SAMPolicyTemplate": { + "additionalProperties": false, + "properties": { + "AMIDescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "CloudFormationDescribeStacksPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "CloudWatchPutMetricPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "DynamoDBCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" + }, + "EC2DescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "ElasticsearchHttpPostPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" + }, + "FilterLogEventsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" + }, + "KMSDecryptPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" + }, + "KinesisCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "KinesisStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" + }, + "RekognitionDetectOnlyPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionLabelsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionNoDataAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionWriteOnlyAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "S3CrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "S3ReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "SESBulkTemplatedCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESEmailTemplateCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "SESSendBouncePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SNSCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SNSPublishMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SQSPollerPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" + }, + "SQSSendMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" + }, + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" + }, + "VPCAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.SNSEvent": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + } + }, + "required": [ + "Topic" + ], + "type": "object" + }, + "AWS::Serverless::Function.SQSEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "Queue" + ], + "type": "object" + }, + "AWS::Serverless::Function.ScheduleEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Schedule": { + "type": "string" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::Serverless::Function.StateMachineSAMPT": { + "additionalProperties": false, + "properties": { + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "StateMachineName" + ], + "type": "object" + }, + "AWS::Serverless::Function.StreamSAMPT": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "required": [ + "StreamName" + ], + "type": "object" + }, + "AWS::Serverless::Function.TableSAMPT": { + "additionalProperties": false, + "properties": { + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::Serverless::Function.TableStreamSAMPT": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "StreamName", + "TableName" + ], + "type": "object" + }, + "AWS::Serverless::Function.TopicSAMPT": { + "additionalProperties": false, + "properties": { + "TopicName": { + "type": "string" + } + }, + "required": [ + "TopicName" + ], + "type": "object" + }, + "AWS::Serverless::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" + }, + "CorsConfiguration": { + "anyOf": [ + { + "type": [ + "boolean" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" + } + ] + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "RouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::HttpApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.CorsConfigurationObject": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "type": "string" + }, + "AllowMethods": { + "type": "string" + }, + "AllowOrigin": { + "type": "string" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiAuth": { + "additionalProperties": false, + "properties": { + "Authorizers": { + "type": "object" + }, + "DefaultAuthorizer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiDomainConfiguration": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "type": "string" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.MutualTlsAuthentication" + }, + "Route53": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Route53Configuration": { + "additionalProperties": false, + "properties": { + "DistributedDomainName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "IpV6": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key", + "Version" + ], + "type": "object" + }, + "AWS::Serverless::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::LayerVersion.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + }, + "RetentionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::LayerVersion.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PrimaryKey": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::SimpleTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable.PrimaryKey": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Serverless::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "type": "object" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" + } + ] + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" + } + }, + "type": "object" + }, + "Logging": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" + }, + "Name": { + "type": "string" + }, + "PermissionsBoundaries": { + "type": "string" + }, + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" + }, + "type": "array" + } + ] + }, + "Role": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tracing": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.TracingConfiguration" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.ApiEvent": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Method", + "Path" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchEventEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "required": [ + "LogGroupArn" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventSource": { + "additionalProperties": false, + "properties": { + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + } + ] + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Properties", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.FunctionSAMPT": { + "additionalProperties": false, + "properties": { + "FunctionName": { + "type": "string" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.IAMPolicyDocument": { + "additionalProperties": false, + "properties": { + "Statement": { + "type": "object" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" + } + }, + "required": [ + "CloudWatchLogsLogGroup" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "required": [ + "Destinations", + "IncludeExecutionData", + "Level" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.SAMPolicyTemplate": { + "additionalProperties": false, + "properties": { + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" + }, + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::StateMachine.ScheduleEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Schedule": { + "type": "string" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.StateMachineSAMPT": { + "additionalProperties": false, + "properties": { + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "StateMachineName" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PathId": { + "type": "string" + }, + "PathName": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProvisionedProductName": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ProvisioningArtifactName": { + "type": "string" + }, + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { + "additionalProperties": false, + "properties": { + "StackSetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackSetFailureToleranceCount": { + "type": "number" + }, + "StackSetFailureTolerancePercentage": { + "type": "number" + }, + "StackSetMaxConcurrencyCount": { + "type": "number" + }, + "StackSetMaxConcurrencyPercentage": { + "type": "number" + }, + "StackSetOperationType": { + "type": "string" + }, + "StackSetRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + } + }, + "required": [ + "NotificationArns", + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchNotificationConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchRoleConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalRoleName": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchRoleConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchTemplateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchTemplateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::Portfolio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DisplayName", + "ProviderName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::Portfolio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "PrincipalARN": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "PrincipalARN", + "PrincipalType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioProductAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioProductAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountId": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" + } + }, + "required": [ + "AccountId", + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "TagUpdateOnProvisionedProduct": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ResourceUpdateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Definition": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" + }, + "type": "array" + }, + "DefinitionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceActionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProductId": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ServiceActionId": { + "type": "string" + } + }, + "required": [ + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceActionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::StackSetConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ExecutionRole": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackInstanceControl": { + "type": "string" + } + }, + "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", + "PortfolioId", + "ProductId", + "RegionList", + "StackInstanceControl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::StackSetConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Active": { + "type": "boolean" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOptionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + }, + "TagOptionId": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "TagOptionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOptionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Attributes", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "AttributeGroup": { + "type": "string" + } + }, + "required": [ + "Application", + "AttributeGroup" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "Application", + "Resource", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::HttpNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::HttpNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { + "type": "string" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "InstanceAttributes", + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Vpc": { + "type": "string" + } + }, + "required": [ + "Name", + "Vpc" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PrivateDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PublicDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, + "Name": { + "type": "string" + }, + "NamespaceId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "Action", + "Principal", + "ProfileName", + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::ProfilePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PlatformId": { + "type": "string" + }, + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PlatformId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::SigningProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::StepFunctions::Activity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::Activity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::Activity.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, + "DefinitionString": { + "type": "string" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + }, + "StateMachineType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" + }, + "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.Definition": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + }, + "VisualReference": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.BaseScreenshot": { + "additionalProperties": false, + "properties": { + "IgnoreCoordinates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScreenshotName": { + "type": "string" + } + }, + "required": [ + "ScreenshotName" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "required": [ + "Handler" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "ActiveTracing": { + "type": "boolean" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MemoryInMB": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VisualReference": { + "additionalProperties": false, + "properties": { + "BaseCanaryRunId": { + "type": "string" + }, + "BaseScreenshots": { + "items": { + "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" + }, + "type": "array" + } + }, + "required": [ + "BaseCanaryRunId" + ], + "type": "object" + }, + "AWS::Timestream::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Timestream::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "RetentionProperties": { + "type": "object" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Domain": { + "type": "string" + }, + "EndpointDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" + }, + "EndpointType": { + "type": "string" + }, + "IdentityProviderDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" + }, + "IdentityProviderType": { + "type": "string" + }, + "LoggingRole": { + "type": "string" + }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, + "SecurityPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Transfer::Server.EndpointDetails": { + "additionalProperties": false, + "properties": { + "AddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.IdentityProviderDetails": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + }, + "InvocationRole": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HomeDirectory": { + "type": "string" + }, + "HomeDirectoryMappings": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" + }, + "type": "array" + }, + "HomeDirectoryType": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, + "Role": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "SshPublicKeys": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Role", + "ServerId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::User.HomeDirectoryMapEntry": { + "additionalProperties": false, + "properties": { + "Entry": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Entry", + "Target" + ], + "type": "object" + }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::Transfer::User.SshPublicKey": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::WAF::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAF::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAF::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SizeConstraints" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::WebACL.ActivatedRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAF::WebACL.WafAction": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name", + "XssMatchTuples" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GeoMatchConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::GeoMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MatchPredicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RateKey": { + "type": "string" + }, + "RateLimit": { + "type": "number" + } + }, + "required": [ + "MetricName", + "Name", + "RateKey", + "RateLimit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RateBasedRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RegexPatternStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "RegexPatternStrings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Action": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Action", + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFv2::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "IPAddressVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Addresses", + "IPAddressVersion", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RegularExpressionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RegularExpressionList", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Capacity", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelSummary": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "type": "object" + }, + "Block": { + "type": "object" + }, + "Count": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" + } + }, + "type": "object" + }, + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "DefaultAction", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.AllowAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.BlockAction": { + "additionalProperties": false, + "properties": { + "CustomResponse": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CountAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomHTTPHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomRequestHandling": { + "additionalProperties": false, + "properties": { + "InsertHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "InsertHeaders" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponse": { + "additionalProperties": false, + "properties": { + "CustomResponseBodyKey": { + "type": "string" + }, + "ResponseCode": { + "type": "number" + }, + "ResponseHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "ResponseCode" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.DefaultAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ExcludedRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { + "additionalProperties": false, + "properties": { + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VendorName": { + "type": "string" + } + }, + "required": [ + "Name", + "VendorName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OverrideAction": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "object" + }, + "None": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" + }, + "Name": { + "type": "string" + }, + "OverrideAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + }, + "Count": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" + }, + "ManagedRuleGroupStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" + }, + "RuleGroupReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::ConnectionAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { + "additionalProperties": false, + "properties": { + "AssociatedAccountId": { + "type": "string" + }, + "AssociationStatus": { + "type": "string" + }, + "ConnectionIdentifier": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WorkSpaces::Workspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BundleId": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + }, + "RootVolumeEncryptionEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + }, + "UserVolumeEncryptionEnabled": { + "type": "boolean" + }, + "VolumeEncryptionKey": { + "type": "string" + }, + "WorkspaceProperties": { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" + } + }, + "required": [ + "BundleId", + "DirectoryId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::Workspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::Workspace.WorkspaceProperties": { + "additionalProperties": false, + "properties": { + "ComputeTypeName": { + "type": "string" + }, + "RootVolumeSizeGib": { + "type": "number" + }, + "RunningMode": { + "type": "string" + }, + "RunningModeAutoStopTimeoutInMinutes": { + "type": "number" + }, + "UserVolumeSizeGib": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterExpression": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "InsightsConfiguration": { + "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::Group.InsightsConfiguration": { + "additionalProperties": false, + "properties": { + "InsightsEnabled": { + "type": "boolean" + }, + "NotificationsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + }, + "SamplingRuleRecord": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" + }, + "SamplingRuleUpdate": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::SamplingRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRule": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleRecord": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleUpdate": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" + }, + "SkillPackage": { + "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" + }, + "VendorId": { + "type": "string" + } + }, + "required": [ + "AuthenticationConfiguration", + "SkillPackage", + "VendorId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "Alexa::ASK::Skill" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "Alexa::ASK::Skill.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret", + "RefreshToken" + ], + "type": "object" + }, + "Alexa::ASK::Skill.Overrides": { + "additionalProperties": false, + "properties": { + "Manifest": { + "type": "object" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill.SkillPackage": { + "additionalProperties": false, + "properties": { + "Overrides": { + "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" + }, + "S3Bucket": { + "type": "string" + }, + "S3BucketRole": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "Parameter": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "AllowedValues": { + "type": "array" + }, + "ConstraintDescription": { + "type": "string" + }, + "Default": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MaxLength": { + "type": "string" + }, + "MaxValue": { + "type": "string" + }, + "MinLength": { + "type": "string" + }, + "MinValue": { + "type": "string" + }, + "NoEcho": { + "type": [ + "string", + "boolean" + ] + }, + "Type": { + "enum": [ + "String", + "Number", + "List\u003cNumber\u003e", + "CommaDelimitedList", + "AWS::EC2::AvailabilityZone::Name", + "AWS::EC2::Image::Id", + "AWS::EC2::Instance::Id", + "AWS::EC2::KeyPair::KeyName", + "AWS::EC2::SecurityGroup::GroupName", + "AWS::EC2::SecurityGroup::Id", + "AWS::EC2::Subnet::Id", + "AWS::EC2::Volume::Id", + "AWS::EC2::VPC::Id", + "AWS::Route53::HostedZone::Id", + "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "List\u003cAWS::EC2::Image::Id\u003e", + "List\u003cAWS::EC2::Instance::Id\u003e", + "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "List\u003cAWS::EC2::SecurityGroup::Id\u003e", + "List\u003cAWS::EC2::Subnet::Id\u003e", + "List\u003cAWS::EC2::Volume::Id\u003e", + "List\u003cAWS::EC2::VPC::Id\u003e", + "List\u003cAWS::Route53::HostedZone::Id\u003e", + "List\u003cString\u003e", + "AWS::SSM::Parameter::Name", + "AWS::SSM::Parameter::Value\u003cString\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "properties": { + "AWSTemplateFormatVersion": { + "enum": [ + "2010-09-09" + ], + "type": "string" + }, + "Conditions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Description": { + "description": "Template description", + "maxLength": 1024, + "type": "string" + }, + "Globals": { + "additionalProperties": false, + "properties": { + "Api": { + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Api.Auth" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" + }, + "Cors": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + } + ] + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" + }, + "GatewayResponses": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MethodSettings": { + "items": { + "type": "object" + }, + "type": "array" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "Models": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "OpenApiVersion": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "Function": { + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "AutoPublishAlias": { + "type": "string" + }, + "AutoPublishCodeSha256": { + "type": "string" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "CodeUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Location" + } + ] + }, + "DeadLetterQueue": { + "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" + }, + "DeploymentPreference": { + "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" + }, + "EventInvokeConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" + }, + "ImageUri": { + "type": "string" + }, + "InlineCode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "Tracing": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" + } + } + }, + "HttpApi": { + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" + }, + "CorsConfiguration": { + "anyOf": [ + { + "type": [ + "boolean" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" + } + ] + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "RouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "StageVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "SimpleTable": { + "properties": { + "SSESpecification": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" + } + } + } + }, + "type": "object" + }, + "Mappings": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Metadata": { + "type": "object" + }, + "Outputs": { + "additionalProperties": false, + "maxProperties": 60, + "minProperties": 1, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Parameters": { + "additionalProperties": false, + "maxProperties": 50, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/Parameter" + } + }, + "type": "object" + }, + "Resources": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::ACMPCA::Certificate" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" + }, + { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Broker" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" + }, + { + "$ref": "#/definitions/AWS::Amplify::App" + }, + { + "$ref": "#/definitions/AWS::Amplify::Branch" + }, + { + "$ref": "#/definitions/AWS::Amplify::Domain" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Account" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Method" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Resource" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RestApi" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::VpcLink" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Route" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Application" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Deployment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Environment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, + { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" + }, + { + "$ref": "#/definitions/AWS::AppFlow::Flow" + }, + { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" + }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Mesh" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Route" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualService" + }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, + { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" + }, + { + "$ref": "#/definitions/AWS::AppStream::Fleet" + }, + { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder" + }, + { + "$ref": "#/definitions/AWS::AppStream::Stack" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::User" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiCache" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiKey" + }, + { + "$ref": "#/definitions/AWS::AppSync::DataSource" + }, + { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" + }, + { + "$ref": "#/definitions/AWS::AppSync::Resolver" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, + { + "$ref": "#/definitions/AWS::Athena::NamedQuery" + }, + { + "$ref": "#/definitions/AWS::Athena::PreparedStatement" + }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::WarmPool" + }, + { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupSelection" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupVault" + }, + { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" + }, + { + "$ref": "#/definitions/AWS::Batch::JobDefinition" + }, + { + "$ref": "#/definitions/AWS::Batch::JobQueue" + }, + { + "$ref": "#/definitions/AWS::Budgets::Budget" + }, + { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalyMonitor" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalySubscription" + }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Account" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Certificate" + }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, + { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::CustomResource" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Macro" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Publisher" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Stack" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::StackSet" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Distribution" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Function" + }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, + { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, + { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" + }, + { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" + }, + { + "$ref": "#/definitions/AWS::CloudTrail::Trail" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Alarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Dashboard" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Domain" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::Project" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" + }, + { + "$ref": "#/definitions/AWS::CodeCommit::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::Application" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Webhook" + }, + { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, + { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" + }, + { + "$ref": "#/definitions/AWS::Config::AggregationAuthorization" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" + }, + { + "$ref": "#/definitions/AWS::Config::ConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::DeliveryChannel" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration" + }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, + { + "$ref": "#/definitions/AWS::Connect::QuickConnect" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" + }, + { + "$ref": "#/definitions/AWS::DAX::Cluster" + }, + { + "$ref": "#/definitions/AWS::DAX::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DAX::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" + }, + { + "$ref": "#/definitions/AWS::DMS::Certificate" + }, + { + "$ref": "#/definitions/AWS::DMS::Endpoint" + }, + { + "$ref": "#/definitions/AWS::DMS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationInstance" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTask" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, + { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBCluster" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBInstance" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::Table" + }, + { + "$ref": "#/definitions/AWS::EC2::CapacityReservation" + }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::CustomerGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::DHCPOptions" + }, + { + "$ref": "#/definitions/AWS::EC2::EC2Fleet" + }, + { + "$ref": "#/definitions/AWS::EC2::EIP" + }, + { + "$ref": "#/definitions/AWS::EC2::EIPAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::FlowLog" + }, + { + "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::Host" + }, + { + "$ref": "#/definitions/AWS::EC2::Instance" + }, + { + "$ref": "#/definitions/AWS::EC2::InternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::NatGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAcl" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterface" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" + }, + { + "$ref": "#/definitions/AWS::EC2::PlacementGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, + { + "$ref": "#/definitions/AWS::EC2::Route" + }, + { + "$ref": "#/definitions/AWS::EC2::RouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::EC2::SpotFleet" + }, + { + "$ref": "#/definitions/AWS::EC2::Subnet" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPC" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointService" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::Volume" + }, + { + "$ref": "#/definitions/AWS::EC2::VolumeAttachment" + }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, + { + "$ref": "#/definitions/AWS::ECR::Repository" + }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, + { + "$ref": "#/definitions/AWS::ECS::Cluster" + }, + { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" + }, + { + "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" + }, + { + "$ref": "#/definitions/AWS::ECS::Service" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskSet" + }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::EFS::FileSystem" + }, + { + "$ref": "#/definitions/AWS::EFS::MountTarget" + }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, + { + "$ref": "#/definitions/AWS::EKS::Cluster" + }, + { + "$ref": "#/definitions/AWS::EKS::FargateProfile" + }, + { + "$ref": "#/definitions/AWS::EKS::Nodegroup" + }, + { + "$ref": "#/definitions/AWS::EMR::Cluster" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::EMR::Step" + }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" + }, + { + "$ref": "#/definitions/AWS::Elasticsearch::Domain" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Registry" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Schema" + }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, + { + "$ref": "#/definitions/AWS::Events::EventBusPolicy" + }, + { + "$ref": "#/definitions/AWS::Events::Rule" + }, + { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" + }, + { + "$ref": "#/definitions/AWS::FMS::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::FMS::Policy" + }, + { + "$ref": "#/definitions/AWS::FSx::FileSystem" + }, + { + "$ref": "#/definitions/AWS::FinSpace::Environment" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Detector" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EntityType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EventType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Label" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Outcome" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Variable" + }, + { + "$ref": "#/definitions/AWS::GameLift::Alias" + }, + { + "$ref": "#/definitions/AWS::GameLift::Build" + }, + { + "$ref": "#/definitions/AWS::GameLift::Fleet" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" + }, + { + "$ref": "#/definitions/AWS::GameLift::Script" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, + { + "$ref": "#/definitions/AWS::Glue::Classifier" + }, + { + "$ref": "#/definitions/AWS::Glue::Connection" + }, + { + "$ref": "#/definitions/AWS::Glue::Crawler" + }, + { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" + }, + { + "$ref": "#/definitions/AWS::Glue::Database" + }, + { + "$ref": "#/definitions/AWS::Glue::DevEndpoint" + }, + { + "$ref": "#/definitions/AWS::Glue::Job" + }, + { + "$ref": "#/definitions/AWS::Glue::MLTransform" + }, + { + "$ref": "#/definitions/AWS::Glue::Partition" + }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, + { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::Glue::Table" + }, + { + "$ref": "#/definitions/AWS::Glue::Trigger" + }, + { + "$ref": "#/definitions/AWS::Glue::Workflow" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, + { + "$ref": "#/definitions/AWS::GroundStation::Config" + }, + { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Detector" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Filter" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::IPSet" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Master" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Member" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" + }, + { + "$ref": "#/definitions/AWS::IAM::AccessKey" + }, + { + "$ref": "#/definitions/AWS::IAM::Group" + }, + { + "$ref": "#/definitions/AWS::IAM::InstanceProfile" + }, + { + "$ref": "#/definitions/AWS::IAM::ManagedPolicy" + }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::Policy" + }, + { + "$ref": "#/definitions/AWS::IAM::Role" + }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, + { + "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" + }, + { + "$ref": "#/definitions/AWS::IAM::User" + }, + { + "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" + }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" + }, + { + "$ref": "#/definitions/AWS::Inspector::ResourceGroup" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Device" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Placement" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Project" + }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::Authorizer" + }, + { + "$ref": "#/definitions/AWS::IoT::Certificate" + }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, + { + "$ref": "#/definitions/AWS::IoT::Policy" + }, + { + "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, + { + "$ref": "#/definitions/AWS::IoT::Thing" + }, + { + "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRule" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" + }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::Input" + }, + { + "$ref": "#/definitions/AWS::IoTFleetHub::Application" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, + { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, + { + "$ref": "#/definitions/AWS::KMS::Alias" + }, + { + "$ref": "#/definitions/AWS::KMS::Key" + }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, + { + "$ref": "#/definitions/AWS::Kendra::DataSource" + }, + { + "$ref": "#/definitions/AWS::Kendra::Faq" + }, + { + "$ref": "#/definitions/AWS::Kendra::Index" + }, + { + "$ref": "#/definitions/AWS::Kinesis::Stream" + }, + { + "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Permissions" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Resource" + }, + { + "$ref": "#/definitions/AWS::Lambda::Alias" + }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" + }, + { + "$ref": "#/definitions/AWS::Lambda::Function" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersion" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Permission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Version" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, + { + "$ref": "#/definitions/AWS::Location::GeofenceCollection" + }, + { + "$ref": "#/definitions/AWS::Location::Map" + }, + { + "$ref": "#/definitions/AWS::Location::PlaceIndex" + }, + { + "$ref": "#/definitions/AWS::Location::RouteCalculator" + }, + { + "$ref": "#/definitions/AWS::Location::Tracker" + }, + { + "$ref": "#/definitions/AWS::Location::TrackerConsumer" + }, + { + "$ref": "#/definitions/AWS::Logs::Destination" + }, + { + "$ref": "#/definitions/AWS::Logs::LogGroup" + }, + { + "$ref": "#/definitions/AWS::Logs::LogStream" + }, + { + "$ref": "#/definitions/AWS::Logs::MetricFilter" + }, + { + "$ref": "#/definitions/AWS::Logs::QueryDefinition" + }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" + }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, + { + "$ref": "#/definitions/AWS::MSK::Cluster" + }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Preset" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Queue" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Input" + }, + { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, + { + "$ref": "#/definitions/AWS::MediaStore::Container" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBCluster" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBInstance" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::Studio" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::App" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Instance" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Layer" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Stack" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::UserProfile" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Volume" + }, + { + "$ref": "#/definitions/AWS::OpsWorksCM::Server" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::App" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Campaign" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EventStream" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Segment" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::Identity" + }, + { + "$ref": "#/definitions/AWS::QLDB::Ledger" + }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSet" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSource" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, + { + "$ref": "#/definitions/AWS::RAM::ResourceShare" + }, + { + "$ref": "#/definitions/AWS::RDS::DBCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBInstance" + }, + { + "$ref": "#/definitions/AWS::RDS::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::OptionGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::Cluster" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Fleet" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Robot" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, + { + "$ref": "#/definitions/AWS::Route53::HealthCheck" + }, + { + "$ref": "#/definitions/AWS::Route53::HostedZone" + }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSet" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" + }, + { + "$ref": "#/definitions/AWS::S3::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SDB::Domain" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::SES::ContactList" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptFilter" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRule" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" + }, + { + "$ref": "#/definitions/AWS::SES::Template" + }, + { + "$ref": "#/definitions/AWS::SNS::Subscription" + }, + { + "$ref": "#/definitions/AWS::SNS::Topic" + }, + { + "$ref": "#/definitions/AWS::SNS::TopicPolicy" + }, + { + "$ref": "#/definitions/AWS::SQS::Queue" + }, + { + "$ref": "#/definitions/AWS::SQS::QueuePolicy" + }, + { + "$ref": "#/definitions/AWS::SSM::Association" + }, + { + "$ref": "#/definitions/AWS::SSM::Document" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" + }, + { + "$ref": "#/definitions/AWS::SSM::Parameter" + }, + { + "$ref": "#/definitions/AWS::SSM::PatchBaseline" + }, + { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::Contact" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" + }, + { + "$ref": "#/definitions/AWS::SSO::Assignment" + }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, + { + "$ref": "#/definitions/AWS::SSO::PermissionSet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Model" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Workteam" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::Secret" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::Hub" + }, + { + "$ref": "#/definitions/AWS::Serverless::Api" + }, + { + "$ref": "#/definitions/AWS::Serverless::Application" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function" + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi" + }, + { + "$ref": "#/definitions/AWS::Serverless::LayerVersion" + }, + { + "$ref": "#/definitions/AWS::Serverless::SimpleTable" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service" + }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::Activity" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine" + }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, + { + "$ref": "#/definitions/AWS::Timestream::Database" + }, + { + "$ref": "#/definitions/AWS::Timestream::Table" + }, + { + "$ref": "#/definitions/AWS::Transfer::Server" + }, + { + "$ref": "#/definitions/AWS::Transfer::User" + }, + { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAF::Rule" + }, + { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAF::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::Rule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace" + }, + { + "$ref": "#/definitions/AWS::XRay::Group" + }, + { + "$ref": "#/definitions/AWS::XRay::SamplingRule" + }, + { + "$ref": "#/definitions/Alexa::ASK::Skill" + } + ] + } + }, + "type": "object" + }, + "Transform": { + "enum": [ + "AWS::Serverless-2016-10-31" + ], + "type": "string" + } + }, + "required": [ + "Transform", + "Resources" + ], + "type": "object" +} \ No newline at end of file diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/blank-schema.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/blank-schema.graphql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index 0b4a49a2a7e..d245549b52a 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -18,6 +18,7 @@ import _ from 'lodash'; import { getAppSyncResourceName, getAppSyncAuthConfig, checkIfAuthExists, authConfigHasApiKey } from './utils/amplify-meta-utils'; import { printApiKeyWarnings } from './utils/print-api-key-warnings'; import { isNameUnique } from './utils/check-case-sensitivity'; +import { askAuthQuestions } from './service-walkthroughs/appSync-walkthrough'; // keep in sync with ServiceName in amplify-category-function, but probably it will not change const FunctionServiceNameLambdaFunction = 'Lambda'; @@ -118,11 +119,31 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { if (updates.additionalAuthTypes) { authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } - await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { - resourceDir, - parameters: this.getCfnParameters(apiName, authConfig, resourceDir), - authConfig, - }); + + let noErrors = true; + do { + try { + await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { + resourceDir, + parameters: this.getCfnParameters(apiName, authConfig, resourceDir), + authConfig, + }); + noErrors = true; + } catch (err) { + noErrors = false; + if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AWS_IAM', this.context)); + } else if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AMAZON_COGNITO_USER_POOLS', this.context)); + } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('OPENID_CONNECT', this.context)); + } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('API_KEY', this.context)); + } else { + throw err; + } + } + } while(!noErrors) this.context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); this.context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index f2878dbb503..4ed0136fed9 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -1,7 +1,7 @@ import { ListQuestion, CheckboxQuestion, ListChoiceOptions } from 'inquirer'; import { dataStoreLearnMore } from '../sync-conflict-handler-assets/syncAssets'; import inquirer from 'inquirer'; -import fs from 'fs-extra'; +import fs, { createSymlink } from 'fs-extra'; import path from 'path'; import { rootAssetDir } from '../aws-constants'; import { collectDirectivesByTypeNames, readProjectConfiguration, ConflictHandlerType } from 'graphql-transformer-core'; @@ -21,6 +21,7 @@ import { $TSContext, open, } from 'amplify-cli-core'; +import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions'; const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; @@ -46,6 +47,25 @@ const authProviderChoices = [ }, ]; +const conflictResolutionHanlderChoices = [ + { + name: 'Auto Merge', + value: 'AUTOMERGE', + }, + { + name: 'Optimistic Concurrency', + value: 'OPTIMISTIC_CONCURRENCY', + }, + { + name: 'Custom Lambda', + value: 'LAMBDA', + }, + { + name: 'Learn More', + value: 'Learn More', + }, +]; + export const openConsole = async (context: $TSContext) => { const amplifyMeta = stateManager.getMeta(); const categoryAmplifyMeta = amplifyMeta[category]; @@ -136,11 +156,188 @@ export const openConsole = async (context: $TSContext) => { } }; -export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { - const resourceName = resourceAlreadyExists(context); +const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { + let continuePrompt = false; let authConfig; let defaultAuthType; let resolverConfig; + const { amplify } = context; + const { inputs } = serviceMetadata; + const defaultValuesSrc = `${__dirname}/../default-values/${defaultValuesFilename}`; + const { getAllDefaults } = require(defaultValuesSrc); + const allDefaultValues = getAllDefaults(amplify.getProjectDetails()); + + let resourceAnswers = {}; + resourceAnswers[inputs[1].key] = allDefaultValues[inputs[1].key]; + resourceAnswers[inputs[0].key] = resourceAnswers[inputs[1].key]; + + // + // Default authConfig - API Key (expires in 7 days) + // + authConfig = { + defaultAuthentication: { + apiKeyConfig: { + apiKeyExpirationDays: 7 + }, + authenticationType: 'API_KEY', + }, + additionalAuthenticationProviders: [], + }; + + // + // Repeat prompt until user selects Continue + // + while(!continuePrompt) { + + const getAuthModeChoice = () => { + if (authConfig.defaultAuthentication.authenticationType === 'API_KEY') { + return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (Expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; + } + return authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name; + }; + + const basicInfoQuestionChoices = []; + + basicInfoQuestionChoices.push({ + name: `Name: ${resourceAnswers[inputs[1].key]}`, + value: 'API_NAME', + }); + + basicInfoQuestionChoices.push({ + name: `Authorization modes: ${getAuthModeChoice()}`, + value: 'API_AUTH_MODE', + }); + + basicInfoQuestionChoices.push({ + name: `Conflict detection (required for DataStore): ${resolverConfig?.project ? 'Enabled' : 'Disabled'}`, + value: 'CONFLICT_DETECTION', + }); + + if(resolverConfig?.project) { + basicInfoQuestionChoices.push({ + name: `Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, + value: 'CONFLICT_STRATEGY', + }); + } + + basicInfoQuestionChoices.push({ + name: 'Continue', + value: 'CONTINUE', + }); + + const basicInfoQuestion = { + type: 'list', + name: 'basicApiSettings', + message: 'Here is the GraphQL API that we will create. Select a setting to edit or continue', + default: 'CONTINUE', + choices: basicInfoQuestionChoices, + }; + + let { basicApiSettings } = await inquirer.prompt([basicInfoQuestion]); + + switch(basicApiSettings) { + case 'API_NAME': + const resourceQuestions = [ + { + type: inputs[1].type, + name: inputs[1].key, + message: inputs[1].question, + validate: amplify.inputValidation(inputs[1]), + default: () => { + const defaultValue = allDefaultValues[inputs[1].key]; + return defaultValue; + }, + }, + ]; + // API name question + resourceAnswers = await inquirer.prompt(resourceQuestions); + resourceAnswers[inputs[0].key] = resourceAnswers[inputs[1].key]; + break; + case 'API_AUTH_MODE': + // Ask additonal questions + ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); + ({ authConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); + break; + case 'CONFLICT_DETECTION': + resolverConfig = await askResolverConflictQuestion(context, defaultAuthType); + break; + case 'CONFLICT_STRATEGY': + resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + break; + case 'CONTINUE': + continuePrompt = true; + break; + } + } + + return { + answers: resourceAnswers, + output: { + authConfig, + }, + resolverConfig, + }; + +}; + +const updateApiInputWalkthrough = async (context, project, resolverConfig, modelTypes) => { + let authConfig; + let defaultAuthType; + const updateChoices = [ + { + name: 'Authorization modes', + value: 'AUTH_MODE', + }, + ]; + // check if DataStore is enabled for the entire API + if (project.config && !_.isEmpty(project.config.ResolverConfig)) { + updateChoices.push({ + name: 'Conflict resolution strategy', + value: 'CONFLICT_STRATEGY', + }); + updateChoices.push({ + name: 'Disable conflict detection', + value: 'DISABLE_CONFLICT', + }); + } else { + updateChoices.push({ + name: 'Enable conflict detection', + value: 'ENABLE_CONFLICT', + }); + } + + const updateOptionQuestion = { + type: 'list', + name: 'updateOption', + message: 'Select a setting to edit', + choices: updateChoices, + }; + + const { updateOption } = await inquirer.prompt([updateOptionQuestion]); + + if (updateOption === 'ENABLE_CONFLICT') { + // resolverConfig = { + // project: { ConflictHandler: ConflictHandlerType.AUTOMERGE, ConflictDetection: 'VERSION' }, + // }; + resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); + } else if (updateOption === 'DISABLE_CONFLICT') { + resolverConfig = {}; + } else if (updateOption === 'AUTH_MODE') { + ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); + authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); + } else if (updateOption === 'CONFLICT_STRATEGY') { + resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + } + + return { + authConfig, + resolverConfig, + }; + +}; + +export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { + const resourceName = resourceAlreadyExists(context); if (resourceName) { const errMessage = @@ -169,66 +366,26 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen }, ]; - // API name question - - const resourceAnswers = await inquirer.prompt(resourceQuestions); - resourceAnswers[inputs[0].key] = resourceAnswers[inputs[1].key]; - - // Ask additonal questions - - ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); - ({ authConfig, resolverConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); - - // Ask schema file question - - const schemaFileQuestion = { - type: inputs[2].type, - name: inputs[2].key, - message: inputs[2].question, - validate: amplify.inputValidation(inputs[2]), - default: () => { - const defaultValue = allDefaultValues[inputs[2].key]; - return defaultValue; - }, - }; - - const schemaFileAnswer = await inquirer.prompt(schemaFileQuestion); - + const basicInfoAnswers = await serviceApiInputWalkthrough(context, defaultValuesFilename, serviceMetadata); let schemaContent = ''; let askToEdit = true; - if (schemaFileAnswer[inputs[2].key]) { - // User has an annotated schema file - const filePathQuestion = { - type: inputs[3].type, - name: inputs[3].key, - message: inputs[3].question, - validate: amplify.inputValidation(inputs[3]), - }; - const { schemaFilePath } = await inquirer.prompt(filePathQuestion); - schemaContent = fs.readFileSync(schemaFilePath, 'utf8'); - askToEdit = false; - } else { - // Schema template selection - const templateSelectionQuestion = { - type: inputs[4].type, - name: inputs[4].key, - message: inputs[4].question, - choices: inputs[4].options.filter(templateSchemaFilter(authConfig)), - validate: amplify.inputValidation(inputs[4]), - }; - const { templateSelection } = await inquirer.prompt(templateSelectionQuestion); - const schemaFilePath = path.join(graphqlSchemaDir, templateSelection); - schemaContent = fs.readFileSync(schemaFilePath, 'utf8'); - } + // Schema template selection + const templateSelectionQuestion = { + type: inputs[4].type, + name: inputs[4].key, + message: inputs[4].question, + choices: inputs[4].options.filter(templateSchemaFilter(basicInfoAnswers.output.authConfig)), + validate: amplify.inputValidation(inputs[4]), + }; + + const { templateSelection } = await inquirer.prompt(templateSelectionQuestion); + const schemaFilePath = path.join(graphqlSchemaDir, templateSelection); + schemaContent = fs.readFileSync(schemaFilePath, 'utf8'); return { - answers: resourceAnswers, - output: { - authConfig, - }, + ...basicInfoAnswers, noCfnFile: true, - resolverConfig, schemaContent, askToEdit, }; @@ -238,13 +395,13 @@ export const updateWalkthrough = async (context): Promise => { const { allResources } = await context.amplify.getResourceStatus(); let resourceDir; let resourceName; + let resource; let authConfig; - let defaultAuthType; const resources = allResources.filter(resource => resource.service === 'AppSync'); // There can only be one appsync resource if (resources.length > 0) { - const resource = resources[0]; + resource = resources[0]; if (resource.providerPlugin !== providerName) { // TODO: Move message string to seperate file throw new Error( @@ -265,6 +422,8 @@ export const updateWalkthrough = async (context): Promise => { const project = await readProjectConfiguration(resourceDir); let resolverConfig = project.config.ResolverConfig; + await displayApiInformation(context, resource, project); + // Check for common errors const directiveMap = collectDirectivesByTypeNames(project.schema); let modelTypes = []; @@ -276,45 +435,8 @@ export const updateWalkthrough = async (context): Promise => { } }); } - const updateChoices = [ - { - name: 'Walkthrough all configurations', - value: 'all', - }, - { - name: 'Update auth settings', - value: 'authUpdate', - }, - ]; - // check if DataStore is enabled for the entire API - if (project.config && !_.isEmpty(project.config.ResolverConfig)) { - updateChoices.push({ name: 'Disable DataStore for entire API', value: 'disableDatastore' }); - } else { - updateChoices.push({ name: 'Enable DataStore for entire API', value: 'enableDatastore' }); - } - const updateOptionQuestion = { - type: 'list', - name: 'updateOption', - message: 'Select from the options below', - choices: updateChoices, - }; - - const { updateOption } = await inquirer.prompt([updateOptionQuestion]); - - if (updateOption === 'enableDatastore') { - resolverConfig = { - project: { ConflictHandler: ConflictHandlerType.AUTOMERGE, ConflictDetection: 'VERSION' }, - }; - } else if (updateOption === 'disableDatastore') { - resolverConfig = {}; - } else if (updateOption === 'authUpdate') { - ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); - authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); - } else if (updateOption === 'all') { - ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); - ({ authConfig, resolverConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType, modelTypes)); - } + ({ authConfig, resolverConfig } = await updateApiInputWalkthrough(context, project, resolverConfig, modelTypes)); return { version: 1, @@ -330,111 +452,115 @@ export const updateWalkthrough = async (context): Promise => { }; }; -async function askAdditionalQuestions(context, authConfig, defaultAuthType, modelTypes?) { - let resolverConfig; +async function displayApiInformation(context, resource, project) { + context.print.info(''); - const advancedSettingsQuestion = { - type: 'list', - name: 'advancedSettings', - message: 'Do you want to configure advanced settings for the GraphQL API', - choices: [ - { - name: 'No, I am done.', - value: false, - }, - { - name: 'Yes, I want to make some additional changes.', - value: true, - }, - ], - }; + context.print.success('General information'); + context.print.info('- Name: '.concat(resource.resourceName)); + context.print.info('- API endpoint: '.concat(resource?.output?.GraphQLAPIEndpointOutput ? resource?.output?.GraphQLAPIEndpointOutput : 'Not available')); + context.print.info(''); - const advancedSettingsAnswer = await inquirer.prompt([advancedSettingsQuestion]); + context.print.success('Authorization modes'); + context.print.info(`- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`); + await resource.output.authConfig.additionalAuthenticationProviders.map(async (authMode) => { + context.print.info(`- ${await displayAuthMode(context, resource, authMode.authenticationType)}`); + }); + context.print.info(''); - if (advancedSettingsAnswer.advancedSettings) { - authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); - resolverConfig = await askResolverConflictQuestion(context, modelTypes); + context.print.success('Conflict detection'); + if (project.config && !_.isEmpty(project.config.ResolverConfig)) { + context.print.info(`- Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name}`); + } else { + context.print.info('- Not configured'); } - return { authConfig, resolverConfig }; + context.print.info(''); +} + +async function displayAuthMode(context, resource, authMode) { + if(authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { + let { apiKeys } = await getAppSyncApiKeys(context, {apiId: resource.output.GraphQLAPIIdOutput}); + let apiKeyExpires = apiKeys.find(key => key.id == resource.output.GraphQLAPIKeyOutput)?.expires; + if(!apiKeyExpires) { + return authProviderChoices.find(choice => choice.value === authMode).name; + } + let apiKeyExpiresDate = new Date(apiKeyExpires * 1000); + return `${authProviderChoices.find(choice => choice.value === authMode).name} expiring ${apiKeyExpiresDate}: ${resource.output.GraphQLAPIKeyOutput}`; + } + return authProviderChoices.find(choice => choice.value === authMode).name; +} + +async function askAdditionalQuestions(context, authConfig, defaultAuthType, modelTypes?) { + authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); + return { authConfig }; } async function askResolverConflictQuestion(context, modelTypes?) { let resolverConfig: any = {}; if (await context.prompt.confirm('Enable conflict detection?')) { - const askConflictResolutionStrategy = async msg => { - let conflictResolutionStrategy; - - do { - const conflictResolutionQuestion: ListQuestion = { - type: 'list', - name: 'conflictResolutionStrategy', - message: msg, - default: 'AUTOMERGE', - choices: [ - { - name: 'Auto Merge', - value: 'AUTOMERGE', - }, - { - name: 'Optimistic Concurrency', - value: 'OPTIMISTIC_CONCURRENCY', - }, - { - name: 'Custom Lambda', - value: 'LAMBDA', - }, - { - name: 'Learn More', - value: 'Learn More', - }, - ], - }; - if (conflictResolutionStrategy === 'Learn More') { - conflictResolutionQuestion.prefix = dataStoreLearnMore; - } - ({ conflictResolutionStrategy } = await inquirer.prompt([conflictResolutionQuestion])); - } while (conflictResolutionStrategy === 'Learn More'); + resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); + } - let syncConfig: any = { - ConflictHandler: conflictResolutionStrategy, - ConflictDetection: 'VERSION', - }; + return resolverConfig; +} + +async function askResolverConflictHandlerQuestion(context, modelTypes?) { + let resolverConfig: any = {}; + const askConflictResolutionStrategy = async msg => { + let conflictResolutionStrategy; - if (conflictResolutionStrategy === 'LAMBDA') { - const { newFunction, lambdaFunctionName } = await askSyncFunctionQuestion(context); - syncConfig.LambdaConflictHandler = { - name: lambdaFunctionName, - new: newFunction, - }; + do { + const conflictResolutionQuestion: ListQuestion = { + type: 'list', + name: 'conflictResolutionStrategy', + message: msg, + default: 'AUTOMERGE', + choices: conflictResolutionHanlderChoices, + }; + if (conflictResolutionStrategy === 'Learn More') { + conflictResolutionQuestion.prefix = dataStoreLearnMore; } + ({ conflictResolutionStrategy } = await inquirer.prompt([conflictResolutionQuestion])); + } while (conflictResolutionStrategy === 'Learn More'); - return syncConfig; + let syncConfig: any = { + ConflictHandler: conflictResolutionStrategy, + ConflictDetection: 'VERSION', }; - resolverConfig.project = await askConflictResolutionStrategy('Select the default resolution strategy'); + if (conflictResolutionStrategy === 'LAMBDA') { + const { newFunction, lambdaFunctionName } = await askSyncFunctionQuestion(context); + syncConfig.LambdaConflictHandler = { + name: lambdaFunctionName, + new: newFunction, + }; + } - // Ask for per-model resolver override setting + return syncConfig; + }; - if (modelTypes && modelTypes.length > 0) { - if (await context.prompt.confirm('Do you want to override default per model settings?', false)) { - const modelTypeQuestion = { - type: 'checkbox', - name: 'selectedModelTypes', - message: 'Select the models from below:', - choices: modelTypes, - }; + resolverConfig.project = await askConflictResolutionStrategy('Select the default resolution strategy'); - const { selectedModelTypes } = await inquirer.prompt([modelTypeQuestion]); + // Ask for per-model resolver override setting - if (selectedModelTypes.length > 0) { - resolverConfig.models = {}; - for (let i = 0; i < selectedModelTypes.length; i += 1) { - resolverConfig.models[selectedModelTypes[i]] = await askConflictResolutionStrategy( - `Select the resolution strategy for ${selectedModelTypes[i]} model`, - ); - } + if (modelTypes && modelTypes.length > 0) { + if (await context.prompt.confirm('Do you want to override default per model settings?', false)) { + const modelTypeQuestion = { + type: 'checkbox', + name: 'selectedModelTypes', + message: 'Select the models from below:', + choices: modelTypes, + }; + + const { selectedModelTypes } = await inquirer.prompt([modelTypeQuestion]); + + if (selectedModelTypes.length > 0) { + resolverConfig.models = {}; + for (let i = 0; i < selectedModelTypes.length; i += 1) { + resolverConfig.models[selectedModelTypes[i]] = await askConflictResolutionStrategy( + `Select the resolution strategy for ${selectedModelTypes[i]} model`, + ); } } } @@ -537,7 +663,12 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut return authConfig; } -async function askAuthQuestions(authType, context, printLeadText = false) { +export async function addAdditionalAuthMode(context, authType) { + const currentAuthConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); + currentAuthConfig.additionalAuthenticationProviders.push(askAuthQuestions(authType, context)); +} + +export async function askAuthQuestions(authType, context, printLeadText = false) { if (authType === 'AMAZON_COGNITO_USER_POOLS') { if (printLeadText) { context.print.info('Cognito UserPool configuration'); diff --git a/packages/amplify-e2e-core/src/categories/api.ts b/packages/amplify-e2e-core/src/categories/api.ts index 571e91efc48..b623c89948e 100644 --- a/packages/amplify-e2e-core/src/categories/api.ts +++ b/packages/amplify-e2e-core/src/categories/api.ts @@ -30,24 +30,19 @@ const defaultOptions: AddApiOptions = { apiName: '\r', }; -export function addApiWithoutSchema(cwd: string, opts: Partial = {}) { +export function addApiWithoutSchema(cwd: string, opts: Partial = {}) { const options = _.assign(defaultOptions, opts); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(3) + .sendCarriageReturn() .wait('Provide API name:') .sendLine(options.apiName) - .wait(/.*Choose the default authorization type for the API.*/) - .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) - .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) .sendCarriageReturn() - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendCarriageReturn() - .wait('Do you have an annotated GraphQL schema?') - .sendLine('n') .wait('Choose a schema template:') .sendCarriageReturn() .wait('Do you want to edit the schema now?') @@ -65,30 +60,29 @@ export function addApiWithoutSchema(cwd: string, opts: Partial = }); } -export function addApiWithSchema(cwd: string, schemaFile: string, opts: Partial = {}) { +export function addApiWithBlankSchema(cwd: string, opts: Partial = {}) { const options = _.assign(defaultOptions, opts); - const schemaPath = getSchemaPath(schemaFile); + //const schemaPath = getSchemaPath(schemaFile); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(3) + .sendCarriageReturn() .wait('Provide API name:') .sendLine(options.apiName) - .wait(/.*Choose the default authorization type for the API.*/) + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) - .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) - .sendLine(opts.apiKeyExpirationDays ? opts.apiKeyExpirationDays.toString() : '1') - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) + .wait('Choose a schema template:') + .sendKeyDown(2) .sendCarriageReturn() - .wait('Do you have an annotated GraphQL schema?') - .sendLine('y') - .wait('Provide your schema file path:') - .sendLine(schemaPath) + .wait('Do you want to edit the schema now?') + .sendLine('n') .wait( '"amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud', ) + .sendEof() .run((err: Error) => { if (!err) { resolve(); @@ -96,35 +90,30 @@ export function addApiWithSchema(cwd: string, schemaFile: string, opts: Partial< reject(err); } }); + }); } -export function addApiWithSchemaAndConflictDetection(cwd: string, schemaFile: string) { - const schemaPath = getSchemaPath(schemaFile); +export function addApiWithBlankSchemaAndConflictDetection(cwd: string) { + //const schemaPath = getSchemaPath(schemaFile); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Provide API name:') + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp() .sendCarriageReturn() - .wait(/.*Choose the default authorization type for the API.*/) - .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) - .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) - .sendCarriageReturn() - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendLine(KEY_DOWN_ARROW) // Down - .wait(/.*Configure additional auth types.*/) - .sendLine('n') .wait(/.*Enable conflict detection.*/) .sendLine('y') .wait(/.*Select the default resolution strategy.*/) .sendCarriageReturn() - .wait(/.*Do you have an annotated GraphQL schema.*/) - .sendLine('y') - .wait('Provide your schema file path:') - .sendLine(schemaPath) + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendCarriageReturn() + .wait('Choose a schema template:') + .sendKeyDown(2) + .sendCarriageReturn() + .wait('Do you want to edit the schema now?') + .sendLine('n') .wait( '"amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud', ) @@ -152,7 +141,7 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Select from the options below') + .wait(/.*Select a setting to edit.*/) .sendCarriageReturn() .wait(/.*Choose the default authorization type for the API.*/) .sendCarriageReturn() @@ -160,8 +149,6 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { .sendLine('description') .wait(/.*After how many days from now the API key should expire.*/) .sendLine('300') - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendLine(KEY_DOWN_ARROW) // Down .wait(/.*Configure additional auth types.*/) .sendLine('y') .wait(/.*Choose the additional authorization types you want to configure for the API.*/) @@ -184,8 +171,6 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { .sendLine('1000') .wait(/.*Enter the number of milliseconds a token is valid after being authenticated.*/) .sendLine('2000') - .wait('Enable conflict detection?') - .sendLine('n') .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { @@ -198,14 +183,18 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { }); } -export function apiUpdateToggleDataStore(cwd: string, settings: any) { +export function apiEnableDataStore(cwd: string, settings: any) { return new Promise((resolve, reject) => { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Select from the options below') - .send(KEY_DOWN_ARROW) - .sendLine(KEY_DOWN_ARROW) // select enable datastore for the api + .wait(/.*Select a setting to edit.*/) + .sendKeyDown() + .sendCarriageReturn() + .wait(/.*Select the default resolution strategy.*/) + .sendCarriageReturn() + .wait(/.*Do you want to override default per model settings?.*/) + .sendConfirmNo() .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { @@ -218,29 +207,39 @@ export function apiUpdateToggleDataStore(cwd: string, settings: any) { }); } -export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { +export function apiDisableDataStore(cwd: string, settings: any) { return new Promise((resolve, reject) => { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Select from the options below') - .sendCarriageReturn() - .wait(/.*Choose the default authorization type for the API.*/) + .wait(/.*Select a setting to edit.*/) + .sendKeyDown(2) // Disable conflict detection .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) + .wait(/.*Successfully updated resource.*/) + .sendEof() + .run((err: Error) => { + if (!err) { + resolve(); + } else { + reject(err); + } + }); + }); +} + +export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { + return new Promise((resolve, reject) => { + spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) + .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) + .wait(/.*Select a setting to edit.*/) + .sendKeyDown() .sendCarriageReturn() - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendLine(KEY_DOWN_ARROW) // Down - .wait(/.*Configure additional auth types.*/) - .sendLine('n') - .wait(/.*Enable conflict detection.*/) - .sendLine('y') .wait(/.*Select the default resolution strategy.*/) - .sendLine(KEY_DOWN_ARROW) // Down - .wait(/.*Do you want to override default per model settings.*/) - .sendLine('n') + .sendKeyDown() + .sendCarriageReturn() + // .wait(/.*Do you want to override default per model settings?.*/) + // .sendConfirmNo() .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { @@ -385,13 +384,16 @@ export function addApi(projectDir: string, settings?: any) { let chain = spawn(getCLIPath(), ['add', 'api'], { cwd: projectDir, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Provide API name:') - .sendCarriageReturn(); if (settings && Object.keys(settings).length > 0) { const authTypesToAdd = Object.keys(settings); const defaultType = authTypesToAdd[0]; + chain + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(2) + .sendCarriageReturn(); + singleSelect(chain.wait('Choose the default authorization type for the API'), defaultType, authTypesToSelectFrom); setupAuthType(defaultType, chain, settings); @@ -399,9 +401,6 @@ export function addApi(projectDir: string, settings?: any) { authTypesToAdd.shift(); chain - .wait('Do you want to configure advanced settings for the GraphQL API') - .send(KEY_DOWN_ARROW) //yes - .sendCarriageReturn() .wait('Configure additional auth types?') .sendLine('y'); @@ -416,21 +415,16 @@ export function addApi(projectDir: string, settings?: any) { authTypesToAdd.forEach(authType => { setupAuthType(authType, chain, settings); }); - - chain.wait('Enable conflict detection?').sendCarriageReturn(); //No } else { - chain.wait('Do you want to configure advanced settings for the GraphQL API').sendCarriageReturn(); //No + chain + .wait('Configure additional auth types?') + .sendLine('n'); } - } else { - chain.wait('Choose the default authorization type for the API').sendCarriageReturn(); - setupAPIKey(chain); - - chain.wait('Do you want to configure advanced settings for the GraphQL API').sendCarriageReturn(); //No } chain - .wait('Do you have an annotated GraphQL schema?') - .sendLine('n') + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendCarriageReturn() .wait('Choose a schema template:') .sendCarriageReturn() .wait('Do you want to edit the schema now?') diff --git a/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts index e20b226cab2..70e6c11e198 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts @@ -4,7 +4,8 @@ import { deleteProject, initFlutterProjectWithProfile, initJSProjectWithProfile, - addApiWithSchema, + addApiWithBlankSchema, + addApiWithoutSchema, updateApiSchema, updateApiWithMultiAuth, createNewProjectDir, @@ -22,6 +23,7 @@ import { getBackendAmplifyMeta, amplifyPushUpdateForDependentModel, amplifyPushForce, + updateSchema, } from 'amplify-e2e-core'; import path from 'path'; import { existsSync } from 'fs'; @@ -30,8 +32,10 @@ import _ from 'lodash'; describe('amplify add api (GraphQL)', () => { let projRoot: string; + let projFolderName: string; beforeEach(async () => { - projRoot = await createNewProjectDir('graphql-api'); + projFolderName = 'graphqlapi'; + projRoot = await createNewProjectDir(projFolderName); }); afterEach(async () => { @@ -44,8 +48,10 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api', async () => { const envName = 'devtest'; - await initJSProjectWithProfile(projRoot, { name: 'simplemodel', envName }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + const projName = 'simplemodel'; + await initJSProjectWithProfile(projRoot, { name: projName, envName }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'simple_model.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -74,8 +80,10 @@ describe('amplify add api (GraphQL)', () => { it('init a project then add and remove api', async () => { const envName = 'devtest'; - await initIosProjectWithProfile(projRoot, { name: 'simplemodel', envName }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + const projName = 'simplemodel'; + await initIosProjectWithProfile(projRoot, { name: projName, envName }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'simple_model.graphql'); await amplifyPush(projRoot); let meta = getProjectMeta(projRoot); @@ -98,8 +106,10 @@ describe('amplify add api (GraphQL)', () => { it('init a Flutter project and add the simple_model api', async () => { const envName = 'devtest'; - await initFlutterProjectWithProfile(projRoot, { name: 'simplemodel', envName }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + const projName = 'simplemodel'; + await initFlutterProjectWithProfile(projRoot, { name: projName, envName }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'simple_model.graphql'); await amplifyPushWithoutCodegen(projRoot); const meta = getProjectMeta(projRoot); @@ -132,7 +142,8 @@ describe('amplify add api (GraphQL)', () => { const initialSchema = 'initial_key_blog.graphql'; const nextSchema = 'next_key_blog.graphql'; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); await amplifyPushUpdate(projRoot); @@ -146,7 +157,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api with multiple authorization providers', async () => { await initJSProjectWithProfile(projRoot, { name: 'simplemodelmultiauth' }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'simplemodelmultiauth', 'simple_model.graphql'); await updateApiWithMultiAuth(projRoot, {}); await amplifyPush(projRoot); @@ -189,7 +201,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api, match transformer version to current version', async () => { const name = `simplemodelv${TRANSFORM_CURRENT_VERSION}`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -217,7 +230,8 @@ describe('amplify add api (GraphQL)', () => { const initialSchema = 'two-model-schema.graphql'; const fnName = `integtestfn${random}`; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await addFunction( projRoot, { @@ -264,7 +278,8 @@ describe('amplify add api (GraphQL)', () => { it('api force push with no changes', async () => { const projectName = `apinochange`; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, 'two-model-schema.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, 'two-model-schema.graphql'); await amplifyPush(projRoot); let meta = getBackendAmplifyMeta(projRoot); const { lastPushDirHash: beforeDirHash } = meta.api[projectName]; diff --git a/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts index 1b8b5d639b7..1a1310e39bd 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts @@ -1,37 +1,37 @@ import { + addApiWithBlankSchemaAndConflictDetection, + addApiWithoutSchema, + addFunction, + addRestApi, + addSimpleDDB, amplifyPush, - amplifyPushUpdate, - deleteProject, + amplifyPushUpdate, + apiDisableDataStore, + apiEnableDataStore, + checkIfBucketExists, + createNewProjectDir, + deleteProject, + deleteProjectDir, + enableAdminUI, + getAppSyncApi, + getLocalEnvInfo, + getProjectMeta, + getTransformConfig, initJSProjectWithProfile, listAttachedRolePolicies, listRolePolicies, + updateApiSchema, + updateAPIWithResolutionStrategy, updateAuthAddAdminQueries, } from 'amplify-e2e-core'; -import * as path from 'path'; -import { existsSync, readFileSync, readdirSync, writeFileSync } from 'fs'; import AWSAppSyncClient, { AUTH_TYPE } from 'aws-appsync'; +import { existsSync, readdirSync, readFileSync, writeFileSync } from 'fs'; import gql from 'graphql-tag'; -const providerName = 'awscloudformation'; - -import { - addApiWithSchema, - addApiWithSchemaAndConflictDetection, - addRestApi, - updateAPIWithResolutionStrategy, - apiUpdateToggleDataStore, - addFunction, - addSimpleDDB, - checkIfBucketExists, - createNewProjectDir, - deleteProjectDir, - getAppSyncApi, - getProjectMeta, - getLocalEnvInfo, - getTransformConfig, - enableAdminUI, -} from 'amplify-e2e-core'; import { TRANSFORM_CURRENT_VERSION } from 'graphql-transformer-core'; import _ from 'lodash'; +import * as path from 'path'; +const providerName = 'awscloudformation'; + // to deal with bug in cognito-identity-js (global as any).fetch = require('node-fetch'); @@ -55,7 +55,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project with conflict detection enabled and a schema with @key, test update mutation', async () => { const name = `keyconflictdetection`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'key-conflict-detection.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'key-conflict-detection.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -139,7 +140,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project with conflict detection enabled and toggle disable', async () => { const name = `conflictdetection`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); @@ -165,7 +167,7 @@ describe('amplify add api (GraphQL)', () => { expect(transformConfig.ResolverConfig.project.ConflictHandler).toEqual('AUTOMERGE'); // remove datastore feature - await apiUpdateToggleDataStore(projRoot, {}); + await apiDisableDataStore(projRoot, {}); await amplifyPushUpdate(projRoot); const disableDSConfig = getTransformConfig(projRoot, name); expect(disableDSConfig).toBeDefined(); @@ -188,7 +190,8 @@ describe('amplify add api (GraphQL)', () => { // setupAdminUI await enableAdminUI(appId, envName, region); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); meta = getProjectMeta(projRoot); @@ -209,7 +212,8 @@ describe('amplify add api (GraphQL)', () => { it('init a sync enabled project and update conflict resolution strategy', async () => { const name = `syncenabled`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); let transformConfig = getTransformConfig(projRoot, name); expect(transformConfig).toBeDefined(); @@ -246,7 +250,8 @@ describe('amplify add api (GraphQL)', () => { it('init a datastore enabled project and then remove datastore config in update', async () => { const name = 'withoutdatastore'; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -267,7 +272,7 @@ describe('amplify add api (GraphQL)', () => { expect(_.isEmpty(withoutDSConfig.ResolverConfig)).toBe(true); // amplify update api to enable datastore - await apiUpdateToggleDataStore(projRoot, {}); + await apiEnableDataStore(projRoot, {}); let transformConfigWithDS = getTransformConfig(projRoot, name); expect(transformConfigWithDS).toBeDefined(); expect(transformConfigWithDS.ResolverConfig).toBeDefined(); diff --git a/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts index 266fafd3423..6a426c246a7 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts @@ -8,7 +8,8 @@ import { updateHeadlessApi, getProjectSchema, removeHeadlessApi, - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, createNewProjectDir, deleteProjectDir, getAppSyncApi, @@ -39,8 +40,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api, change transformer version to base version and push', async () => { const name = `simplemodelv${TRANSFORM_BASE_VERSION}`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); - + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); const transformConfig = getTransformConfig(projRoot, name); expect(transformConfig).toBeDefined(); expect(transformConfig.Version).toBeDefined(); diff --git a/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts index 177f658d14e..338fac8d53a 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts @@ -1,5 +1,6 @@ import { - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, amplifyPush, createNewProjectDir, deleteProject, @@ -31,7 +32,8 @@ describe('multi-key GSI behavior', () => { beforeEach(async () => { projRoot = await createNewProjectDir(projName); await initJSProjectWithProfile(projRoot, { name: projName }); - await addApiWithSchema(projRoot, 'multi-gsi.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'multi-gsi.graphql'); await amplifyPush(projRoot); appSyncClient = getAppSyncClientFromProj(projRoot); diff --git a/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts b/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts index 14cf60fab36..9f68cbe9a58 100644 --- a/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts @@ -1,5 +1,5 @@ import * as fs from 'fs-extra'; -import { initJSProjectWithProfile, deleteProject, addApiWithSchema, amplifyPush, amplifyPull, getAppId } from 'amplify-e2e-core'; +import { initJSProjectWithProfile, deleteProject, addApiWithoutSchema, updateApiSchema, amplifyPush, amplifyPull, getAppId } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; import { pathManager } from 'amplify-cli-core'; import { addEnvironment } from '../environment/env'; @@ -24,9 +24,11 @@ describe('feature flags', () => { it('push and pull with multiple config files for environments', async () => { await initJSProjectWithProfile(projRoot, { + name: 'apifeatureflag', disableAmplifyAppCreation: false, }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'apifeatureflag', 'simple_model.graphql'); const envName = 'test'; const cliJSONPath = pathManager.getCLIJSONFilePath(projRoot); diff --git a/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts index 793eebb1f93..391a9ddb32b 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts @@ -3,7 +3,7 @@ import { addFunction, functionBuild, addLambdaTrigger } from 'amplify-e2e-core'; import { addSimpleDDB } from 'amplify-e2e-core'; import { addKinesis } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir, getProjectMeta, getFunction } from 'amplify-e2e-core'; -import { addApiWithSchema } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema } from 'amplify-e2e-core'; import { appsyncGraphQLRequest } from 'amplify-e2e-core'; import { getCloudWatchLogs, putKinesisRecords, invokeFunction, getEventSourceMappings } from 'amplify-e2e-core'; @@ -60,8 +60,11 @@ describe('nodejs', () => { }); it('graphql mutation should result in trigger called in minimal AppSync + trigger infra', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'graphqltriggerinfra', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'graphqltriggerinfra', 'simple_model.graphql'); await addFunction(projRoot, { functionTemplate: 'Lambda trigger', triggerType: 'DynamoDB' }, 'nodejs', addLambdaTrigger); await functionBuild(projRoot, {}); diff --git a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts index d06803a3a57..e25fbae68a8 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts @@ -1,5 +1,6 @@ import { - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, addApi, addAuthWithDefault, addDDBWithTrigger, @@ -120,14 +121,17 @@ describe('nodejs', () => { }); it('lambda with dynamoDB permissions should be able to scan ddb', async () => { - await initJSProjectWithProfile(projRoot, {}); + await initJSProjectWithProfile(projRoot, { + name: 'dynamodbscan', + }); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; const ddbName = `integtestddb${random}`; // test ability to scan both appsync @model-backed and regular ddb tables - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'dynamodbscan', 'simple_model.graphql'); await addSimpleDDB(projRoot, { name: ddbName }); await addFunction( @@ -185,7 +189,9 @@ describe('nodejs', () => { }); it('existing lambda updated with additional permissions should be able to scan ddb', async () => { - await initJSProjectWithProfile(projRoot, {}); + await initJSProjectWithProfile(projRoot, { + name: 'lambdaadditionalpermissions', + }); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -209,7 +215,8 @@ describe('nodejs', () => { expect(functionName).toBeDefined(); expect(region).toBeDefined(); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot,); + await updateApiSchema(projRoot, 'lambdaadditionalpermissions', 'simple_model.graphql'); await updateFunction( projRoot, { @@ -241,8 +248,11 @@ describe('nodejs', () => { }); it('@model-backed lambda function should generate envvars TODOTABLE_NAME, TODOTABLE_ARN, GRAPHQLAPIIDOUTPUT', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'modelbackedlambda', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'modelbackedlambda', 'simple_model.graphql'); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -304,8 +314,11 @@ describe('nodejs', () => { }); it('adding api and storage permissions should not add duplicates to CFN', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'two-model-schema.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'apistoragenoduplicate', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'apistoragenoduplicate', 'two-model-schema.graphql'); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -367,8 +380,11 @@ describe('nodejs', () => { }); it('function dependencies should be preserved when not editing permissions during `amplify update function`', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'two-model-schema.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'functiondependenciespermission' + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'functiondependenciespermission', 'two-model-schema.graphql'); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; diff --git a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts index a12eeb99fa0..4782d421d95 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts @@ -1,6 +1,6 @@ import { addFunction, - addApiWithSchema, + addApiWithoutSchema, amplifyPull, amplifyPushAuth, amplifyPush, @@ -83,9 +83,13 @@ describe('test dependency in root stack', () => { }); it('init a project with api and function and update the @model and add function access to @model ', async () => { - await initJSProjectWithProfile(projRoot, {}); const projectName = 'mytestapi'; - await addApiWithSchema(projRoot, 'simple_model.graphql', { apiName: projectName }); + await initJSProjectWithProfile(projRoot, { + name: projectName + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, 'simple_model.graphql'); + const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; await addFunction( diff --git a/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts b/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts index e02ea98cc26..07eb0ccdd2d 100644 --- a/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts @@ -1,5 +1,5 @@ import { initJSProjectWithProfile, deleteProject, amplifyPush, amplifyPushUpdate, addFeatureFlag } from 'amplify-e2e-core'; -import { addApiWithSchema, updateApiSchema } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; describe('amplify add api', () => { @@ -21,7 +21,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -40,7 +41,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -59,7 +61,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -79,7 +82,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await amplifyPushUpdate(projRoot, /GraphQL endpoint:.*/); diff --git a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts index d323a06dac6..2664f430aa7 100644 --- a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts @@ -1,5 +1,5 @@ import { initJSProjectWithProfile, deleteProject, amplifyPush, amplifyPushUpdate, addFeatureFlag } from 'amplify-e2e-core'; -import { addApiWithSchema, updateApiSchema } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; describe('amplify add api', () => { @@ -23,7 +23,8 @@ describe('amplify add api', () => { // testing this with old behavior with named lsi key addFeatureFlag(projRoot, 'graphqltransformer', 'secondarykeyasgsi', false); - await addApiWithSchema(projRoot, initialSchema, { apiKeyExpirationDays: 2 }); + await addApiWithoutSchema(projRoot, { apiKeyExpirationDays: 2 }); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -43,7 +44,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -60,7 +62,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -77,7 +80,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); diff --git a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts index eb7f82e437b..724026221f8 100644 --- a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts @@ -1,5 +1,5 @@ import { initJSProjectWithProfile, deleteProject, amplifyPush, amplifyPushUpdate, addFeatureFlag } from 'amplify-e2e-core'; -import { addApiWithSchema, updateApiSchema, getProjectMeta } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema, getProjectMeta } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; import { addEnvironment } from '../../environment/env'; @@ -19,7 +19,8 @@ describe('amplify add api', () => { const initial_schema = 'migrations_key/three_gsi_model_schema.graphql'; const nextSchema = 'migrations_key/four_gsi_model_schema.graphql'; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initial_schema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initial_schema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); @@ -32,7 +33,8 @@ describe('amplify add api', () => { const nextSchema1 = 'migrations_key/cant_change_key_schema.graphql'; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); await addEnvironment(projRoot, { envName: 'test' }); updateApiSchema(projRoot, projectName, nextSchema1); @@ -53,7 +55,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -73,7 +76,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -93,7 +97,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -113,7 +118,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); @@ -133,7 +139,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); @@ -148,7 +155,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); diff --git a/packages/amplify-e2e-tests/src/__tests__/pull.test.ts b/packages/amplify-e2e-tests/src/__tests__/pull.test.ts index eaba219a335..155ad825f7d 100644 --- a/packages/amplify-e2e-tests/src/__tests__/pull.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/pull.test.ts @@ -1,6 +1,7 @@ import { getAppId, - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, amplifyPull, amplifyPush, createNewProjectDir, @@ -24,8 +25,12 @@ describe('amplify pull', () => { }); it('pulling twice with noUpdateBackend does not re-prompt', async () => { - await initJSProjectWithProfile(projRoot, { disableAmplifyAppCreation: false }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await initJSProjectWithProfile(projRoot, { + disableAmplifyAppCreation: false, + name: 'testapi', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'testapi', 'simple_model.graphql'); await amplifyPush(projRoot); const appId = getAppId(projRoot); await amplifyPull(projRoot2, { appId, emptyDir: true, noUpdateBackend: true }); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts index dd64161cb29..087d98f43e0 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts @@ -7,7 +7,7 @@ import { amplifyPushIterativeRollback, getDDBTable, getBackendAmplifyMeta, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -22,7 +22,9 @@ describe('Iterative Rollback - add 2 @keys ', () => { beforeAll(async () => { projectDir = await createNewProjectDir('iterativeRollback'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'iterativerollbackaddkeys', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); afterAll(async () => { @@ -30,9 +32,10 @@ describe('Iterative Rollback - add 2 @keys ', () => { deleteProjectDir(projectDir); }); it('should support rolling back from the 2nd deployment on adding gsis', async () => { - const apiName = 'renamekey'; + const apiName = 'iterativerollbackaddkeys'; const initialSchema = path.join('iterative-push', 'two-key-add', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); // get info on table diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts index fda5124dc18..eacffb877b2 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts @@ -7,7 +7,7 @@ import { amplifyPushIterativeRollback, getDDBTable, getBackendAmplifyMeta, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -21,7 +21,9 @@ describe('Iterative Rollback - removing two @keys', () => { beforeAll(async () => { projectDir = await createNewProjectDir('iterativeRollback'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'iterativerollbackaddkeys', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); afterAll(async () => { @@ -29,9 +31,10 @@ describe('Iterative Rollback - removing two @keys', () => { deleteProjectDir(projectDir); }); it('should support rolling back from the 2nd deployment on adding gsis', async () => { - const apiName = 'renamekey'; + const apiName = 'iterativerollbackaddkeys'; const initialSchema = path.join('iterative-push', 'multiple-key-delete', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); // get info on table diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts index 2c4109c2b8b..2de29858aea 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -16,7 +16,9 @@ describe('Schema iterative update - rename @key', () => { beforeAll(async () => { projectDir = await createNewProjectDir('schemaIterative'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'schemaiterativeupdate', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); @@ -25,10 +27,11 @@ describe('Schema iterative update - rename @key', () => { deleteProjectDir(projectDir); }); it('should support changing gsi name', async () => { - const apiName = 'renamekey'; + const apiName = 'schemaiterativeupdate'; const initialSchema = path.join('iterative-push', 'change-model-name', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); const finalSchema = path.join('iterative-push', 'change-model-name', 'final-schema.graphql'); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts index 31fd211f241..1878135d8ef 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -16,7 +16,9 @@ describe('Schema iterative update - delete', () => { beforeAll(async () => { projectDir = await createNewProjectDir('schemaIterative'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'deletekeys', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); @@ -28,7 +30,8 @@ describe('Schema iterative update - delete', () => { const apiName = 'deletekeys'; const initialSchema = path.join('iterative-push', 'multiple-key-delete', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); const finalSchema = path.join('iterative-push', 'multiple-key-delete', 'final-schema.graphql'); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts index a83805997a0..6f1a0bb1180 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -16,7 +16,9 @@ describe('Schema iterative update - create update and delete', () => { beforeAll(async () => { projectDir = await createNewProjectDir('schemaIterative'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'iterativetest1', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); @@ -28,7 +30,8 @@ describe('Schema iterative update - create update and delete', () => { const apiName = 'iterativetest1'; const initialSchema = path.join('iterative-push', 'add-remove-and-update-key', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); const finalSchema = path.join('iterative-push', 'add-remove-and-update-key', 'final-schema.graphql'); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts index 1fe5aefa131..d0ea8a4818b 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -24,6 +24,7 @@ describe('Schema iterative update - locking', () => { projectRoot = await createNewProjectDir('schemaIterativeLock'); await initJSProjectWithProfile(projectRoot, { + name: 'iterlock', disableAmplifyAppCreation: false, }); @@ -40,7 +41,8 @@ describe('Schema iterative update - locking', () => { // Create and push project with API const initialSchema = path.join('iterative-push', 'change-model-name', 'initial-schema.graphql'); - await addApiWithSchema(projectRoot, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectRoot, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectRoot, apiName, initialSchema); await amplifyPush(projectRoot); // Apply updates to first project diff --git a/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts b/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts index 9c5398c0c14..d82cea99380 100644 --- a/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts +++ b/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts @@ -1,5 +1,5 @@ import _ from 'lodash'; -import { addApiWithSchemaAndConflictDetection, amplifyPush } from 'amplify-e2e-core'; +import { addApiWithBlankSchemaAndConflictDetection, addApiWithBlankSchema, amplifyPush, updateApiSchema } from 'amplify-e2e-core'; import { getApiKey, configureAmplify, getConfiguredAppsyncClientAPIKeyAuth } from '../authHelper'; import { testQueries, testMutations } from '../common'; @@ -270,7 +270,10 @@ export const expected_result_query5 = { }; export async function runTest(projectDir: string, testModule: any) { - await addApiWithSchemaAndConflictDetection(projectDir, testModule.schemaName); + await addApiWithBlankSchema(projectDir, { + apiName: 'testapi', + }); + await updateApiSchema(projectDir, 'testapi', testModule.schemaName); await amplifyPush(projectDir); const awsconfig = configureAmplify(projectDir); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts index 54c3b31ad63..982209a51f1 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts @@ -1,5 +1,5 @@ import { - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, amplifyPushForce, @@ -28,7 +28,8 @@ describe('amplify key force push', () => { const initialSchema = 'migrations_key/simple_key.graphql'; // init, add api and push with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // gql-compile and force push with codebase cli await apiGqlCompile(projRoot, true); @@ -40,7 +41,8 @@ describe('amplify key force push', () => { const initialSchema = 'migrations_key/initial_schema.graphql'; // init, add api and push with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // add feature flag addFeatureFlag(projRoot, 'graphqltransformer', 'secondaryKeyAsGSI', true); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts index b1c7194472d..0b0c0b5d5e9 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts @@ -1,5 +1,5 @@ import { - addApiWithSchema, + addApiWithoutSchema, amplifyPush, amplifyPushUpdate, createNewProjectDir, @@ -26,7 +26,8 @@ describe('amplify searchable migration', () => { const nextSchema = 'migrations_searchable/updated_searchable.graphql'; // init, add api and push with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // update and push with codebase cli updateApiSchema(projRoot, projectName, nextSchema); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts index abdbef5886f..a2593d79c22 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts @@ -1,6 +1,6 @@ import { - addApiWithSchema, - addApiWithSchemaAndConflictDetection, + addApiWithoutSchema, + addApiWithBlankSchemaAndConflictDetection, amplifyPush, amplifyPushUpdate, createNewProjectDir, @@ -38,7 +38,8 @@ describe('api migration update test', () => { const nextSchema = 'next_key_blog.graphql'; // init the project and add api with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // update api and push with the CLI to be released (the codebase) updateApiSchema(projRoot, projectName, nextSchema); @@ -53,7 +54,8 @@ describe('api migration update test', () => { it('api update migration with multiauth', async () => { // init and add api with installed CLI await initJSProjectWithProfile(projRoot, { name: 'simplemodelmultiauth' }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'simplemodelmultiauth', 'simple_model.graphql'); // update and push with codebase await updateApiWithMultiAuth(projRoot, { testingWithLatestCodebase: true }); await amplifyPush(projRoot, true); @@ -98,7 +100,8 @@ describe('api migration update test', () => { const name = `syncenabled`; // init and add api with locally installed cli await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); let transformConfig = getTransformConfig(projRoot, name); expect(transformConfig).toBeDefined(); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts index 1755e98afef..87cd42ee896 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts @@ -1,5 +1,5 @@ import { - addApiWithSchema, + addApiWithoutSchema, addFunction, addLayer, amplifyPush, @@ -15,6 +15,7 @@ import { LayerRuntime, loadFunctionTestFile, overrideFunctionSrcNode, + updateApiSchema, updateFunction, validateLayerMetadata, } from 'amplify-e2e-core'; @@ -34,7 +35,9 @@ describe('amplify function migration', () => { }); it('existing lambda updated with additional permissions should be able to scan ddb', async () => { - await initJSProjectWithProfile(projRoot, {}); + await initJSProjectWithProfile(projRoot, { + name: 'lambdapermissionscanddb' + }); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -58,7 +61,8 @@ describe('amplify function migration', () => { expect(functionName).toBeDefined(); expect(region).toBeDefined(); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'lambdapermissionscanddb', 'simple_model.graphql'); await updateFunction( projRoot, { diff --git a/packages/graphql-transformer-core/src/collectDirectives.ts b/packages/graphql-transformer-core/src/collectDirectives.ts index ee8ae2a16a4..ef4cec856e7 100644 --- a/packages/graphql-transformer-core/src/collectDirectives.ts +++ b/packages/graphql-transformer-core/src/collectDirectives.ts @@ -62,6 +62,7 @@ export function collectDirectivesByTypeNames(sdl: string) { } export function collectDirectivesByType(sdl: string): Object { + if(!sdl) return {}; const doc = parse(sdl); // defined types with directives list let types = {}; From b2b455bc724c1a2a2a6631a6510365fa0f626442 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Tue, 24 Aug 2021 10:49:53 -0700 Subject: [PATCH 02/64] Delete sam.schema.json --- .../sam.schema.json | 115746 --------------- 1 file changed, 115746 deletions(-) delete mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json deleted file mode 100644 index df1d127b487..00000000000 --- a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json +++ /dev/null @@ -1,115746 +0,0 @@ -{ - "$id": "http://json-schema.org/draft-04/schema#", - "additionalProperties": false, - "definitions": { - "AWS::ACMPCA::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiPassthrough": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TemplateArn": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - }, - "ValidityNotBefore": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - } - }, - "required": [ - "CertificateAuthorityArn", - "CertificateSigningRequest", - "SigningAlgorithm", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ApiPassthrough": { - "additionalProperties": false, - "properties": { - "Extensions": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { - "additionalProperties": false, - "properties": { - "ExtendedKeyUsageObjectIdentifier": { - "type": "string" - }, - "ExtendedKeyUsageType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Extensions": { - "additionalProperties": false, - "properties": { - "CertificatePolicies": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" - }, - "type": "array" - }, - "ExtendedKeyUsage": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" - }, - "type": "array" - }, - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" - }, - "SubjectAlternativeNames": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyInformation": { - "additionalProperties": false, - "properties": { - "CertPolicyId": { - "type": "string" - }, - "PolicyQualifiers": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" - }, - "type": "array" - } - }, - "required": [ - "CertPolicyId" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { - "additionalProperties": false, - "properties": { - "PolicyQualifierId": { - "type": "string" - }, - "Qualifier": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" - } - }, - "required": [ - "PolicyQualifierId", - "Qualifier" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Qualifier": { - "additionalProperties": false, - "properties": { - "CpsUri": { - "type": "string" - } - }, - "required": [ - "CpsUri" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Validity": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsrExtensions": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" - }, - "KeyAlgorithm": { - "type": "string" - }, - "KeyStorageSecurityStandard": { - "type": "string" - }, - "RevocationConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" - }, - "SigningAlgorithm": { - "type": "string" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "KeyAlgorithm", - "SigningAlgorithm", - "Subject", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthority" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessDescription": { - "additionalProperties": false, - "properties": { - "AccessLocation": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" - }, - "AccessMethod": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" - } - }, - "required": [ - "AccessLocation", - "AccessMethod" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessMethod": { - "additionalProperties": false, - "properties": { - "AccessMethodType": { - "type": "string" - }, - "CustomObjectIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { - "additionalProperties": false, - "properties": { - "CustomCname": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "ExpirationInDays": { - "type": "number" - }, - "S3BucketName": { - "type": "string" - }, - "S3ObjectAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { - "additionalProperties": false, - "properties": { - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" - }, - "SubjectInformationAccess": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { - "additionalProperties": false, - "properties": { - "CrlConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthorityActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Certificate", - "CertificateAuthorityArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthorityActivation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalyzerName": { - "type": "string" - }, - "ArchiveRules": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AccessAnalyzer::Analyzer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { - "additionalProperties": false, - "properties": { - "Filter": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" - }, - "type": "array" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "Filter", - "RuleName" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.Filter": { - "additionalProperties": false, - "properties": { - "Contains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Exists": { - "type": "boolean" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "BrokerName": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" - }, - "DeploymentMode": { - "type": "string" - }, - "EncryptionOptions": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "HostInstanceType": { - "type": "string" - }, - "LdapServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" - }, - "Logs": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" - }, - "MaintenanceWindowStartTime": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" - }, - "type": "array" - }, - "Users": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" - }, - "type": "array" - } - }, - "required": [ - "AutoMinorVersionUpgrade", - "BrokerName", - "DeploymentMode", - "EngineType", - "EngineVersion", - "HostInstanceType", - "PubliclyAccessible", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Broker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.EncryptionOptions": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "UseAwsOwnedKey": { - "type": "boolean" - } - }, - "required": [ - "UseAwsOwnedKey" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LogList": { - "additionalProperties": false, - "properties": { - "Audit": { - "type": "boolean" - }, - "General": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AmazonMQ::Broker.MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DayOfWeek": { - "type": "string" - }, - "TimeOfDay": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "DayOfWeek", - "TimeOfDay", - "TimeZone" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.User": { - "additionalProperties": false, - "properties": { - "ConsoleAccess": { - "type": "boolean" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Data", - "EngineType", - "EngineVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Configuration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" - } - }, - "required": [ - "Broker", - "Configuration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::Amplify::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "AutoBranchCreationConfig": { - "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "CustomHeaders": { - "type": "string" - }, - "CustomRules": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.CustomRule" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "EnableBranchAutoDeletion": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "IAMServiceRole": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OauthToken": { - "type": "string" - }, - "Repository": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::App.AutoBranchCreationConfig": { - "additionalProperties": false, - "properties": { - "AutoBranchCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "EnableAutoBranchCreation": { - "type": "boolean" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.CustomRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Source", - "Target" - ], - "type": "object" - }, - "AWS::Amplify::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Branch": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" - }, - "BranchName": { - "type": "string" - }, - "BuildSpec": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "BranchName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Branch" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Branch.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::Amplify::Branch.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "AutoSubDomainCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoSubDomainIAMRole": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EnableAutoSubDomain": { - "type": "boolean" - }, - "SubDomainSettings": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "DomainName", - "SubDomainSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Domain.SubDomainSetting": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BranchName", - "Prefix" - ], - "type": "object" - }, - "AWS::ApiGateway::Account": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "GenerateDistinctId": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "StageKeys": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey.StageKey": { - "additionalProperties": false, - "properties": { - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "AuthorizerCredentials": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerUri": { - "type": "string" - }, - "IdentitySource": { - "type": "string" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "RestApiId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::BasePathMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::BasePathMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::ClientCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ClientCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" - }, - "Description": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StageDescription": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.CanarySetting": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.StageDescription": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" - }, - "type": "array" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Location": { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" - }, - "Properties": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Location", - "Properties", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationPart" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart.Location": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "DocumentationVersion", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::GatewayResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseType": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "ResponseType", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::GatewayResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" - }, - "MethodResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" - }, - "type": "array" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "RequestValidatorId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "HttpMethod", - "ResourceId", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Method" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.Integration": { - "additionalProperties": false, - "properties": { - "CacheKeyParameters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheNamespace": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandling": { - "type": "string" - }, - "Credentials": { - "type": "string" - }, - "IntegrationHttpMethod": { - "type": "string" - }, - "IntegrationResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" - }, - "type": "array" - }, - "PassthroughBehavior": { - "type": "string" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TimeoutInMillis": { - "type": "number" - }, - "Type": { - "type": "string" - }, - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Method.IntegrationResponse": { - "additionalProperties": false, - "properties": { - "ContentHandling": { - "type": "string" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SelectionPattern": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.MethodResponse": { - "additionalProperties": false, - "properties": { - "ResponseModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RequestValidator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "ValidateRequestBody": { - "type": "boolean" - }, - "ValidateRequestParameters": { - "type": "boolean" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::RequestValidator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ParentId": { - "type": "string" - }, - "PathPart": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "ParentId", - "PathPart", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RestApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySourceType": { - "type": "string" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" - }, - "CloneFrom": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Stage.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.CanarySetting": { - "additionalProperties": false, - "properties": { - "DeploymentId": { - "type": "string" - }, - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiStages": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Quota": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throttle": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - }, - "UsagePlanName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ApiStage": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Throttle": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.QuotaSettings": { - "additionalProperties": false, - "properties": { - "Limit": { - "type": "number" - }, - "Offset": { - "type": "number" - }, - "Period": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ThrottleSettings": { - "additionalProperties": false, - "properties": { - "BurstLimit": { - "type": "number" - }, - "RateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlanKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "UsagePlanId": { - "type": "string" - } - }, - "required": [ - "KeyId", - "KeyType", - "UsagePlanId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlanKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "TargetArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySelectionExpression": { - "type": "string" - }, - "BasePath": { - "type": "string" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "DisableSchemaValidation": { - "type": "boolean" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "ProtocolType": { - "type": "string" - }, - "RouteKey": { - "type": "string" - }, - "RouteSelectionExpression": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Target": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Api" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api.BodyS3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Etag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Api.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAge": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" - }, - "Route": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" - }, - "Stage": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" - }, - "AutoDeploy": { - "type": "boolean" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageVariables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiMappingKey": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "ApiId", - "DomainName", - "Stage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "AuthorizerCredentialsArn": { - "type": "string" - }, - "AuthorizerPayloadFormatVersion": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerType": { - "type": "string" - }, - "AuthorizerUri": { - "type": "string" - }, - "EnableSimpleResponses": { - "type": "boolean" - }, - "IdentitySource": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "JwtConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ApiId", - "AuthorizerType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { - "additionalProperties": false, - "properties": { - "Audience": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Issuer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" - }, - "type": "array" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "CertificateName": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "IntegrationSubtype": { - "type": "string" - }, - "IntegrationType": { - "type": "string" - }, - "IntegrationUri": { - "type": "string" - }, - "PassthroughBehavior": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "RequestParameters": { - "type": "object" - }, - "RequestTemplates": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - }, - "TlsConfig": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" - } - }, - "required": [ - "ApiId", - "IntegrationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameter": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "required": [ - "Destination", - "Source" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameterList": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "ResponseModels": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "RouteId": { - "type": "string" - }, - "RouteResponseKey": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteId", - "RouteResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RouteResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" - }, - "AccessPolicyId": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AutoDeploy": { - "type": "boolean" - }, - "ClientCertificateId": { - "type": "string" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageName": { - "type": "string" - }, - "StageVariables": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApiId", - "StageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Application.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RetrievalRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" - }, - "type": "array" - }, - "Validators": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "LocationUri", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::ConfigurationProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "ConfigurationVersion", - "DeploymentStrategyId", - "EnvironmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Deployment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentDurationInMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "FinalBakeTimeInMinutes": { - "type": "number" - }, - "GrowthFactor": { - "type": "number" - }, - "GrowthType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicateTo": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" - }, - "type": "array" - } - }, - "required": [ - "DeploymentDurationInMinutes", - "GrowthFactor", - "Name", - "ReplicateTo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::DeploymentStrategy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Monitors": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Environment.Monitors": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "type": "string" - }, - "AlarmRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::HostedConfigurationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LatestVersionNumber": { - "type": "number" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "Content", - "ContentType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionMode": { - "type": "string" - }, - "ConnectorProfileConfig": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" - }, - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "KMSArn": { - "type": "string" - } - }, - "required": [ - "ConnectionMode", - "ConnectorProfileName", - "ConnectorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::ConnectorProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "SecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { - "additionalProperties": false, - "properties": { - "AuthCode": { - "type": "string" - }, - "RedirectUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" - }, - "ConnectorProfileProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" - } - }, - "required": [ - "ConnectorProfileCredentials" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiToken": { - "type": "string" - } - }, - "required": [ - "ApiToken" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessKeyId": { - "type": "string" - }, - "Datakey": { - "type": "string" - }, - "SecretAccessKey": { - "type": "string" - }, - "UserId": { - "type": "string" - } - }, - "required": [ - "AccessKeyId", - "Datakey", - "SecretAccessKey", - "UserId" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "DatabaseUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "DatabaseUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientCredentialsArn": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - }, - "isSandboxEnvironment": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - } - }, - "required": [ - "ApiKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "PrivateLinkServiceName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Stage", - "Warehouse" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiSecretKey": { - "type": "string" - } - }, - "required": [ - "ApiSecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationFlowConfigList": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" - }, - "type": "array" - }, - "FlowName": { - "type": "string" - }, - "KMSArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" - } - }, - "required": [ - "DestinationFlowConfigList", - "FlowName", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.AggregationConfig": { - "additionalProperties": false, - "properties": { - "AggregationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.AmplitudeSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "type": "string" - }, - "Datadog": { - "type": "string" - }, - "Dynatrace": { - "type": "string" - }, - "GoogleAnalytics": { - "type": "string" - }, - "InforNexus": { - "type": "string" - }, - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Singular": { - "type": "string" - }, - "Slack": { - "type": "string" - }, - "Trendmicro": { - "type": "string" - }, - "Veeva": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DatadogSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationConnectorProperties": { - "additionalProperties": false, - "properties": { - "EventBridge": { - "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" - }, - "LookoutMetrics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" - }, - "Upsolver": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "DestinationConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "DestinationConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DynatraceSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ErrorHandlingConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "FailOnFirstError": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.InforNexusSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.PrefixConfig": { - "additionalProperties": false, - "properties": { - "PrefixFormat": { - "type": "string" - }, - "PrefixType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.RedshiftDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3DestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketPrefix" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleStartTime": { - "type": "number" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SingularSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SlackSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TaskPropertiesObject": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TrendmicroSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" - } - }, - "required": [ - "BucketName", - "S3OutputFormatConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "required": [ - "PrefixConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.VeevaSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBridgeBus": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventBridgeBus", - "EventFilter", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::EventIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventFilter": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { - "additionalProperties": false, - "properties": { - "ClientAssociationMetadata": { - "items": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" - }, - "type": "array" - }, - "ClientId": { - "type": "string" - }, - "EventBridgeRuleName": { - "type": "string" - }, - "EventIntegrationAssociationArn": { - "type": "string" - }, - "EventIntegrationAssociationId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.Metadata": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayRouteName": { - "type": "string" - }, - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualGatewayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::GatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.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" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" - } - }, - "required": [ - "VirtualService" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { - "additionalProperties": false, - "properties": { - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Mesh" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.EgressFilter": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshSpec": { - "additionalProperties": false, - "properties": { - "EgressFilter": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "RouteName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualRouterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::Route.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRetryPolicy": { - "additionalProperties": false, - "properties": { - "GrpcRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HttpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxRetries": { - "type": "number" - }, - "PerRetryTimeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "TcpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxRetries", - "PerRetryTimeout" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMatch": { - "additionalProperties": false, - "properties": { - "Metadata": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" - }, - "type": "array" - }, - "MethodName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadata": { - "additionalProperties": false, - "properties": { - "Invert": { - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.HeaderMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.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" - }, - "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" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.WeightedTarget": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "VirtualNode", - "Weight" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualNode" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "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": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HttpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Listener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" - }, - "OutlierDetection": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTimeout": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Logging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.OutlierDetection": { - "additionalProperties": false, - "properties": { - "BaseEjectionDuration": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "Interval": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "MaxEjectionPercent": { - "type": "number" - }, - "MaxServerErrors": { - "type": "number" - } - }, - "required": [ - "BaseEjectionDuration", - "Interval", - "MaxEjectionPercent", - "MaxServerErrors" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ServiceDiscovery": { - "additionalProperties": false, - "properties": { - "AWSCloudMap": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" - }, - "DNS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" - }, - "Backends": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" - }, - "ServiceDiscovery": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { - "additionalProperties": false, - "properties": { - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { - "additionalProperties": false, - "properties": { - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "VirtualNodeName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "VirtualRouterName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" - }, - "VirtualRouter": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceSpec": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingConfigurationArn": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" - }, - "HealthCheckConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppRunner::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppRunner::Service.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "AccessRoleArn": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeConfigurationValues": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" - }, - "ConfigurationSource": { - "type": "string" - } - }, - "required": [ - "ConfigurationSource" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfigurationValues": { - "additionalProperties": false, - "properties": { - "BuildCommand": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "required": [ - "Runtime" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeRepository": { - "additionalProperties": false, - "properties": { - "CodeConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" - }, - "RepositoryUrl": { - "type": "string" - }, - "SourceCodeVersion": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" - } - }, - "required": [ - "RepositoryUrl", - "SourceCodeVersion" - ], - "type": "object" - }, - "AWS::AppRunner::Service.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKey": { - "type": "string" - } - }, - "required": [ - "KmsKey" - ], - "type": "object" - }, - "AWS::AppRunner::Service.HealthCheckConfiguration": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Timeout": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageConfiguration": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageRepository": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" - }, - "ImageIdentifier": { - "type": "string" - }, - "ImageRepositoryType": { - "type": "string" - } - }, - "required": [ - "ImageIdentifier", - "ImageRepositoryType" - ], - "type": "object" - }, - "AWS::AppRunner::Service.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "type": "string" - }, - "InstanceRoleArn": { - "type": "string" - }, - "Memory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.SourceCodeVersion": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::AppRunner::Service.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" - }, - "AutoDeploymentsEnabled": { - "type": "boolean" - }, - "CodeRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" - }, - "ImageRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" - } - }, - "type": "object" - }, - "AWS::AppStream::DirectoryConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceAccountCredentials": { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" - } - }, - "required": [ - "DirectoryName", - "OrganizationalUnitDistinguishedNames", - "ServiceAccountCredentials" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::DirectoryConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "AccountPassword": { - "type": "string" - } - }, - "required": [ - "AccountName", - "AccountPassword" - ], - "type": "object" - }, - "AWS::AppStream::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeCapacity": { - "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" - }, - "Description": { - "type": "string" - }, - "DisconnectTimeoutInSeconds": { - "type": "number" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "FleetType": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "IdleDisconnectTimeoutInSeconds": { - "type": "number" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxUserDurationInSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "StreamView": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" - } - }, - "required": [ - "ComputeCapacity", - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.ComputeCapacity": { - "additionalProperties": false, - "properties": { - "DesiredInstances": { - "type": "number" - } - }, - "required": [ - "DesiredInstances" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::Fleet.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" - }, - "type": "array" - }, - "AppstreamAgentVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "IamRoleArn": { - "type": "string" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" - } - }, - "required": [ - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::ImageBuilder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" - }, - "type": "array" - }, - "ApplicationSettings": { - "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" - }, - "AttributesToDelete": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeleteStorageConnectors": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "EmbedHostDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FeedbackURL": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RedirectURL": { - "type": "string" - }, - "StorageConnectors": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserSettings": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppStream::Stack.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::Stack.ApplicationSettings": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "SettingsGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::AppStream::Stack.StorageConnector": { - "additionalProperties": false, - "properties": { - "ConnectorType": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdentifier": { - "type": "string" - } - }, - "required": [ - "ConnectorType" - ], - "type": "object" - }, - "AWS::AppStream::Stack.UserSetting": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "Action", - "Permission" - ], - "type": "object" - }, - "AWS::AppStream::StackFleetAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FleetName": { - "type": "string" - }, - "StackName": { - "type": "string" - } - }, - "required": [ - "FleetName", - "StackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackFleetAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::StackUserAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "SendEmailNotification": { - "type": "boolean" - }, - "StackName": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "StackName", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackUserAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "FirstName": { - "type": "string" - }, - "LastName": { - "type": "string" - }, - "MessageAction": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiCache": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiCachingBehavior": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "Ttl": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiCachingBehavior", - "ApiId", - "Ttl", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiCache" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Expires": { - "type": "number" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamoDBConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" - }, - "ElasticsearchConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" - }, - "HttpConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" - }, - "Name": { - "type": "string" - }, - "RelationalDatabaseConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationType": { - "type": "string" - }, - "AwsIamConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" - } - }, - "required": [ - "AuthorizationType" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AwsIamConfig": { - "additionalProperties": false, - "properties": { - "SigningRegion": { - "type": "string" - }, - "SigningServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::DataSource.DeltaSyncConfig": { - "additionalProperties": false, - "properties": { - "BaseTableTTL": { - "type": "string" - }, - "DeltaSyncTableName": { - "type": "string" - }, - "DeltaSyncTableTTL": { - "type": "string" - } - }, - "required": [ - "BaseTableTTL", - "DeltaSyncTableName", - "DeltaSyncTableTTL" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.DynamoDBConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "DeltaSyncConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" - }, - "TableName": { - "type": "string" - }, - "UseCallerCredentials": { - "type": "boolean" - }, - "Versioned": { - "type": "boolean" - } - }, - "required": [ - "AwsRegion", - "TableName" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.ElasticsearchConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.HttpConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.LambdaConfig": { - "additionalProperties": false, - "properties": { - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "AwsSecretStoreArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DbClusterIdentifier": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "AwsSecretStoreArn", - "DbClusterIdentifier" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RelationalDatabaseConfig": { - "additionalProperties": false, - "properties": { - "RdsHttpEndpointConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" - }, - "RelationalDatabaseSourceType": { - "type": "string" - } - }, - "required": [ - "RelationalDatabaseSourceType" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "DataSourceName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" - } - }, - "required": [ - "ApiId", - "DataSourceName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::FunctionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalAuthenticationProviders": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" - }, - "AuthenticationType": { - "type": "string" - }, - "LambdaAuthorizerConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" - }, - "LogConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" - }, - "Name": { - "type": "string" - }, - "OpenIDConnectConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" - }, - "Tags": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" - }, - "UserPoolConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" - }, - "XrayEnabled": { - "type": "boolean" - } - }, - "required": [ - "AuthenticationType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLApi" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "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.AdditionalAuthenticationProviders": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.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.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.UserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "DefaultAction": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLSchema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Definition": { - "type": "string" - }, - "DefinitionS3Location": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLSchema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "CachingConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" - }, - "DataSourceName": { - "type": "string" - }, - "FieldName": { - "type": "string" - }, - "Kind": { - "type": "string" - }, - "PipelineConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "ApiId", - "FieldName", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::Resolver" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver.CachingConfig": { - "additionalProperties": false, - "properties": { - "CachingKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ttl": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.PipelineConfig": { - "additionalProperties": false, - "properties": { - "Functions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScheduledActions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" - }, - "type": "array" - }, - "ServiceNamespace": { - "type": "string" - }, - "SuspendedState": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "RoleARN", - "ScalableDimension", - "ServiceNamespace" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalableTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "ScalableTargetAction": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" - }, - "Schedule": { - "type": "string" - }, - "ScheduledActionName": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingTargetId": { - "type": "string" - }, - "ServiceNamespace": { - "type": "string" - }, - "StepScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "Cooldown": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoConfigurationEnabled": { - "type": "boolean" - }, - "CWEMonitorEnabled": { - "type": "boolean" - }, - "ComponentMonitoringSettings": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" - }, - "type": "array" - }, - "CustomComponents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" - }, - "type": "array" - }, - "LogPatternSets": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" - }, - "type": "array" - }, - "OpsCenterEnabled": { - "type": "boolean" - }, - "OpsItemSNSTopicArn": { - "type": "string" - }, - "ResourceGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationInsights::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "Severity": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.AlarmMetric": { - "additionalProperties": false, - "properties": { - "AlarmMetricName": { - "type": "string" - } - }, - "required": [ - "AlarmMetricName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" - }, - "SubComponentTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { - "additionalProperties": false, - "properties": { - "ComponentARN": { - "type": "string" - }, - "ComponentConfigurationMode": { - "type": "string" - }, - "ComponentName": { - "type": "string" - }, - "CustomComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "DefaultOverwriteComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "Tier": { - "type": "string" - } - }, - "required": [ - "ComponentConfigurationMode", - "Tier" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" - }, - "type": "array" - }, - "JMXPrometheusExporter": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.CustomComponent": { - "additionalProperties": false, - "properties": { - "ComponentName": { - "type": "string" - }, - "ResourceList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ComponentName", - "ResourceList" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { - "additionalProperties": false, - "properties": { - "HostPort": { - "type": "string" - }, - "JMXURL": { - "type": "string" - }, - "PrometheusPort": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.Log": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "LogType": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "LogType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPattern": { - "additionalProperties": false, - "properties": { - "Pattern": { - "type": "string" - }, - "PatternName": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Pattern", - "PatternName", - "Rank" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPatternSet": { - "additionalProperties": false, - "properties": { - "LogPatterns": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" - }, - "type": "array" - }, - "PatternSetName": { - "type": "string" - } - }, - "required": [ - "LogPatterns", - "PatternSetName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { - "additionalProperties": false, - "properties": { - "SubComponentConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" - }, - "SubComponentType": { - "type": "string" - } - }, - "required": [ - "SubComponentConfigurationDetails", - "SubComponentType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.WindowsEvent": { - "additionalProperties": false, - "properties": { - "EventLevels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EventName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "EventLevels", - "EventName", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Athena::DataCatalog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::DataCatalog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::NamedQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - }, - "WorkGroup": { - "type": "string" - } - }, - "required": [ - "Database", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::NamedQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::PreparedStatement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecursiveDeleteOption": { - "type": "boolean" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkGroupConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" - }, - "WorkGroupConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::WorkGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionOption": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionOption" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EngineVersion": { - "additionalProperties": false, - "properties": { - "EffectiveEngineVersion": { - "type": "string" - }, - "SelectedEngineVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - }, - "RemoveEncryptionConfiguration": { - "type": "boolean" - }, - "RemoveOutputLocation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfiguration": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RemoveBytesScannedCutoffPerQuery": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentReportsDestination": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" - }, - "AwsAccount": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "Description": { - "type": "string" - }, - "FrameworkId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Roles": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" - }, - "type": "array" - }, - "Scope": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AuditManager::Assessment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSAccount": { - "additionalProperties": false, - "properties": { - "EmailAddress": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSService": { - "additionalProperties": false, - "properties": { - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AssessmentReportsDestination": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Delegation": { - "additionalProperties": false, - "properties": { - "AssessmentId": { - "type": "string" - }, - "AssessmentName": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "ControlSetId": { - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "CreationTime": { - "type": "number" - }, - "Id": { - "type": "string" - }, - "LastUpdated": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Role": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Scope": { - "additionalProperties": false, - "properties": { - "AwsAccounts": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "type": "array" - }, - "AwsServices": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CapacityRebalance": { - "type": "boolean" - }, - "Context": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "DesiredCapacity": { - "type": "string" - }, - "HealthCheckGracePeriod": { - "type": "number" - }, - "HealthCheckType": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "LifecycleHookSpecificationList": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" - }, - "type": "array" - }, - "LoadBalancerNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxInstanceLifetime": { - "type": "number" - }, - "MaxSize": { - "type": "string" - }, - "MetricsCollection": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" - }, - "type": "array" - }, - "MinSize": { - "type": "string" - }, - "MixedInstancesPolicy": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" - }, - "NewInstancesProtectedFromScaleIn": { - "type": "boolean" - }, - "NotificationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" - }, - "type": "array" - }, - "PlacementGroup": { - "type": "string" - }, - "ServiceLinkedRoleARN": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" - }, - "type": "array" - }, - "TargetGroupARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TerminationPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VPCZoneIdentifier": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::AutoScalingGroup" - ], - "type": "string" - }, - "UpdatePolicy": { - "type": "object" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { - "additionalProperties": false, - "properties": { - "OnDemandAllocationStrategy": { - "type": "string" - }, - "OnDemandBaseCapacity": { - "type": "number" - }, - "OnDemandPercentageAboveBaseCapacity": { - "type": "number" - }, - "SpotAllocationStrategy": { - "type": "string" - }, - "SpotInstancePools": { - "type": "number" - }, - "SpotMaxPrice": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "required": [ - "LaunchTemplateSpecification" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { - "additionalProperties": false, - "properties": { - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { - "additionalProperties": false, - "properties": { - "Granularity": { - "type": "string" - }, - "Metrics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Granularity" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { - "additionalProperties": false, - "properties": { - "InstancesDistribution": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" - } - }, - "required": [ - "LaunchTemplate" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TopicARN": { - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.TagProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "PropagateAtLaunch": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "PropagateAtLaunch", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" - }, - "type": "array" - }, - "ClassicLinkVPCId": { - "type": "string" - }, - "ClassicLinkVPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "InstanceMonitoring": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" - }, - "PlacementTenancy": { - "type": "string" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "UserData": { - "type": "string" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LaunchConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName", - "LifecycleTransition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LifecycleHook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "AutoScalingGroupName": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "PolicyType": { - "type": "string" - }, - "ScalingAdjustment": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::AutoScaling::ScheduledAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DesiredCapacity": { - "type": "number" - }, - "EndTime": { - "type": "string" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "Recurrence": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "MaxGroupPreparedCapacity": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "PoolState": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::WarmPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationSource": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" - }, - "ScalingInstructions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" - }, - "type": "array" - } - }, - "required": [ - "ApplicationSource", - "ScalingInstructions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScalingPlans::ScalingPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { - "additionalProperties": false, - "properties": { - "CloudFormationStackARN": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedLoadMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedLoadMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedScalingMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedScalingMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { - "additionalProperties": false, - "properties": { - "CustomizedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" - }, - "DisableDynamicScaling": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "PredefinedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" - }, - "PredictiveScalingMaxCapacityBehavior": { - "type": "string" - }, - "PredictiveScalingMaxCapacityBuffer": { - "type": "number" - }, - "PredictiveScalingMode": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingPolicyUpdateBehavior": { - "type": "string" - }, - "ScheduledActionBufferTime": { - "type": "number" - }, - "ServiceNamespace": { - "type": "string" - }, - "TargetTrackingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" - }, - "type": "array" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "ScalableDimension", - "ServiceNamespace", - "TargetTrackingConfigurations" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "PredefinedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlan": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" - }, - "BackupPlanTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "BackupPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { - "additionalProperties": false, - "properties": { - "BackupOptions": { - "type": "object" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "BackupOptions", - "ResourceType" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupPlanResourceType": { - "additionalProperties": false, - "properties": { - "AdvancedBackupSettings": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" - }, - "type": "array" - }, - "BackupPlanName": { - "type": "string" - }, - "BackupPlanRule": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" - }, - "type": "array" - } - }, - "required": [ - "BackupPlanName", - "BackupPlanRule" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupRuleResourceType": { - "additionalProperties": false, - "properties": { - "CompletionWindowMinutes": { - "type": "number" - }, - "CopyActions": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" - }, - "type": "array" - }, - "EnableContinuousBackup": { - "type": "boolean" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - }, - "RecoveryPointTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RuleName": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "StartWindowMinutes": { - "type": "number" - }, - "TargetBackupVault": { - "type": "string" - } - }, - "required": [ - "RuleName", - "TargetBackupVault" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.CopyActionResourceType": { - "additionalProperties": false, - "properties": { - "DestinationBackupVaultArn": { - "type": "string" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - } - }, - "required": [ - "DestinationBackupVaultArn" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.LifecycleResourceType": { - "additionalProperties": false, - "properties": { - "DeleteAfterDays": { - "type": "number" - }, - "MoveToColdStorageAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Backup::BackupSelection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlanId": { - "type": "string" - }, - "BackupSelection": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" - } - }, - "required": [ - "BackupPlanId", - "BackupSelection" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupSelection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.BackupSelectionResourceType": { - "additionalProperties": false, - "properties": { - "IamRoleArn": { - "type": "string" - }, - "ListOfTags": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" - }, - "type": "array" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelectionName": { - "type": "string" - } - }, - "required": [ - "IamRoleArn", - "SelectionName" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.ConditionResourceType": { - "additionalProperties": false, - "properties": { - "ConditionKey": { - "type": "string" - }, - "ConditionType": { - "type": "string" - }, - "ConditionValue": { - "type": "string" - } - }, - "required": [ - "ConditionKey", - "ConditionType", - "ConditionValue" - ], - "type": "object" - }, - "AWS::Backup::BackupVault": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicy": { - "type": "object" - }, - "BackupVaultName": { - "type": "string" - }, - "BackupVaultTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EncryptionKeyArn": { - "type": "string" - }, - "Notifications": { - "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" - } - }, - "required": [ - "BackupVaultName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupVault.NotificationObjectType": { - "additionalProperties": false, - "properties": { - "BackupVaultEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SNSTopicArn": { - "type": "string" - } - }, - "required": [ - "BackupVaultEvents", - "SNSTopicArn" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentName": { - "type": "string" - }, - "ComputeResources": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" - }, - "ServiceRole": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::ComputeEnvironment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ComputeResources": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BidPercentage": { - "type": "number" - }, - "DesiredvCpus": { - "type": "number" - }, - "Ec2Configuration": { - "items": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" - }, - "type": "array" - }, - "Ec2KeyPair": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" - }, - "MaxvCpus": { - "type": "number" - }, - "MinvCpus": { - "type": "number" - }, - "PlacementGroup": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotIamFleetRole": { - "type": "string" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "MaxvCpus", - "Subnets", - "Type" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { - "additionalProperties": false, - "properties": { - "ImageIdOverride": { - "type": "string" - }, - "ImageType": { - "type": "string" - } - }, - "required": [ - "ImageType" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" - }, - "Parameters": { - "type": "object" - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" - }, - "type": "array" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "number" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" - }, - "type": "array" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "number" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" - }, - "type": "array" - }, - "NumNodes": { - "type": "number" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "ContainerPath", - "Size" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentOrder": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" - }, - "type": "array" - }, - "JobQueueName": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ComputeEnvironmentOrder", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { - "additionalProperties": false, - "properties": { - "ComputeEnvironment": { - "type": "string" - }, - "Order": { - "type": "number" - } - }, - "required": [ - "ComputeEnvironment", - "Order" - ], - "type": "object" - }, - "AWS::Budgets::Budget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Budget": { - "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" - }, - "NotificationsWithSubscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" - }, - "type": "array" - } - }, - "required": [ - "Budget" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::Budget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::Budget.BudgetData": { - "additionalProperties": false, - "properties": { - "BudgetLimit": { - "$ref": "#/definitions/AWS::Budgets::Budget.Spend" - }, - "BudgetName": { - "type": "string" - }, - "BudgetType": { - "type": "string" - }, - "CostFilters": { - "type": "object" - }, - "CostTypes": { - "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" - }, - "PlannedBudgetLimits": { - "type": "object" - }, - "TimePeriod": { - "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "BudgetType", - "TimeUnit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.CostTypes": { - "additionalProperties": false, - "properties": { - "IncludeCredit": { - "type": "boolean" - }, - "IncludeDiscount": { - "type": "boolean" - }, - "IncludeOtherSubscription": { - "type": "boolean" - }, - "IncludeRecurring": { - "type": "boolean" - }, - "IncludeRefund": { - "type": "boolean" - }, - "IncludeSubscription": { - "type": "boolean" - }, - "IncludeSupport": { - "type": "boolean" - }, - "IncludeTax": { - "type": "boolean" - }, - "IncludeUpfront": { - "type": "boolean" - }, - "UseAmortized": { - "type": "boolean" - }, - "UseBlended": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Budgets::Budget.Notification": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdType": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "NotificationType", - "Threshold" - ], - "type": "object" - }, - "AWS::Budgets::Budget.NotificationWithSubscribers": { - "additionalProperties": false, - "properties": { - "Notification": { - "$ref": "#/definitions/AWS::Budgets::Budget.Notification" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "Notification", - "Subscribers" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Spend": { - "additionalProperties": false, - "properties": { - "Amount": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "Amount", - "Unit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "SubscriptionType": { - "type": "string" - } - }, - "required": [ - "Address", - "SubscriptionType" - ], - "type": "object" - }, - "AWS::Budgets::Budget.TimePeriod": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionThreshold": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" - }, - "ActionType": { - "type": "string" - }, - "ApprovalModel": { - "type": "string" - }, - "BudgetName": { - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "ActionThreshold", - "ActionType", - "BudgetName", - "Definition", - "ExecutionRoleArn", - "NotificationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::BudgetsAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ActionThreshold": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Definition": { - "additionalProperties": false, - "properties": { - "IamActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" - }, - "ScpActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" - }, - "SsmActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction.IamActionDefinition": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyArn": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyArn" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ScpActionDefinition": { - "additionalProperties": false, - "properties": { - "PolicyId": { - "type": "string" - }, - "TargetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyId", - "TargetIds" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.SsmActionDefinition": { - "additionalProperties": false, - "properties": { - "InstanceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "Subtype": { - "type": "string" - } - }, - "required": [ - "InstanceIds", - "Region", - "Subtype" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::AnomalyMonitor": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MonitorDimension": { - "type": "string" - }, - "MonitorName": { - "type": "string" - }, - "MonitorSpecification": { - "type": "string" - }, - "MonitorType": { - "type": "string" - } - }, - "required": [ - "MonitorName", - "MonitorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalyMonitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Frequency": { - "type": "string" - }, - "MonitorArnList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" - }, - "type": "array" - }, - "SubscriptionName": { - "type": "string" - }, - "Threshold": { - "type": "number" - } - }, - "required": [ - "Frequency", - "MonitorArnList", - "Subscribers", - "SubscriptionName", - "Threshold" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalySubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::CostCategory": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleVersion", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::CostCategory" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CUR::ReportDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalArtifacts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSchemaElements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BillingViewArn": { - "type": "string" - }, - "Compression": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "RefreshClosedReports": { - "type": "boolean" - }, - "ReportName": { - "type": "string" - }, - "ReportVersioning": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - }, - "S3Region": { - "type": "string" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "Compression", - "Format", - "RefreshClosedReports", - "ReportName", - "ReportVersioning", - "S3Bucket", - "S3Prefix", - "S3Region", - "TimeUnit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CUR::ReportDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Keyspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyspaceName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExpiryEventsConfiguration": { - "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" - } - }, - "required": [ - "ExpiryEventsConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { - "additionalProperties": false, - "properties": { - "DaysBeforeExpiry": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationMethod": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "AWS::Chatbot::SlackChannelConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationName": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "SlackChannelId": { - "type": "string" - }, - "SlackWorkspaceId": { - "type": "string" - }, - "SnsTopicArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ConfigurationName", - "IamRoleArn", - "SlackChannelId", - "SlackWorkspaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chatbot::SlackChannelConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerArn": { - "type": "string" - }, - "Repositories": { - "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cloud9::EnvironmentEC2" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2.Repository": { - "additionalProperties": false, - "properties": { - "PathComponent": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - } - }, - "required": [ - "PathComponent", - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::CloudFormation::CustomResource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ServiceToken": { - "type": "string" - } - }, - "required": [ - "ServiceToken" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::CustomResource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::Macro": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Macro" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleDefaultVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ModuleName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModuleName": { - "type": "string" - }, - "ModulePackage": { - "type": "string" - } - }, - "required": [ - "ModuleName", - "ModulePackage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::PublicTypeVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TypeName": { - "type": "string" - }, - "TypeVersionArn": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" - }, - "SchemaHandlerPackage": { - "type": "string" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "SchemaHandlerPackage", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFormation::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateURL": { - "type": "string" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TemplateURL" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdministrationRoleARN": { - "type": "string" - }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" - }, - "CallAs": { - "type": "string" - }, - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "ExecutionRoleName": { - "type": "string" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "PermissionModel": { - "type": "string" - }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "type": "array" - }, - "StackSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { - "type": "string" - } - }, - "required": [ - "PermissionModel", - "StackSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::StackSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.AutoDeployment": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { - "additionalProperties": false, - "properties": { - "Accounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationalUnitIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.OperationPreferences": { - "additionalProperties": false, - "properties": { - "FailureToleranceCount": { - "type": "number" - }, - "FailureTolerancePercentage": { - "type": "number" - }, - "MaxConcurrentCount": { - "type": "number" - }, - "MaxConcurrentPercentage": { - "type": "number" - }, - "RegionConcurrencyType": { - "type": "string" - }, - "RegionOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterKey", - "ParameterValue" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.StackInstances": { - "additionalProperties": false, - "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" - }, - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DeploymentTargets", - "Regions" - ], - "type": "object" - }, - "AWS::CloudFormation::TypeActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Handle": { - "type": "string" - }, - "Timeout": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitCondition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::WaitConditionHandle": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitConditionHandle" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CachePolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" - } - }, - "required": [ - "CachePolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CachePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CachePolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DefaultTTL": { - "type": "number" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "ParametersInCacheKeyAndForwardedToOrigin": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" - } - }, - "required": [ - "DefaultTTL", - "MaxTTL", - "MinTTL", - "Name", - "ParametersInCacheKeyAndForwardedToOrigin" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { - "additionalProperties": false, - "properties": { - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" - }, - "EnableAcceptEncodingBrotli": { - "type": "boolean" - }, - "EnableAcceptEncodingGzip": { - "type": "boolean" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "EnableAcceptEncodingGzip", - "HeadersConfig", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudFrontOriginAccessIdentityConfig": { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" - } - }, - "required": [ - "CloudFrontOriginAccessIdentityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "required": [ - "Comment" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DistributionConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Distribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { - "additionalProperties": false, - "properties": { - "ErrorCachingMinTTL": { - "type": "number" - }, - "ErrorCode": { - "type": "number" - }, - "ResponseCode": { - "type": "number" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginKeepaliveTimeout": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "type": "number" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" - }, - "type": "array" - }, - "CustomOrigin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" - }, - "DefaultRootObject": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" - }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" - }, - "type": "array" - }, - "PriceClass": { - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestrictionType": { - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "ConnectionAttempts": { - "type": "number" - }, - "ConnectionTimeout": { - "type": "number" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" - }, - "type": "array" - }, - "OriginPath": { - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" - } - }, - "required": [ - "FailoverCriteria", - "Id", - "Members" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerCertificate": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "type": "string" - }, - "SslSupportMethod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPublish": { - "type": "boolean" - }, - "FunctionCode": { - "type": "string" - }, - "FunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" - }, - "FunctionMetadata": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Runtime": { - "type": "string" - } - }, - "required": [ - "Comment", - "Runtime" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionMetadata": { - "additionalProperties": false, - "properties": { - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::KeyGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyGroupConfig": { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" - } - }, - "required": [ - "KeyGroupConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::KeyGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::KeyGroup.KeyGroupConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Items": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Items", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" - } - }, - "required": [ - "OriginRequestPolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::OriginRequestPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" - }, - "Name": { - "type": "string" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "HeadersConfig", - "Name", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PublicKeyConfig": { - "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" - } - }, - "required": [ - "PublicKeyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::PublicKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey.PublicKeyConfig": { - "additionalProperties": false, - "properties": { - "CallerReference": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "EncodedKey": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CallerReference", - "EncodedKey", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "type": "array" - }, - "Fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SamplingRate": { - "type": "number" - } - }, - "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::RealtimeLogConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { - "additionalProperties": false, - "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" - }, - "StreamType": { - "type": "string" - } - }, - "required": [ - "KinesisStreamConfig", - "StreamType" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamArn" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StreamingDistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StreamingDistributionConfig", - "Tags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::StreamingDistribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Enabled", - "Prefix" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.S3Origin": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DomainName", - "OriginAccessIdentity" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" - }, - "PriceClass": { - "type": "string" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" - }, - "TrustedSigners": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" - } - }, - "required": [ - "Comment", - "Enabled", - "S3Origin", - "TrustedSigners" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.TrustedSigners": { - "additionalProperties": false, - "properties": { - "AwsAccountNumbers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "type": "array" - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "SnsTopicName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrailName": { - "type": "string" - } - }, - "required": [ - "IsLogging", - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudTrail::Trail" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "type": "array" - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "ComparisonOperator": { - "type": "string" - }, - "DatapointsToAlarm": { - "type": "number" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { - "type": "string" - }, - "EvaluationPeriods": { - "type": "number" - }, - "ExtendedStatistic": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdMetricId": { - "type": "string" - }, - "TreatMissingData": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "EvaluationPeriods" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Alarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Metric": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Stat": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Stat" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Configuration": { - "additionalProperties": false, - "properties": { - "ExcludedTimeRanges": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" - }, - "type": "array" - }, - "MetricTimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Range": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::CloudWatch::CompositeAlarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "AlarmRule": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AlarmName", - "AlarmRule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::CompositeAlarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardBody": { - "type": "string" - }, - "DashboardName": { - "type": "string" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleBody": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "RuleState": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" - } - }, - "required": [ - "RuleBody", - "RuleName", - "RuleState" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::InsightRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CloudWatch::MetricStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "FirehoseArn": { - "type": "string" - }, - "IncludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "OutputFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirehoseArn", - "OutputFormat", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::MetricStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::MetricStream.MetricStreamFilter": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::CodeArtifact::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeArtifact::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainOwner": { - "type": "string" - }, - "ExternalConnections": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Upstreams": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "BadgeEnabled": { - "type": "boolean" - }, - "BuildBatchConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" - }, - "Cache": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" - }, - "ConcurrentBuildLimit": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" - }, - "FileSystemLocations": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" - }, - "type": "array" - }, - "LogsConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" - }, - "Name": { - "type": "string" - }, - "QueuedTimeoutInMinutes": { - "type": "number" - }, - "SecondaryArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "type": "array" - }, - "SecondarySourceVersions": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" - }, - "type": "array" - }, - "SecondarySources": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "type": "array" - }, - "ServiceRole": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "SourceVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutInMinutes": { - "type": "number" - }, - "Triggers": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" - } - }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "ArtifactIdentifier": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NamespaceType": { - "type": "string" - }, - "OverrideArtifactName": { - "type": "boolean" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.BatchRestrictions": { - "additionalProperties": false, - "properties": { - "ComputeTypesAllowed": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBuildsAllowed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.BuildStatusConfig": { - "additionalProperties": false, - "properties": { - "Context": { - "type": "string" - }, - "TargetUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.CloudWatchLogsConfig": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "ComputeType": { - "type": "string" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "type": "array" - }, - "Image": { - "type": "string" - }, - "ImagePullCredentialsType": { - "type": "string" - }, - "PrivilegedMode": { - "type": "boolean" - }, - "RegistryCredential": { - "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.FilterGroup": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CodeBuild::Project.GitSubmodulesConfig": { - "additionalProperties": false, - "properties": { - "FetchSubmodules": { - "type": "boolean" - } - }, - "required": [ - "FetchSubmodules" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.LogsConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" - }, - "S3Logs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { - "additionalProperties": false, - "properties": { - "CombineArtifacts": { - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" - }, - "ServiceRole": { - "type": "string" - }, - "TimeoutInMins": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectCache": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "Modes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFileSystemLocation": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "MountOptions": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Location", - "MountPoint", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectSourceVersion": { - "additionalProperties": false, - "properties": { - "SourceIdentifier": { - "type": "string" - }, - "SourceVersion": { - "type": "string" - } - }, - "required": [ - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectTriggers": { - "additionalProperties": false, - "properties": { - "BuildType": { - "type": "string" - }, - "FilterGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" - }, - "type": "array" - }, - "Webhook": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.RegistryCredential": { - "additionalProperties": false, - "properties": { - "Credential": { - "type": "string" - }, - "CredentialProvider": { - "type": "string" - } - }, - "required": [ - "Credential", - "CredentialProvider" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.S3LogsConfig": { - "additionalProperties": false, - "properties": { - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Source": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" - }, - "BuildSpec": { - "type": "string" - }, - "BuildStatusConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" - }, - "GitCloneDepth": { - "type": "number" - }, - "GitSubmodulesConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" - }, - "InsecureSsl": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "ReportBuildStatus": { - "type": "boolean" - }, - "SourceIdentifier": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.SourceAuth": { - "additionalProperties": false, - "properties": { - "Resource": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.WebhookFilter": { - "additionalProperties": false, - "properties": { - "ExcludeMatchedPattern": { - "type": "boolean" - }, - "Pattern": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Pattern", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteReports": { - "type": "boolean" - }, - "ExportConfig": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ExportConfig", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::ReportGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.ReportExportConfig": { - "additionalProperties": false, - "properties": { - "ExportConfigType": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" - } - }, - "required": [ - "ExportConfigType" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BucketOwner": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "EncryptionKey": { - "type": "string" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CodeBuild::SourceCredential": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "ServerType": { - "type": "string" - }, - "Token": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "AuthType", - "ServerType", - "Token" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::SourceCredential" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" - }, - "type": "array" - } - }, - "required": [ - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeCommit::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.Code": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.RepositoryTrigger": { - "additionalProperties": false, - "properties": { - "Branches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomData": { - "type": "string" - }, - "DestinationArn": { - "type": "string" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "Events", - "Name" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ComputePlatform": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TriggerConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeDeploy::DeploymentGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.Alarm": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "IgnorePollAlarmFailure": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.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" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { - "additionalProperties": false, - "properties": { - "OnPremisesTagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { - "additionalProperties": false, - "properties": { - "OnPremisesTagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { - "additionalProperties": false, - "properties": { - "GitHubLocation": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" - }, - "RevisionType": { - "type": "string" - }, - "S3Location": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BundleType": { - "type": "string" - }, - "ETag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TriggerName": { - "type": "string" - }, - "TriggerTargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentPermissions": { - "type": "object" - }, - "AnomalyDetectionNotificationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" - }, - "type": "array" - }, - "ComputePlatform": { - "type": "string" - }, - "ProfilingGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfilingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { - "additionalProperties": false, - "properties": { - "channelId": { - "type": "string" - }, - "channelUri": { - "type": "string" - } - }, - "required": [ - "channelUri" - ], - "type": "object" - }, - "AWS::CodeGuruReviewer::RepositoryAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "ConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" - }, - "type": "array" - }, - "InputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "OutputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "Provider": { - "type": "string" - }, - "Settings": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "InputArtifactDetails", - "OutputArtifactDetails", - "Provider", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::CustomActionType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ArtifactDetails": { - "additionalProperties": false, - "properties": { - "MaximumCount": { - "type": "number" - }, - "MinimumCount": { - "type": "number" - } - }, - "required": [ - "MaximumCount", - "MinimumCount" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Key": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Queryable": { - "type": "boolean" - }, - "Required": { - "type": "boolean" - }, - "Secret": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Key", - "Name", - "Required", - "Secret" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.Settings": { - "additionalProperties": false, - "properties": { - "EntityUrlTemplate": { - "type": "string" - }, - "ExecutionUrlTemplate": { - "type": "string" - }, - "RevisionUrlTemplate": { - "type": "string" - }, - "ThirdPartyConfigurationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "ArtifactStores": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" - }, - "type": "array" - }, - "DisableInboundStageTransitions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RestartExecutionOnUpdate": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Stages": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RoleArn", - "Stages" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionDeclaration": { - "additionalProperties": false, - "properties": { - "ActionTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" - }, - "Configuration": { - "type": "object" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunOrder": { - "type": "number" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "Owner", - "Provider", - "Version" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" - }, - "Location": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Location", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.OutputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" - }, - "type": "array" - }, - "Blockers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "Reason", - "StageName" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authentication": { - "type": "string" - }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RegisterWithThirdParty": { - "type": "boolean" - }, - "TargetAction": { - "type": "string" - }, - "TargetPipeline": { - "type": "string" - }, - "TargetPipelineVersion": { - "type": "number" - } - }, - "required": [ - "Authentication", - "AuthenticationConfiguration", - "Filters", - "TargetAction", - "TargetPipeline", - "TargetPipelineVersion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Webhook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedIPRange": { - "type": "string" - }, - "SecretToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookFilterRule": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "MatchEquals": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" - }, - "ConnectionArn": { - "type": "string" - }, - "EnableIssues": { - "type": "boolean" - }, - "IsPrivate": { - "type": "boolean" - }, - "RepositoryAccessToken": { - "type": "string" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryOwner": { - "type": "string" - } - }, - "required": [ - "RepositoryName", - "RepositoryOwner" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStar::GitHubRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.Code": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeStarConnections::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "HostArn": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarConnections::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetailType": { - "type": "string" - }, - "EventTypeIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" - }, - "type": "array" - } - }, - "required": [ - "DetailType", - "EventTypeIds", - "Name", - "Resource", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarNotifications::NotificationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule.Target": { - "additionalProperties": false, - "properties": { - "TargetAddress": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowClassicFlow": { - "type": "boolean" - }, - "AllowUnauthenticatedIdentities": { - "type": "boolean" - }, - "CognitoEvents": { - "type": "object" - }, - "CognitoIdentityProviders": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" - }, - "type": "array" - }, - "CognitoStreams": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" - }, - "DeveloperProviderName": { - "type": "string" - }, - "IdentityPoolName": { - "type": "string" - }, - "OpenIdConnectProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PushSync": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" - }, - "SamlProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedLoginProviders": { - "type": "object" - } - }, - "required": [ - "AllowUnauthenticatedIdentities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "ServerSideTokenCheck": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoStreams": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "StreamingStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.PushSync": { - "additionalProperties": false, - "properties": { - "ApplicationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityPoolId": { - "type": "string" - }, - "RoleMappings": { - "type": "object" - }, - "Roles": { - "type": "object" - } - }, - "required": [ - "IdentityPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { - "additionalProperties": false, - "properties": { - "Claim": { - "type": "string" - }, - "MatchType": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Claim", - "MatchType", - "RoleARN", - "Value" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { - "additionalProperties": false, - "properties": { - "AmbiguousRoleResolution": { - "type": "string" - }, - "IdentityProvider": { - "type": "string" - }, - "RulesConfiguration": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Cognito::UserPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountRecoverySetting": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" - }, - "AdminCreateUserConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" - }, - "AliasAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoVerifiedAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeviceConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" - }, - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" - }, - "EmailVerificationMessage": { - "type": "string" - }, - "EmailVerificationSubject": { - "type": "string" - }, - "EnabledMfas": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" - }, - "MfaConfiguration": { - "type": "string" - }, - "Policies": { - "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" - }, - "Schema": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" - }, - "type": "array" - }, - "SmsAuthenticationMessage": { - "type": "string" - }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" - }, - "SmsVerificationMessage": { - "type": "string" - }, - "UserPoolAddOns": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" - }, - "UserPoolName": { - "type": "string" - }, - "UserPoolTags": { - "type": "object" - }, - "UsernameAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UsernameConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" - }, - "VerificationMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.AccountRecoverySetting": { - "additionalProperties": false, - "properties": { - "RecoveryMechanisms": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdminCreateUserConfig": { - "additionalProperties": false, - "properties": { - "AllowAdminCreateUserOnly": { - "type": "boolean" - }, - "InviteMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" - }, - "UnusedAccountValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomEmailSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomSMSSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.DeviceConfiguration": { - "additionalProperties": false, - "properties": { - "ChallengeRequiredOnNewDevice": { - "type": "boolean" - }, - "DeviceOnlyRememberedOnUserPrompt": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.EmailConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.InviteMessageTemplate": { - "additionalProperties": false, - "properties": { - "EmailMessage": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "SMSMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" - }, - "CustomMessage": { - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" - }, - "DefineAuthChallenge": { - "type": "string" - }, - "KMSKeyID": { - "type": "string" - }, - "PostAuthentication": { - "type": "string" - }, - "PostConfirmation": { - "type": "string" - }, - "PreAuthentication": { - "type": "string" - }, - "PreSignUp": { - "type": "string" - }, - "PreTokenGeneration": { - "type": "string" - }, - "UserMigration": { - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.NumberAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" - }, - "MinValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PasswordPolicy": { - "additionalProperties": false, - "properties": { - "MinimumLength": { - "type": "number" - }, - "RequireLowercase": { - "type": "boolean" - }, - "RequireNumbers": { - "type": "boolean" - }, - "RequireSymbols": { - "type": "boolean" - }, - "RequireUppercase": { - "type": "boolean" - }, - "TemporaryPasswordValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.Policies": { - "additionalProperties": false, - "properties": { - "PasswordPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.RecoveryOption": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SchemaAttribute": { - "additionalProperties": false, - "properties": { - "AttributeDataType": { - "type": "string" - }, - "DeveloperOnlyAttribute": { - "type": "boolean" - }, - "Mutable": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "NumberAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" - }, - "Required": { - "type": "boolean" - }, - "StringAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SmsConfiguration": { - "additionalProperties": false, - "properties": { - "ExternalId": { - "type": "string" - }, - "SnsCallerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.StringAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxLength": { - "type": "string" - }, - "MinLength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UserPoolAddOns": { - "additionalProperties": false, - "properties": { - "AdvancedSecurityMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UsernameConfiguration": { - "additionalProperties": false, - "properties": { - "CaseSensitive": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.VerificationMessageTemplate": { - "additionalProperties": false, - "properties": { - "DefaultEmailOption": { - "type": "string" - }, - "EmailMessage": { - "type": "string" - }, - "EmailMessageByLink": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "EmailSubjectByLink": { - "type": "string" - }, - "SmsMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessTokenValidity": { - "type": "number" - }, - "AllowedOAuthFlows": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOAuthFlowsUserPoolClient": { - "type": "boolean" - }, - "AllowedOAuthScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AnalyticsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" - }, - "CallbackURLs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClientName": { - "type": "string" - }, - "DefaultRedirectURI": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomDomainConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" - }, - "Domain": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Domain", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolIdentityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeMapping": { - "type": "object" - }, - "IdpIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProviderDetails": { - "type": "object" - }, - "ProviderName": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ProviderName", - "ProviderType", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scopes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Name", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolResourceServer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { - "additionalProperties": false, - "properties": { - "ScopeDescription": { - "type": "string" - }, - "ScopeName": { - "type": "string" - } - }, - "required": [ - "ScopeDescription", - "ScopeName" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountTakeoverRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" - }, - "ClientId": { - "type": "string" - }, - "CompromisedCredentialsRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" - }, - "RiskExceptionConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - }, - "Notify": { - "type": "boolean" - } - }, - "required": [ - "EventAction", - "Notify" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { - "additionalProperties": false, - "properties": { - "HighAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "LowAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "MediumAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" - }, - "NotifyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - } - }, - "required": [ - "EventAction" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" - }, - "EventFilter": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "From": { - "type": "string" - }, - "MfaEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "NoActionEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "ReplyTo": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { - "additionalProperties": false, - "properties": { - "HtmlBody": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "TextBody": { - "type": "string" - } - }, - "required": [ - "Subject" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkippedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUICustomizationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CSS": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientMetadata": { - "type": "object" - }, - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" - }, - "MessageAction": { - "type": "string" - }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUser" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser.AttributeType": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "GroupName", - "UserPoolId", - "Username" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::AggregationAuthorization": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "object" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" - }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountAggregationSources": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" - }, - "type": "array" - }, - "ConfigurationAggregatorName": { - "type": "string" - }, - "OrganizationAggregationSource": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationAggregator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AccountIds" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { - "additionalProperties": false, - "properties": { - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RecordingGroup": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "RoleARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationRecorder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingGroup": { - "additionalProperties": false, - "properties": { - "AllSupported": { - "type": "boolean" - }, - "IncludeGlobalResourceTypes": { - "type": "boolean" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::ConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "ConformancePackName": { - "type": "string" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "ConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigSnapshotDeliveryProperties": { - "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" - }, - "Name": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "S3KmsKeyArn": { - "type": "string" - }, - "SnsTopicARN": { - "type": "string" - } - }, - "required": [ - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::DeliveryChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { - "additionalProperties": false, - "properties": { - "DeliveryFrequency": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::OrganizationConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConfigRuleName": { - "type": "string" - }, - "OrganizationCustomRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" - }, - "OrganizationManagedRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" - } - }, - "required": [ - "OrganizationConfigRuleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "LambdaFunctionArn": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn", - "OrganizationConfigRuleTriggerTypes" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleIdentifier": { - "type": "string" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "RuleIdentifier" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConformancePackName": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "OrganizationConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Automatic": { - "type": "boolean" - }, - "ConfigRuleName": { - "type": "string" - }, - "ExecutionControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" - }, - "MaximumAutomaticAttempts": { - "type": "number" - }, - "Parameters": { - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "RetryAttemptSeconds": { - "type": "number" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - }, - "TargetVersion": { - "type": "string" - } - }, - "required": [ - "ConfigRuleName", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::RemediationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ExecutionControls": { - "additionalProperties": false, - "properties": { - "SsmControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.RemediationParameterValue": { - "additionalProperties": false, - "properties": { - "ResourceValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" - }, - "StaticValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ResourceValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.SsmControls": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutionRatePercentage": { - "type": "number" - }, - "ErrorPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.StaticValue": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::StoredQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "QueryDescription": { - "type": "string" - }, - "QueryExpression": { - "type": "string" - }, - "QueryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "QueryExpression", - "QueryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::StoredQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::CustomerProfiles::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeadLetterQueueUrl": { - "type": "string" - }, - "DefaultEncryptionKey": { - "type": "string" - }, - "DefaultExpirationDays": { - "type": "number" - }, - "DomainName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "FlowDefinition": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Uri": { - "type": "string" - } - }, - "required": [ - "DomainName", - "ObjectTypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.FlowDefinition": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FlowName": { - "type": "string" - }, - "KmsArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" - } - }, - "required": [ - "FlowName", - "KmsArn", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "FirstExecutionFrom": { - "type": "number" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleStartTime": { - "type": "number" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Marketo": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { - "additionalProperties": false, - "properties": { - "OperatorPropertyKey": { - "type": "string" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "OperatorPropertyKey", - "Property" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerProperties": { - "additionalProperties": false, - "properties": { - "Scheduled": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowProfileCreation": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "ExpirationDays": { - "type": "number" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" - }, - "type": "array" - }, - "Keys": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" - }, - "type": "array" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::ObjectType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.FieldMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeField": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.KeyMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeKeyList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { - "additionalProperties": false, - "properties": { - "FieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DAX::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterEndpointEncryptionType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NotificationTopicARN": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationFactor": { - "type": "number" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetGroupName": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "IAMRoleARN", - "NodeType", - "ReplicationFactor" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DAX::Cluster.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DAX::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "ParameterNameValues": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DAX::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "PolicyDetails": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DLM::LifecyclePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Action": { - "additionalProperties": false, - "properties": { - "CrossRegionCopy": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CrossRegionCopy", - "Name" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CreateRule": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Times": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" - }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Target" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.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" - }, - "NoReboot": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.PolicyDetails": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" - }, - "type": "array" - }, - "EventSource": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" - }, - "PolicyType": { - "type": "string" - }, - "ResourceLocations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Schedules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" - }, - "type": "array" - }, - "TargetTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.RetainRule": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Schedule": { - "additionalProperties": false, - "properties": { - "CopyTags": { - "type": "boolean" - }, - "CreateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" - }, - "CrossRegionCopyRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateIdentifier": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateWallet": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DMS::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" - }, - "DynamoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" - }, - "ElasticsearchSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" - }, - "EndpointIdentifier": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EngineName": { - "type": "string" - }, - "ExtraConnectionAttributes": { - "type": "string" - }, - "IbmDb2Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" - }, - "KafkaSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" - }, - "KinesisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" - }, - "KmsKeyId": { - "type": "string" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" - }, - "NeptuneSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" - }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" - }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" - }, - "ResourceIdentifier": { - "type": "string" - }, - "S3Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" - }, - "ServerName": { - "type": "string" - }, - "SslMode": { - "type": "string" - }, - "SybaseSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "EngineName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::Endpoint.DocDbSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.DynamoDbSettings": { - "additionalProperties": false, - "properties": { - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.ElasticsearchSettings": { - "additionalProperties": false, - "properties": { - "EndpointUri": { - "type": "string" - }, - "ErrorRetryDuration": { - "type": "number" - }, - "FullLoadErrorPercentage": { - "type": "number" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.IbmDb2Settings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KafkaSettings": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KinesisSettings": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MongoDbSettings": { - "additionalProperties": false, - "properties": { - "AuthMechanism": { - "type": "string" - }, - "AuthSource": { - "type": "string" - }, - "AuthType": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocsToInvestigate": { - "type": "string" - }, - "ExtractDocId": { - "type": "string" - }, - "NestingLevel": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - }, - "ServerName": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MySqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.NeptuneSettings": { - "additionalProperties": false, - "properties": { - "ErrorRetryDuration": { - "type": "number" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "MaxFileSize": { - "type": "number" - }, - "MaxRetryCount": { - "type": "number" - }, - "S3BucketFolder": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.OracleSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmSecretId": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.PostgreSqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedshiftSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.S3Settings": { - "additionalProperties": false, - "properties": { - "BucketFolder": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "CsvDelimiter": { - "type": "string" - }, - "CsvRowDelimiter": { - "type": "string" - }, - "ExternalTableDefinition": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.SybaseSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "number" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReplicationInstanceClass": { - "type": "string" - }, - "ReplicationInstanceIdentifier": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationSubnetGroupDescription": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReplicationSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdcStartPosition": { - "type": "string" - }, - "CdcStartTime": { - "type": "number" - }, - "CdcStopPosition": { - "type": "string" - }, - "MigrationType": { - "type": "string" - }, - "ReplicationInstanceArn": { - "type": "string" - }, - "ReplicationTaskIdentifier": { - "type": "string" - }, - "ReplicationTaskSettings": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "SourceEndpointArn": { - "type": "string" - }, - "TableMappings": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetEndpointArn": { - "type": "string" - }, - "TaskData": { - "type": "string" - } - }, - "required": [ - "MigrationType", - "ReplicationInstanceArn", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" - }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" - }, - "Name": { - "type": "string" - }, - "PathOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Input", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.CsvOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "HeaderRow": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatabaseInputDefinition": { - "additionalProperties": false, - "properties": { - "DatabaseTableName": { - "type": "string" - }, - "GlueConnectionName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatasetParameter": { - "additionalProperties": false, - "properties": { - "CreateColumn": { - "type": "boolean" - }, - "DatetimeOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" - }, - "Filter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.DatetimeOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "LocaleCode": { - "type": "string" - }, - "TimezoneOffset": { - "type": "string" - } - }, - "required": [ - "Format" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.ExcelOptions": { - "additionalProperties": false, - "properties": { - "HeaderRow": { - "type": "boolean" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.FilesLimit": { - "additionalProperties": false, - "properties": { - "MaxFiles": { - "type": "number" - }, - "Order": { - "type": "string" - }, - "OrderedBy": { - "type": "string" - } - }, - "required": [ - "MaxFiles" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterExpression": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "ValuesMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ValuesMap" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "ValueReference": { - "type": "string" - } - }, - "required": [ - "Value", - "ValueReference" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" - }, - "Excel": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" - }, - "Json": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.Input": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" - }, - "DatabaseInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.JsonOptions": { - "additionalProperties": false, - "properties": { - "MultiLine": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathOptions": { - "additionalProperties": false, - "properties": { - "FilesLimit": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" - }, - "LastModifiedDateCondition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathParameter": { - "additionalProperties": false, - "properties": { - "DatasetParameter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" - }, - "PathParameterName": { - "type": "string" - } - }, - "required": [ - "DatasetParameter", - "PathParameterName" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "type": "object" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "RoleArn", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Job.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.JobSample": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.Output": { - "additionalProperties": false, - "properties": { - "CompressionFormat": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" - }, - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" - }, - "Overwrite": { - "type": "boolean" - }, - "PartitionColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::DataBrew::Job.OutputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.OutputLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "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" - }, - "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" - }, - "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": { - "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" - }, - "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::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecipeName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sample": { - "$ref": "#/definitions/AWS::DataBrew::Project.Sample" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetName", - "Name", - "RecipeName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Project.Sample": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Steps" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Recipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.Action": { - "additionalProperties": false, - "properties": { - "Operation": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" - } - }, - "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.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeParameters": { - "additionalProperties": false, - "properties": { - "AggregateFunction": { - "type": "string" - }, - "Base": { - "type": "string" - }, - "CaseStatement": { - "type": "string" - }, - "CategoryMap": { - "type": "string" - }, - "CharsToRemove": { - "type": "string" - }, - "CollapseConsecutiveWhitespace": { - "type": "string" - }, - "ColumnDataType": { - "type": "string" - }, - "ColumnRange": { - "type": "string" - }, - "Count": { - "type": "string" - }, - "CustomCharacters": { - "type": "string" - }, - "CustomStopWords": { - "type": "string" - }, - "CustomValue": { - "type": "string" - }, - "DatasetsColumns": { - "type": "string" - }, - "DateAddValue": { - "type": "string" - }, - "DateTimeFormat": { - "type": "string" - }, - "DateTimeParameters": { - "type": "string" - }, - "DeleteOtherRows": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "EndPattern": { - "type": "string" - }, - "EndPosition": { - "type": "string" - }, - "EndValue": { - "type": "string" - }, - "ExpandContractions": { - "type": "string" - }, - "Exponent": { - "type": "string" - }, - "FalseString": { - "type": "string" - }, - "GroupByAggFunctionOptions": { - "type": "string" - }, - "GroupByColumns": { - "type": "string" - }, - "HiddenColumns": { - "type": "string" - }, - "IgnoreCase": { - "type": "string" - }, - "IncludeInSplit": { - "type": "string" - }, - "Input": { - "type": "object" - }, - "Interval": { - "type": "string" - }, - "IsText": { - "type": "string" - }, - "JoinKeys": { - "type": "string" - }, - "JoinType": { - "type": "string" - }, - "LeftColumns": { - "type": "string" - }, - "Limit": { - "type": "string" - }, - "LowerBound": { - "type": "string" - }, - "MapType": { - "type": "string" - }, - "ModeType": { - "type": "string" - }, - "MultiLine": { - "type": "boolean" - }, - "NumRows": { - "type": "string" - }, - "NumRowsAfter": { - "type": "string" - }, - "NumRowsBefore": { - "type": "string" - }, - "OrderByColumn": { - "type": "string" - }, - "OrderByColumns": { - "type": "string" - }, - "Other": { - "type": "string" - }, - "Pattern": { - "type": "string" - }, - "PatternOption1": { - "type": "string" - }, - "PatternOption2": { - "type": "string" - }, - "PatternOptions": { - "type": "string" - }, - "Period": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "RemoveAllPunctuation": { - "type": "string" - }, - "RemoveAllQuotes": { - "type": "string" - }, - "RemoveAllWhitespace": { - "type": "string" - }, - "RemoveCustomCharacters": { - "type": "string" - }, - "RemoveCustomValue": { - "type": "string" - }, - "RemoveLeadingAndTrailingPunctuation": { - "type": "string" - }, - "RemoveLeadingAndTrailingQuotes": { - "type": "string" - }, - "RemoveLeadingAndTrailingWhitespace": { - "type": "string" - }, - "RemoveLetters": { - "type": "string" - }, - "RemoveNumbers": { - "type": "string" - }, - "RemoveSourceColumn": { - "type": "string" - }, - "RemoveSpecialCharacters": { - "type": "string" - }, - "RightColumns": { - "type": "string" - }, - "SampleSize": { - "type": "string" - }, - "SampleType": { - "type": "string" - }, - "SecondInput": { - "type": "string" - }, - "SecondaryInputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" - }, - "type": "array" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceColumn": { - "type": "string" - }, - "SourceColumn1": { - "type": "string" - }, - "SourceColumn2": { - "type": "string" - }, - "SourceColumns": { - "type": "string" - }, - "StartColumnIndex": { - "type": "string" - }, - "StartPattern": { - "type": "string" - }, - "StartPosition": { - "type": "string" - }, - "StartValue": { - "type": "string" - }, - "StemmingMode": { - "type": "string" - }, - "StepCount": { - "type": "string" - }, - "StepIndex": { - "type": "string" - }, - "StopWordsMode": { - "type": "string" - }, - "Strategy": { - "type": "string" - }, - "TargetColumn": { - "type": "string" - }, - "TargetColumnNames": { - "type": "string" - }, - "TargetDateFormat": { - "type": "string" - }, - "TargetIndex": { - "type": "string" - }, - "TimeZone": { - "type": "string" - }, - "TokenizerPattern": { - "type": "string" - }, - "TrueString": { - "type": "string" - }, - "UdfLang": { - "type": "string" - }, - "Units": { - "type": "string" - }, - "UnpivotColumn": { - "type": "string" - }, - "UpperBound": { - "type": "string" - }, - "UseNewDataFrame": { - "type": "string" - }, - "Value": { - "type": "string" - }, - "Value1": { - "type": "string" - }, - "Value2": { - "type": "string" - }, - "ValueColumn": { - "type": "string" - }, - "ViewFrame": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeStep": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" - }, - "ConditionExpressions": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" - }, - "type": "array" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.SecondaryInput": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Schedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "JobNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CronExpression", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Schedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParameterObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "type": "array" - }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "type": "array" - }, - "PipelineObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" - }, - "type": "array" - }, - "PipelineTags": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "ParameterObjects" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataPipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.Field": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" - }, - "type": "array" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "Attributes", - "Id" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterValue": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Id", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineObject": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::DataSync::Agent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActivationKey": { - "type": "string" - }, - "AgentName": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - } - }, - "required": [ - "ActivationKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Agent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2Config": { - "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" - }, - "EfsFilesystemArn": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Ec2Config", - "EfsFilesystemArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationEFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS.Ec2Config": { - "additionalProperties": false, - "properties": { - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArn": { - "type": "string" - } - }, - "required": [ - "SecurityGroupArns", - "SubnetArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxWindows": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "FsxFilesystemArn": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "FsxFilesystemArn", - "Password", - "SecurityGroupArns", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxWindows" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" - }, - "OnPremConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "OnPremConfig", - "ServerHostname", - "Subdirectory" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationNFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationNFS.OnPremConfig": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AgentArns" - ], - "type": "object" - }, - "AWS::DataSync::LocationObjectStorage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BucketName": { - "type": "string" - }, - "SecretKey": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "ServerPort": { - "type": "number" - }, - "ServerProtocol": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AgentArns", - "BucketName", - "ServerHostname" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationObjectStorage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "S3BucketArn": { - "type": "string" - }, - "S3Config": { - "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" - }, - "S3StorageClass": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "S3BucketArn", - "S3Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationS3" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3.S3Config": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "type": "string" - } - }, - "required": [ - "BucketAccessRoleArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Domain": { - "type": "string" - }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" - }, - "Password": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "AgentArns", - "Password", - "ServerHostname", - "Subdirectory", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationSMB" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "DestinationLocationArn": { - "type": "string" - }, - "Excludes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Options": { - "$ref": "#/definitions/AWS::DataSync::Task.Options" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" - }, - "SourceLocationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationLocationArn", - "SourceLocationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::Task.FilterRule": { - "additionalProperties": false, - "properties": { - "FilterType": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Options": { - "additionalProperties": false, - "properties": { - "Atime": { - "type": "string" - }, - "BytesPerSecond": { - "type": "number" - }, - "Gid": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "Mtime": { - "type": "string" - }, - "OverwriteMode": { - "type": "string" - }, - "PosixPermissions": { - "type": "string" - }, - "PreserveDeletedFiles": { - "type": "string" - }, - "PreserveDevices": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisableEmailNotification": { - "type": "boolean" - }, - "GraphArn": { - "type": "string" - }, - "MemberEmailAddress": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::MemberInvitation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Config": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" - } - }, - "required": [ - "Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceCollectionFilter": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" - } - }, - "required": [ - "ResourceCollectionFilter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::ResourceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { - "additionalProperties": false, - "properties": { - "StackNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { - "additionalProperties": false, - "properties": { - "CloudFormation": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" - } - }, - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::MicrosoftAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "Size", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::SimpleAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DocDB::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MasterUserPassword", - "MasterUsername" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" - }, - "type": "array" - }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" - }, - "type": "array" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "AttributeDefinitions", - "KeySchema", - "Replicas" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::GlobalTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SeedCapacity": { - "type": "number" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "TargetTrackingScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "ReadCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - }, - "ReadCapacityUnits": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - } - }, - "required": [ - "KMSMasterKeyId" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - }, - "Region": { - "type": "string" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "DisableScaleIn": { - "type": "boolean" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "WriteCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" - } - }, - "required": [ - "KeySchema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KinesisStreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamArn": { - "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "AttributeName", - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "EbsOptimized": { - "type": "boolean" - }, - "EndDate": { - "type": "string" - }, - "EndDateType": { - "type": "string" - }, - "EphemeralStorage": { - "type": "boolean" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CapacityReservation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CarrierGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnAuthorizationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessGroupId": { - "type": "string" - }, - "AuthorizeAllGroups": { - "type": "boolean" - }, - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "TargetNetworkCidr": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "type": "array" - }, - "ClientCidrBlock": { - "type": "string" - }, - "ClientConnectOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" - }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" - }, - "Description": { - "type": "string" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfServicePortal": { - "type": "string" - }, - "ServerCertificateArn": { - "type": "string" - }, - "SplitTunnel": { - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" - }, - "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" - } - }, - "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ClientRootCertificateChainArn": { - "type": "string" - } - }, - "required": [ - "ClientRootCertificateChainArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" - }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" - }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { - "type": "string" - }, - "CloudwatchLogStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { - "type": "string" - }, - "SelfServiceSAMLProviderArn": { - "type": "string" - } - }, - "required": [ - "SAMLProviderArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType", - "Tags" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::DHCPOptions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::DHCPOptions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EC2Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "CapacityReservationOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" - } - }, - "required": [ - "TotalTargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::EIP": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "PublicIpv4Pool": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIP" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EIPAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "EIP": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::EnclaveCertificateIamRoleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::FlowLog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficType": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "ResourceType", - "TrafficType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::FlowLog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::GatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - } - }, - "required": [ - "GatewayId", - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Host": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPlacement": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "HostRecovery": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Host" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Instance": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" - }, - "type": "array" - }, - "Monitoring": { - "type": "boolean" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" - }, - "type": "array" - }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EC2::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" - }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::Instance.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "AWS::EC2::Instance.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" - }, - "type": "array" - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "VolumeId" - ], - "type": "object" - }, - "AWS::EC2::InternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::InternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" - }, - "LaunchTemplateName": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LaunchTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { - "additionalProperties": false, - "properties": { - "CapacityReservationPreference": { - "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { - "additionalProperties": false, - "properties": { - "CapacityReservationId": { - "type": "string" - }, - "CapacityReservationResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "Throughput": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { - "additionalProperties": false, - "properties": { - "MarketType": { - "type": "string" - }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociateCarrierIpAddress": { - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkCardIndex": { - "type": "number" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "LocalGatewayRouteTableId": { - "type": "string" - }, - "LocalGatewayVirtualInterfaceGroupId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LocalGatewayRouteTableId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "LocalGatewayRouteTableId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NatGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "ConnectivityType": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAcl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "NetworkAclId": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAclEntry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.Icmp": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "number" - }, - "Type": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterInArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkInsightsPathId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "NetworkInsightsPathId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "ComponentId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "Protocol": { - "type": "string" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "number" - }, - "LoadBalancerPort": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "Instance": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { - "additionalProperties": false, - "properties": { - "DestinationAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DestinationPortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SourceAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { - "additionalProperties": false, - "properties": { - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Origin": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - }, - "destinationCidr": { - "type": "string" - }, - "destinationPrefixListId": { - "type": "string" - }, - "egressOnlyInternetGatewayId": { - "type": "string" - }, - "gatewayId": { - "type": "string" - }, - "instanceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "PrefixListId": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.Explanation": { - "additionalProperties": false, - "properties": { - "Acl": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Address": { - "type": "string" - }, - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AttachedTo": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClassicLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "CustomerGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Direction": { - "type": "string" - }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "ExplanationCode": { - "type": "string" - }, - "IngressRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerArn": { - "type": "string" - }, - "LoadBalancerListenerPort": { - "type": "number" - }, - "LoadBalancerTarget": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" - }, - "LoadBalancerTargetGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerTargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "LoadBalancerTargetPort": { - "type": "number" - }, - "MissingComponent": { - "type": "string" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "PacketField": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "PrefixList": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Protocols": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "State": { - "type": "string" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SubnetRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpcPeeringConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "vpcEndpoint": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { - "additionalProperties": false, - "properties": { - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "OutboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SequenceNumber": { - "type": "number" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsPath": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationIp": { - "type": "string" - }, - "DestinationPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourceIp": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Protocol", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsPath" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfacePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfacePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PlacementGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Strategy": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PlacementGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::PrefixList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddressFamily": { - "type": "string" - }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" - }, - "MaxEntries": { - "type": "number" - }, - "PrefixListName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PrefixList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, - "GatewayId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - } - }, - "required": [ - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::RouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::RouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupDescription": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "SecurityGroupEgress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" - }, - "type": "array" - }, - "SecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Egress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupEgress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" - } - }, - "required": [ - "SpotFleetRequestConfigData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SpotFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" - } - }, - "required": [ - "ClassicLoadBalancers" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.GroupIdentifier": { - "additionalProperties": false, - "properties": { - "GroupId": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" - }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotCapacityRebalance": { - "additionalProperties": false, - "properties": { - "ReplacementStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "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" - }, - "TargetCapacity": { - "type": "number" - }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { - "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotPlacement": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { - "additionalProperties": false, - "properties": { - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" - }, - "type": "array" - } - }, - "required": [ - "TargetGroups" - ], - "type": "object" - }, - "AWS::EC2::Subnet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "CidrBlock", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Subnet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ipv6CidrBlock": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "Ipv6CidrBlock", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetCidrBlock" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetNetworkAclAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NetworkAclId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "NetworkAclId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "RouteTableId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "TrafficDirection": { - "type": "string" - }, - "TrafficMirrorFilterId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorSession": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } - }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "NetworkLoadBalancerArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TransitGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransportTransitGatewayAttachmentId": { - "type": "string" - } - }, - "required": [ - "Options", - "TransportTransitGatewayAttachmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayConnect" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { - "additionalProperties": false, - "properties": { - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomainAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "SubnetId", - "TransitGatewayAttachmentId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupMember": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayPeeringAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerAccountId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerTransitGatewayId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "PeerAccountId", - "PeerRegion", - "PeerTransitGatewayId", - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "EnableDnsHostnames": { - "type": "boolean" - }, - "EnableDnsSupport": { - "type": "boolean" - }, - "InstanceTenancy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DhcpOptionsId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DhcpOptionsId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PrivateDnsEnabled": { - "type": "boolean" - }, - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointType": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "ServiceName", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointConnectionNotification": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "GatewayLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCGatewayAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InternetGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCPeeringConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerOwnerId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerRoleArn": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "PeerVpcId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCPeeringConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" - } - }, - "required": [ - "CustomerGatewayId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "PreSharedKey": { - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnectionRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "VpnConnectionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnectionRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGatewayRoutePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "RouteTableIds", - "VpnGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throughput": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VolumeAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VolumeAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RepositoryCatalogData": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyText": { - "type": "object" - } - }, - "required": [ - "PolicyText" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" - } - }, - "required": [ - "ReplicationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::ReplicationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "required": [ - "Region", - "RegistryId" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationRule": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" - }, - "type": "array" - } - }, - "required": [ - "Destinations" - ], - "type": "object" - }, - "AWS::ECR::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" - }, - "ImageScanningConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::Repository.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionType" - ], - "type": "object" - }, - "AWS::ECR::Repository.ImageScanningConfiguration": { - "additionalProperties": false, - "properties": { - "ScanOnPush": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AutoScalingGroupProvider" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::CapacityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "InstanceWarmupPeriod": { - "type": "number" - }, - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" - }, - "type": "array" - } - }, - "required": [ - "CapacityProviders", - "Cluster", - "DefaultCapacityProviderStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "CapacityProvider" - ], - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "Service": { - "type": "string" - }, - "TaskSetId": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskSetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::PrimaryTaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Service.PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" - }, - "type": "array" - }, - "IpcMode": { - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "type": "string" - }, - "PidMode": { - "type": "string" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "type": "object" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" - }, - "ClientToken": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" - }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.AccessPointTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.RootDirectory": { - "additionalProperties": false, - "properties": { - "CreationInfo": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneName": { - "type": "string" - }, - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" - }, - "BypassPolicyLockoutSafetyCheck": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { - "type": "string" - }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { - "type": "string" - } - }, - "required": [ - "TransitionToIA" - ], - "type": "object" - }, - "AWS::EFS::MountTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Addon": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddonName": { - "type": "string" - }, - "AddonVersion": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "ResolveConflicts": { - "type": "string" - }, - "ServiceAccountRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddonName", - "ClusterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Addon" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfig": { - "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" - }, - "type": "array" - }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ResourcesVpcConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster.EncryptionConfig": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::EKS::Cluster.Provider" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::FargateProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmiType": { - "type": "string" - }, - "CapacityType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { - "type": "boolean" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" - }, - "NodeRole": { - "type": "string" - }, - "NodegroupName": { - "type": "string" - }, - "ReleaseVersion": { - "type": "string" - }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" - }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Taints": { - "items": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" - }, - "type": "array" - }, - "UpdateConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ClusterName", - "NodeRole", - "Subnets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Nodegroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.Taint": { - "additionalProperties": false, - "properties": { - "Effect": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.UpdateConfig": { - "additionalProperties": false, - "properties": { - "MaxUnavailable": { - "type": "number" - }, - "MaxUnavailablePercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" - } - }, - "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Application": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" - } - }, - "required": [ - "Name", - "ScriptBootstrapAction" - ], - "type": "object" - }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ComputeLimits": { - "additionalProperties": false, - "properties": { - "MaximumCapacityUnits": { - "type": "number" - }, - "MaximumCoreCapacityUnits": { - "type": "number" - }, - "MaximumOnDemandCapacityUnits": { - "type": "number" - }, - "MinimumCapacityUnits": { - "type": "number" - }, - "UnitType": { - "type": "string" - } - }, - "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::Cluster.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { - "additionalProperties": false, - "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Ec2KeyName": { - "type": "string" - }, - "Ec2SubnetId": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmrManagedMasterSecurityGroup": { - "type": "string" - }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" - }, - "HadoopVersion": { - "type": "string" - }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" - }, - "ServiceAccessSecurityGroup": { - "type": "string" - }, - "TerminationProtected": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.KerberosAttributes": { - "additionalProperties": false, - "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" - }, - "KdcAdminPassword": { - "type": "string" - }, - "Realm": { - "type": "string" - } - }, - "required": [ - "KdcAdminPassword", - "Realm" - ], - "type": "object" - }, - "AWS::EMR::Cluster.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::Cluster.PlacementType": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::Cluster.StepConfig": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "HadoopJarStep", - "Name" - ], - "type": "object" - }, - "AWS::EMR::Cluster.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "InstanceFleetType": { - "type": "string" - }, - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" - }, - "JobFlowId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Step.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthMode": { - "type": "string" - }, - "DefaultS3Location": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineSecurityGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserRole": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "WorkspaceSecurityGroupId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultS3Location", - "EngineSecurityGroupId", - "Name", - "ServiceRole", - "SubnetIds", - "UserRole", - "VpcId", - "WorkspaceSecurityGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::StudioSessionMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityName": { - "type": "string" - }, - "IdentityType": { - "type": "string" - }, - "SessionPolicyArn": { - "type": "string" - }, - "StudioId": { - "type": "string" - } - }, - "required": [ - "IdentityName", - "IdentityType", - "SessionPolicyArn", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::StudioSessionMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProvider": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerProvider", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMRContainers::VirtualCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerInfo": { - "additionalProperties": false, - "properties": { - "EksInfo": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" - } - }, - "required": [ - "EksInfo" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerProvider": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Info": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Info", - "Type" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.EksInfo": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::CacheCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalNodeGroupCount": { - "type": "number" - }, - "GlobalReplicationGroupDescription": { - "type": "string" - }, - "GlobalReplicationGroupIdSuffix": { - "type": "string" - }, - "Members": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" - }, - "type": "array" - }, - "RegionalConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Members" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::GlobalReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "Role": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "ReshardingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheParameterGroupFamily": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CacheParameterGroupFamily", - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { - "type": "string" - }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnapshottingClusterId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "UserGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSubnetGroupName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessString": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "NoPasswordRequired": { - "type": "boolean" - }, - "Passwords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserId": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Engine", - "UserId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::UserGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Engine": { - "type": "string" - }, - "UserGroupId": { - "type": "string" - }, - "UserIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine", - "UserGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::UserGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "ServiceRole": { - "type": "string" - }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { - "additionalProperties": false, - "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" - }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxAgeInDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ApplicationName", - "TemplateName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { - "additionalProperties": false, - "properties": { - "EmitInterval": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "S3BucketName": { - "type": "string" - }, - "S3BucketPrefix": { - "type": "string" - } - }, - "required": [ - "Enabled", - "S3BucketName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieName": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "CookieName", - "PolicyName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeout": { - "type": "number" - } - }, - "required": [ - "IdleTimeout" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "string" - }, - "Interval": { - "type": "string" - }, - "Target": { - "type": "string" - }, - "Timeout": { - "type": "string" - }, - "UnhealthyThreshold": { - "type": "string" - } - }, - "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieExpirationPeriod": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "string" - }, - "InstanceProtocol": { - "type": "string" - }, - "LoadBalancerPort": { - "type": "string" - }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SSLCertificateId": { - "type": "string" - } - }, - "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - } - }, - "required": [ - "Attributes", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" - }, - "DefaultActions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" - }, - "type": "array" - }, - "LoadBalancerArn": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" - } - }, - "required": [ - "DefaultActions", - "LoadBalancerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - } - }, - "required": [ - "Certificates", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UseExistingClientSecret": { - "type": "boolean" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IpAddressType": { - "type": "string" - }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - }, - "PrivateIPv4Address": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { - "additionalProperties": false, - "properties": { - "GrpcCode": { - "type": "string" - }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicies": { - "type": "object" - }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" - }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" - }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" - }, - "DomainName": { - "type": "string" - }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" - }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" - }, - "ElasticsearchVersion": { - "type": "string" - }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" - }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } - }, - "type": "object" - }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" - }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Elasticsearch::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "CustomEndpoint": { - "type": "string" - }, - "CustomEndpointCertificateArn": { - "type": "string" - }, - "CustomEndpointEnabled": { - "type": "boolean" - }, - "EnforceHTTPS": { - "type": "boolean" - }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { - "additionalProperties": false, - "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { - "type": "string" - }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { - "additionalProperties": false, - "properties": { - "MasterUserARN": { - "type": "string" - }, - "MasterUserName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.VPCOptions": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Discoverer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { - "type": "string" - } - }, - "required": [ - "Policy", - "RegistryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "SchemaName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Content", - "RegistryName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::ApiDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "InvocationEndpoint": { - "type": "string" - }, - "InvocationRateLimitPerSecond": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ConnectionArn", - "HttpMethod", - "InvocationEndpoint" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::ApiDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Archive": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArchiveName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "RetentionDays": { - "type": "number" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Archive" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthParameters": { - "type": "object" - }, - "AuthorizationType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "AuthParameters", - "AuthorizationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBus": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EventSourceName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBus" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "Statement": { - "type": "object" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBusPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { - "additionalProperties": false, - "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputTemplate": { - "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { - "type": "string" - } - }, - "required": [ - "PartitionKeyPath" - ], - "type": "object" - }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { - "type": "string" - }, - "WithEvent": { - "type": "boolean" - } - }, - "required": [ - "Database", - "Sql" - ], - "type": "object" - }, - "AWS::Events::Rule.RetryPolicy": { - "additionalProperties": false, - "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" - } - }, - "required": [ - "RunCommandTargets" - ], - "type": "object" - }, - "AWS::Events::Rule.RunCommandTarget": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" - } - }, - "required": [ - "MessageGroupId" - ], - "type": "object" - }, - "AWS::Events::Rule.Target": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" - }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" - }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" - } - }, - "required": [ - "Arn", - "Id" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StopConditions": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" - } - }, - "type": "object" - } - }, - "required": [ - "Description", - "RoleArn", - "StopConditions", - "Tags", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::ExperimentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { - "additionalProperties": false, - "properties": { - "ActionId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "StartAfter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ActionId" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "SelectionMode": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "SelectionMode" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Path", - "Values" - ], - "type": "object" - }, - "AWS::FMS::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SnsRoleName": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "SnsRoleName", - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "PolicyName": { - "type": "string" - }, - "RemediationEnabled": { - "type": "boolean" - }, - "ResourceTags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" - }, - "type": "array" - }, - "ResourceType": { - "type": "string" - }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityServicePolicyData": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" - } - }, - "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy.IEMap": { - "additionalProperties": false, - "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::FMS::Policy.ResourceTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::FSx::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupId": { - "type": "string" - }, - "FileSystemType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" - } - }, - "required": [ - "FileSystemType", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FSx::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.AuditLogConfiguration": { - "additionalProperties": false, - "properties": { - "AuditLogDestination": { - "type": "string" - }, - "FileAccessAuditLogLevel": { - "type": "string" - }, - "FileShareAccessAuditLogLevel": { - "type": "string" - } - }, - "required": [ - "FileAccessAuditLogLevel", - "FileShareAccessAuditLogLevel" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DataCompressionType": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.WindowsConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuditLogConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "PreferredSubnetId": { - "type": "string" - }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "required": [ - "ThroughputCapacity" - ], - "type": "object" - }, - "AWS::FinSpace::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FederationMode": { - "type": "string" - }, - "FederationParameters": { - "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FinSpace::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FinSpace::Environment.FederationParameters": { - "additionalProperties": false, - "properties": { - "ApplicationCallBackURL": { - "type": "string" - }, - "AttributeMap": { - "type": "object" - }, - "FederationProviderName": { - "type": "string" - }, - "FederationURN": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "SamlMetadataURL": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedModels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "DetectorVersionStatus": { - "type": "string" - }, - "EventType": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" - }, - "RuleExecutionMode": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorId", - "EventType", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Detector.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" - }, - "type": "array" - }, - "Inline": { - "type": "boolean" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" - }, - "type": "array" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Model": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Outcome": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Rule": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "Language": { - "type": "string" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Outcomes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" - }, - "type": "array" - }, - "RuleId": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EntityType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EntityType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" - }, - "type": "array" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EntityTypes", - "EventVariables", - "Labels", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EventType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Label": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Label" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Outcome": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Outcome" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Variable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "required": [ - "DataSource", - "DataType", - "DefaultValue", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Variable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" - } - }, - "required": [ - "Name", - "RoutingStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias.RoutingStrategy": { - "additionalProperties": false, - "properties": { - "FleetId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GameLift::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" - }, - "type": "array" - }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "Locations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" - }, - "type": "array" - }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MinSize": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NewGameSessionProtectionPolicy": { - "type": "string" - }, - "PeerVpcAwsAccountId": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "IpRange": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationCapacity": { - "additionalProperties": false, - "properties": { - "DesiredEC2Instances": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "required": [ - "DesiredEC2Instances", - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "LocationCapacity": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { - "additionalProperties": false, - "properties": { - "NewGameSessionsPerCreator": { - "type": "number" - }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" - }, - "MaxConcurrentGameSessionActivations": { - "type": "number" - }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" - }, - "LaunchPath": { - "type": "string" - }, - "Parameters": { - "type": "string" - } - }, - "required": [ - "ConcurrentExecutions", - "LaunchPath" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" - } - }, - "required": [ - "TargetTrackingConfiguration" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomEventData": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" - }, - "type": "array" - }, - "FilterConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "PriorityConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameSessionQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.FilterConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedLocations": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { - "additionalProperties": false, - "properties": { - "LocationOrder": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PriorityOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { - "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" - }, - "type": "array" - }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "RequestTimeoutSeconds": { - "type": "number" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RuleSetBody": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleSetBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "StorageLocation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Accelerator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IpAddressType": { - "type": "string" - }, - "IpAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Accelerator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "number" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "ListenerArn": { - "type": "string" - }, - "PortOverrides": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" - }, - "type": "array" - }, - "ThresholdCount": { - "type": "number" - }, - "TrafficDialPercentage": { - "type": "number" - } - }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" - }, - "EndpointId": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "EndpointId" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { - "additionalProperties": false, - "properties": { - "EndpointPort": { - "type": "number" - }, - "ListenerPort": { - "type": "number" - } - }, - "required": [ - "EndpointPort", - "ListenerPort" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorArn": { - "type": "string" - }, - "ClientAffinity": { - "type": "string" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::Glue::Classifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" - }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" - }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" - }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RowTag": { - "type": "string" - } - }, - "required": [ - "Classification", - "RowTag" - ], - "type": "object" - }, - "AWS::Glue::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" - } - }, - "required": [ - "CatalogId", - "ConnectionInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Connection.ConnectionInput": { - "additionalProperties": false, - "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" - } - }, - "required": [ - "ConnectionType" - ], - "type": "object" - }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" - } - }, - "required": [ - "Role", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Crawler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "type": "string" - }, - "UpdateBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" - } - }, - "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" - } - }, - "required": [ - "CatalogId", - "DatabaseInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Database.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseInput": { - "additionalProperties": false, - "properties": { - "CreateTableDefaultPermissions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "TargetDatabase": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" - } - }, - "type": "object" - }, - "AWS::Glue::Database.PrincipalPrivileges": { - "additionalProperties": false, - "properties": { - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" - } - }, - "type": "object" - }, - "AWS::Glue::DevEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { - "type": "string" - }, - "ExtraJarsS3Path": { - "type": "string" - }, - "ExtraPythonLibsS3Path": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { - "type": "number" - }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DevEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "Command", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "TransformEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "InputRecordTables", - "Role", - "TransformParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::MLTransform" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.MLUserDataEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MLUserDataEncryptionMode": { - "type": "string" - } - }, - "required": [ - "MLUserDataEncryptionMode" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.TransformEncryption": { - "additionalProperties": false, - "properties": { - "MLUserDataEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" - }, - "TaskRunSecurityConfigurationName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" - }, - "TransformType": { - "type": "string" - } - }, - "required": [ - "TransformType" - ], - "type": "object" - }, - "AWS::Glue::Partition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Partition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Partition.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Partition.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Glue::Partition.PartitionInput": { - "additionalProperties": false, - "properties": { - "Parameters": { - "type": "object" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::Glue::Partition.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CheckpointVersion": { - "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" - }, - "Compatibility": { - "type": "string" - }, - "DataFormat": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Registry": { - "$ref": "#/definitions/AWS::Glue::Schema.Registry" - }, - "SchemaDefinition": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Compatibility", - "DataFormat", - "Name", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema.Registry": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Schema.SchemaVersion": { - "additionalProperties": false, - "properties": { - "IsLatest": { - "type": "boolean" - }, - "VersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Schema": { - "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" - }, - "SchemaDefinition": { - "type": "string" - } - }, - "required": [ - "Schema", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SchemaVersion.Schema": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersionMetadata": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "SchemaVersionId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "SchemaVersionId", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersionMetadata" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" - }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { - "additionalProperties": false, - "properties": { - "JobBookmarksEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "S3EncryptionMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "TableInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Table.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Table.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableInput": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Retention": { - "type": "number" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" - }, - "TableType": { - "type": "string" - }, - "TargetTable": { - "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" - }, - "ViewExpandedText": { - "type": "string" - }, - "ViewOriginalText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "WorkflowName": { - "type": "string" - } - }, - "required": [ - "Actions", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Trigger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Trigger.Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Condition": { - "additionalProperties": false, - "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" - }, - "type": "array" - }, - "Logical": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Workflow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultRunProperties": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Workflow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" - }, - "type": "array" - } - }, - "required": [ - "Connectors" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionId": { - "type": "string" - }, - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" - }, - "type": "array" - } - }, - "required": [ - "ConnectorDefinitionId", - "Connectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" - } - }, - "required": [ - "Cores" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CoreDefinitionId": { - "type": "string" - }, - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" - }, - "type": "array" - } - }, - "required": [ - "CoreDefinitionId", - "Cores" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceDefinitionId": { - "type": "string" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" - } - }, - "required": [ - "DeviceDefinitionId", - "Devices" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" - }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" - }, - "FunctionDefinitionId": { - "type": "string" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" - }, - "type": "array" - } - }, - "required": [ - "FunctionDefinitionId", - "Functions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::Group.GroupVersion": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Greengrass::GroupVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::GroupVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" - } - }, - "required": [ - "Loggers" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoggerDefinitionId": { - "type": "string" - }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" - } - }, - "required": [ - "LoggerDefinitionId", - "Loggers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceDefinitionId": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "ResourceDefinitionId", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" - } - }, - "required": [ - "Subscriptions" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubscriptionDefinitionId": { - "type": "string" - }, - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" - }, - "type": "array" - } - }, - "required": [ - "SubscriptionDefinitionId", - "Subscriptions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InlineRecipe": { - "type": "string" - }, - "LambdaFunction": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::ComponentVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { - "additionalProperties": false, - "properties": { - "DependencyType": { - "type": "string" - }, - "VersionRequirement": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" - }, - "type": "array" - }, - "MemorySizeInKB": { - "type": "number" - }, - "MountROSysfs": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "Path": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { - "additionalProperties": false, - "properties": { - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EventSources": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" - }, - "type": "array" - }, - "ExecArgs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InputPayloadEncodingType": { - "type": "string" - }, - "LinuxProcessParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" - }, - "MaxIdleTimeInSeconds": { - "type": "number" - }, - "MaxInstancesCount": { - "type": "number" - }, - "MaxQueueSize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "StatusTimeoutInSeconds": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { - "additionalProperties": false, - "properties": { - "ComponentDependencies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" - } - }, - "type": "object" - }, - "ComponentLambdaParameters": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" - }, - "ComponentName": { - "type": "string" - }, - "ComponentPlatforms": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" - }, - "type": "array" - }, - "ComponentVersion": { - "type": "string" - }, - "LambdaArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { - "additionalProperties": false, - "properties": { - "ContainerParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" - }, - "IsolationMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "DestinationPath": { - "type": "string" - }, - "Permission": { - "type": "string" - }, - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigData": { - "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConfigData", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::Config" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { - "additionalProperties": false, - "properties": { - "DecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" - }, - "DemodulationConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" - }, - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaUplinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" - }, - "TargetEirp": { - "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" - }, - "TransmitDisabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.ConfigData": { - "additionalProperties": false, - "properties": { - "AntennaDownlinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" - }, - "AntennaDownlinkDemodDecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" - }, - "AntennaUplinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" - }, - "DataflowEndpointConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" - }, - "S3RecordingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" - }, - "TrackingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" - }, - "UplinkEchoConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DataflowEndpointConfig": { - "additionalProperties": false, - "properties": { - "DataflowEndpointName": { - "type": "string" - }, - "DataflowEndpointRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DecodeConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DemodulationConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Eirp": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Frequency": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.FrequencyBandwidth": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.S3RecordingConfig": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.SpectrumConfig": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" - }, - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.TrackingConfig": { - "additionalProperties": false, - "properties": { - "Autotrack": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkEchoConfig": { - "additionalProperties": false, - "properties": { - "AntennaUplinkConfigArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkSpectrumConfig": { - "additionalProperties": false, - "properties": { - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointDetails": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::DataflowEndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" - }, - "Mtu": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" - }, - "SecurityDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::MissionProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactPostPassDurationSeconds": { - "type": "number" - }, - "ContactPrePassDurationSeconds": { - "type": "number" - }, - "DataflowEdges": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" - }, - "type": "array" - }, - "MinimumViableContactDurationSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrackingConfigArn": { - "type": "string" - } - }, - "required": [ - "DataflowEdges", - "MinimumViableContactDurationSeconds", - "Name", - "TrackingConfigArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::MissionProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::MissionProfile.DataflowEdge": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" - }, - "Enable": { - "type": "boolean" - }, - "FindingPublishingFrequency": { - "type": "string" - } - }, - "required": [ - "Enable" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Filter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Filter.Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" - }, - "Lte": { - "type": "number" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" - } - }, - "type": "object" - }, - "AWS::GuardDuty::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Master": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::ThreatIntelSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::AccessKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Serial": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::AccessKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::Group.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::InstanceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceProfileName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Roles" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::InstanceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ManagedPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ManagedPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::OIDCProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThumbprintList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ThumbprintList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::OIDCProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" - }, - "RoleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssumeRolePolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Role" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::SAMLProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SamlMetadataDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::SAMLProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ServerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateBody": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - }, - "ServerCertificateName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::ServiceLinkedRole": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AWSServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServiceLinkedRole" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::User.LoginProfile": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::UserToGroupAddition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GroupName", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::UserToGroupAddition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::VirtualMFADevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VirtualMfaDeviceName": { - "type": "string" - } - }, - "required": [ - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::VirtualMFADevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecordingConfigurationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IVS::PlaybackKeyPair": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfiguration": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::RecordingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "ContainerType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DockerfileTemplateData": { - "type": "string" - }, - "DockerfileTemplateUri": { - "type": "string" - }, - "ImageOsVersionOverride": { - "type": "string" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "PlatformOverride": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TargetRepository": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "ContainerType", - "Name", - "ParentImage", - "TargetRepository", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ContainerRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Image": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { - "additionalProperties": false, - "properties": { - "RepositoryName": { - "type": "string" - }, - "Service": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Distributions", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { - "additionalProperties": false, - "properties": { - "AmiDistributionConfiguration": { - "type": "object" - }, - "ContainerDistributionConfiguration": { - "type": "object" - }, - "LaunchTemplateConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" - }, - "type": "array" - }, - "LicenseConfigurationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "LaunchTemplateId": { - "type": "string" - }, - "SetDefaultVersion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImagePipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "Name", - "ParentImage", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImageRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { - "additionalProperties": false, - "properties": { - "SystemsManagerAgent": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" - }, - "UserDataOverride": { - "type": "string" - } - }, - "required": [ - "UserDataOverride" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { - "additionalProperties": false, - "properties": { - "UninstallAfterBuild": { - "type": "boolean" - } - }, - "required": [ - "UninstallAfterBuild" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" - } - }, - "required": [ - "InstanceProfileName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { - "additionalProperties": false, - "properties": { - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::ResourceGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupTags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::ResourceGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "DeviceId", - "Enabled" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Placement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "PlacementTemplate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project.DeviceTemplate": { - "additionalProperties": false, - "properties": { - "CallbackOverrides": { - "type": "object" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT1Click::Project.PlacementTemplate": { - "additionalProperties": false, - "properties": { - "DefaultAttributes": { - "type": "object" - }, - "DeviceTemplates": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "AuditCheckConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" - }, - "AuditNotificationTargetConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AccountId", - "AuditCheckConfigurations", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::AccountAuditConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { - "additionalProperties": false, - "properties": { - "AuthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "ConflictingClientIdsCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateSharedCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotPolicyOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasAllowsAccessToUnusedServicesCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "LoggingDisabledCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedCaCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedDeviceCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" - } - }, - "type": "object" - }, - "AWS::IoT::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "AuthorizerFunctionArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::CustomMetric": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "MetricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MetricType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::CustomMetric" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Dimension": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StringValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "StringValues", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Dimension" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerConfig": { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" - }, - "DomainConfigurationName": { - "type": "string" - }, - "DomainConfigurationStatus": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "ServerCertificateArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationCertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::DomainConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration.AuthorizerConfig": { - "additionalProperties": false, - "properties": { - "AllowAuthorizerOverride": { - "type": "boolean" - }, - "DefaultAuthorizerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { - "additionalProperties": false, - "properties": { - "ServerCertificateArn": { - "type": "string" - }, - "ServerCertificateStatus": { - "type": "string" - }, - "ServerCertificateStatusDetail": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ActionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ActionParams", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::MitigationAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ActionParams": { - "additionalProperties": false, - "properties": { - "AddThingsToThingGroupParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" - }, - "EnableIoTLoggingParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" - }, - "PublishFindingToSnsParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" - }, - "ReplaceDefaultPolicyVersionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" - }, - "UpdateCACertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" - }, - "UpdateDeviceCertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { - "additionalProperties": false, - "properties": { - "OverrideDynamicGroups": { - "type": "boolean" - }, - "ThingGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ThingGroupNames" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - }, - "RoleArnForLogging": { - "type": "string" - } - }, - "required": [ - "LogLevel", - "RoleArnForLogging" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { - "additionalProperties": false, - "properties": { - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateCACertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::PolicyPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "PolicyName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" - }, - "ProvisioningRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ProvisioningRoleArn", - "TemplateBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ProvisioningTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { - "additionalProperties": false, - "properties": { - "PayloadVersion": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::ScheduledAudit": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DayOfMonth": { - "type": "string" - }, - "DayOfWeek": { - "type": "string" - }, - "Frequency": { - "type": "string" - }, - "ScheduledAuditName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetCheckNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Frequency", - "TargetCheckNames" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ScheduledAudit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalMetricsToRetainV2": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" - }, - "type": "array" - }, - "AlertTargets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" - } - }, - "type": "object" - }, - "Behaviors": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" - }, - "type": "array" - }, - "SecurityProfileDescription": { - "type": "string" - }, - "SecurityProfileName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::SecurityProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.AlertTarget": { - "additionalProperties": false, - "properties": { - "AlertTargetArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AlertTargetArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.Behavior": { - "additionalProperties": false, - "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" - }, - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - }, - "Name": { - "type": "string" - }, - "SuppressAlerts": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.BehaviorCriteria": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "ConsecutiveDatapointsToAlarm": { - "type": "number" - }, - "ConsecutiveDatapointsToClear": { - "type": "number" - }, - "DurationSeconds": { - "type": "number" - }, - "MlDetectionConfig": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" - }, - "StatisticalThreshold": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { - "additionalProperties": false, - "properties": { - "ConfidenceLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricDimension": { - "additionalProperties": false, - "properties": { - "DimensionName": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "DimensionName" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricToRetain": { - "additionalProperties": false, - "properties": { - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - } - }, - "required": [ - "Metric" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricValue": { - "additionalProperties": false, - "properties": { - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Count": { - "type": "string" - }, - "Number": { - "type": "number" - }, - "Numbers": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Strings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.StatisticalThreshold": { - "additionalProperties": false, - "properties": { - "Statistic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Thing": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Thing" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::Thing.AttributePayload": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::ThingPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Principal": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "required": [ - "Principal", - "ThingName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ThingPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" - } - }, - "required": [ - "TopicRulePayload" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.Action": { - "additionalProperties": false, - "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchLogs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" - }, - "Http": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" - }, - "IotAnalytics": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" - }, - "Kafka": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" - }, - "Kinesis": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" - }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" - }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" - }, - "Timestream": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" - } - }, - "required": [ - "Timestamp", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateReason": { - "type": "string" - }, - "StateValue": { - "type": "string" - } - }, - "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchLogsAction": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LogGroupName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricTimestamp": { - "type": "string" - }, - "MetricUnit": { - "type": "string" - }, - "MetricValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBAction": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { - "additionalProperties": false, - "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.ElasticsearchAction": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Index": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.FirehoseAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAction": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" - }, - "ConfirmationUrl": { - "type": "string" - }, - "Headers": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpActionHeader": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAuthorization": { - "additionalProperties": false, - "properties": { - "Sigv4": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.IotAnalyticsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ChannelName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotEventsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "InputName": { - "type": "string" - }, - "MessageId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotSiteWiseAction": { - "additionalProperties": false, - "properties": { - "PutAssetPropertyValueEntries": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PutAssetPropertyValueEntries", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KafkaAction": { - "additionalProperties": false, - "properties": { - "ClientProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DestinationArn": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Partition": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "ClientProperties", - "DestinationArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KinesisAction": { - "additionalProperties": false, - "properties": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValues": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" - }, - "type": "array" - } - }, - "required": [ - "PropertyValues" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.PutItemInput": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "CannedAcl": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SigV4Authorization": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "SigningRegion": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "ServiceName", - "SigningRegion" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SnsAction": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SqsAction": { - "additionalProperties": false, - "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DatabaseName": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" - } - }, - "required": [ - "DatabaseName", - "Dimensions", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamTimestamp": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Actions", - "Sql" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HttpUrlProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" - }, - "Status": { - "type": "string" - }, - "VpcProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRuleDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { - "additionalProperties": false, - "properties": { - "ConfirmationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" - }, - "ContentDeliveryRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" - }, - "type": "array" - }, - "DatasetName": { - "type": "string" - }, - "LateDataRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" - }, - "type": "array" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Action": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" - }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" - } - }, - "required": [ - "ActionName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" - }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" - }, - "TimeExpression": { - "type": "string" - } - }, - "required": [ - "OffsetSeconds", - "TimeExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { - "additionalProperties": false, - "properties": { - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutInMinutes" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRule": { - "additionalProperties": false, - "properties": { - "RuleConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "RuleConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { - "additionalProperties": false, - "properties": { - "DeltaTimeSessionWindowConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" - }, - "type": "array" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "required": [ - "NumberOfDays", - "Unlimited" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" - }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" - }, - "DoubleValue": { - "type": "number" - }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" - }, - "StringValue": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "VariableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "DatastorePartitions": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" - }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" - }, - "FileFormatConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Datastore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Column": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartition": { - "additionalProperties": false, - "properties": { - "Partition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" - }, - "TimestampPartition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartitions": { - "additionalProperties": false, - "properties": { - "Partitions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { - "additionalProperties": false, - "properties": { - "JsonConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" - }, - "ParquetConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.JsonConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { - "additionalProperties": false, - "properties": { - "SchemaDefinition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Partition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.SchemaDefinition": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.TimestampPartition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "TimestampFormat": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineActivities": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" - }, - "type": "array" - }, - "PipelineName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineActivities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Activity": { - "additionalProperties": false, - "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" - }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" - }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" - }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" - }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" - }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Channel": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Datastore": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Filter": { - "additionalProperties": false, - "properties": { - "Filter": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "LambdaName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Math": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Math": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SuiteDefinitionConfiguration": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SuiteDefinitionConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" - }, - "DetectorModelDescription": { - "type": "string" - }, - "DetectorModelName": { - "type": "string" - }, - "EvaluationMethod": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorModelDefinition", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::DetectorModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Action": { - "additionalProperties": false, - "properties": { - "ClearTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" - }, - "IotTopicPublish": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ClearTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "required": [ - "InitialStateName", - "States" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDB": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "Operation": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDBv2": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Event": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "required": [ - "EventName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "InputName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotSiteWise": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValue": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" - } - }, - "required": [ - "PropertyValue" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "MqttTopic" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContentExpression", - "Type" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "Value", - "VariableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "TargetArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "required": [ - "StateName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - }, - "NextState": { - "type": "string" - } - }, - "required": [ - "Condition", - "EventName", - "NextState" - ], - "type": "object" - }, - "AWS::IoTEvents::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" - }, - "InputDescription": { - "type": "string" - }, - "InputName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InputDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.Attribute": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.InputDefinition": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" - } - }, - "required": [ - "Attributes" - ], - "type": "object" - }, - "AWS::IoTFleetHub::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTFleetHub::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicyIdentity": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" - } - }, - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AccessPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" - }, - "IamUser": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" - }, - "User": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" - }, - "Project": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Portal": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Project": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.User": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { - "type": "string" - }, - "AssetName": { - "type": "string" - }, - "AssetProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelId", - "AssetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "NotificationState": { - "type": "string" - } - }, - "required": [ - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetModelCompositeModels": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" - }, - "type": "array" - }, - "AssetModelDescription": { - "type": "string" - }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" - }, - "AssetModelName": { - "type": "string" - }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AssetModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { - "additionalProperties": false, - "properties": { - "CompositeModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetModelId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { - "additionalProperties": false, - "properties": { - "DataType": { - "type": "string" - }, - "DataTypeSpec": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" - }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "TypeName" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Transform": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" - }, - "Offset": { - "type": "string" - } - }, - "required": [ - "Interval" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { - "additionalProperties": false, - "properties": { - "HierarchyLogicalId": { - "type": "string" - }, - "PropertyLogicalId": { - "type": "string" - } - }, - "required": [ - "PropertyLogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardDefinition": { - "type": "string" - }, - "DashboardDescription": { - "type": "string" - }, - "DashboardName": { - "type": "string" - }, - "ProjectId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DashboardDefinition", - "DashboardDescription", - "DashboardName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayCapabilitySummaries": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" - }, - "type": "array" - }, - "GatewayName": { - "type": "string" - }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GatewayName", - "GatewayPlatform" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Gateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { - "additionalProperties": false, - "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { - "type": "string" - } - }, - "required": [ - "CapabilityNamespace" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { - "additionalProperties": false, - "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" - } - }, - "required": [ - "Greengrass" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.Greengrass": { - "additionalProperties": false, - "properties": { - "GroupArn": { - "type": "string" - } - }, - "required": [ - "GroupArn" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Portal": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alarms": { - "type": "object" - }, - "NotificationSenderEmail": { - "type": "string" - }, - "PortalAuthMode": { - "type": "string" - }, - "PortalContactEmail": { - "type": "string" - }, - "PortalDescription": { - "type": "string" - }, - "PortalName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalContactEmail", - "PortalName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Portal" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PortalId": { - "type": "string" - }, - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalId", - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleNamespaceVersion": { - "type": "number" - }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" - } - }, - "required": [ - "Definition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { - "additionalProperties": false, - "properties": { - "Language": { - "type": "string" - }, - "Text": { - "type": "string" - } - }, - "required": [ - "Language", - "Text" - ], - "type": "object" - }, - "AWS::IoTWireless::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "ExpressionType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ExpressionType", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::DeviceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { - "additionalProperties": false, - "properties": { - "ClassBTimeout": { - "type": "number" - }, - "ClassCTimeout": { - "type": "number" - }, - "MacVersion": { - "type": "string" - }, - "MaxDutyCycle": { - "type": "number" - }, - "MaxEirp": { - "type": "number" - }, - "PingSlotDr": { - "type": "number" - }, - "PingSlotFreq": { - "type": "number" - }, - "PingSlotPeriod": { - "type": "number" - }, - "RegParamsRevision": { - "type": "string" - }, - "RfRegion": { - "type": "string" - }, - "Supports32BitFCnt": { - "type": "boolean" - }, - "SupportsClassB": { - "type": "boolean" - }, - "SupportsClassC": { - "type": "boolean" - }, - "SupportsJoin": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountLinked": { - "type": "boolean" - }, - "Fingerprint": { - "type": "string" - }, - "PartnerAccountId": { - "type": "string" - }, - "PartnerType": { - "type": "string" - }, - "Sidewalk": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" - }, - "SidewalkUpdate": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::PartnerAccount" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "required": [ - "AppServerPrivateKey" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::ServiceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { - "additionalProperties": false, - "properties": { - "AddGwMetadata": { - "type": "boolean" - }, - "ChannelMask": { - "type": "string" - }, - "DevStatusReqFreq": { - "type": "number" - }, - "DlBucketSize": { - "type": "number" - }, - "DlRate": { - "type": "number" - }, - "DlRatePolicy": { - "type": "string" - }, - "DrMax": { - "type": "number" - }, - "DrMin": { - "type": "number" - }, - "HrAllowed": { - "type": "boolean" - }, - "MinGwDiversity": { - "type": "number" - }, - "NwkGeoLoc": { - "type": "boolean" - }, - "PrAllowed": { - "type": "boolean" - }, - "RaAllowed": { - "type": "boolean" - }, - "ReportDevStatusBattery": { - "type": "boolean" - }, - "ReportDevStatusMargin": { - "type": "boolean" - }, - "TargetPer": { - "type": "number" - }, - "UlBucketSize": { - "type": "number" - }, - "UlRate": { - "type": "number" - }, - "UlRatePolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoCreateTasks": { - "type": "boolean" - }, - "LoRaWANUpdateGatewayTaskEntry": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionType": { - "type": "string" - }, - "Update": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" - } - }, - "required": [ - "AutoCreateTasks" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { - "additionalProperties": false, - "properties": { - "Model": { - "type": "string" - }, - "PackageVersion": { - "type": "string" - }, - "Station": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "SigKeyCrc": { - "type": "number" - }, - "UpdateSignature": { - "type": "string" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" - }, - "UpdateDataRole": { - "type": "string" - }, - "UpdateDataSource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationName": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessDevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV10x": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV11": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { - "additionalProperties": false, - "properties": { - "AbpV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" - }, - "AbpV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" - }, - "DevEui": { - "type": "string" - }, - "DeviceProfileId": { - "type": "string" - }, - "OtaaV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" - }, - "OtaaV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" - }, - "ServiceProfileId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV10x": { - "additionalProperties": false, - "properties": { - "AppEui": { - "type": "string" - }, - "AppKey": { - "type": "string" - } - }, - "required": [ - "AppEui", - "AppKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV11": { - "additionalProperties": false, - "properties": { - "AppKey": { - "type": "string" - }, - "JoinEui": { - "type": "string" - }, - "NwkKey": { - "type": "string" - } - }, - "required": [ - "AppKey", - "JoinEui", - "NwkKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "NwkSKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "NwkSKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "FNwkSIntKey": { - "type": "string" - }, - "NwkSEncKey": { - "type": "string" - }, - "SNwkSIntKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "FNwkSIntKey", - "NwkSEncKey", - "SNwkSIntKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "LoRaWAN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { - "additionalProperties": false, - "properties": { - "GatewayEui": { - "type": "string" - }, - "RfRegion": { - "type": "string" - } - }, - "required": [ - "GatewayEui", - "RfRegion" - ], - "type": "object" - }, - "AWS::KMS::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasName": { - "type": "string" - }, - "TargetKeyId": { - "type": "string" - } - }, - "required": [ - "AliasName", - "TargetKeyId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::Key": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EnableKeyRotation": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "KeySpec": { - "type": "string" - }, - "KeyUsage": { - "type": "string" - }, - "MultiRegion": { - "type": "boolean" - }, - "PendingWindowInDays": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Key" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::ReplicaKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "PendingWindowInDays": { - "type": "number" - }, - "PrimaryKeyArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy", - "PrimaryKeyArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::ReplicaKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "IndexId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { - "additionalProperties": false, - "properties": { - "KeyPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.AclConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedGroupsColumnName": { - "type": "string" - } - }, - "required": [ - "AllowedGroupsColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DocumentDataColumnName": { - "type": "string" - }, - "DocumentIdColumnName": { - "type": "string" - }, - "DocumentTitleColumnName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" - }, - "type": "array" - }, - "CrawlAttachments": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { - "additionalProperties": false, - "properties": { - "BlogFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" - }, - "BlogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PageConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "SpaceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" - }, - "Version": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "ServerUrl", - "Version" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageConfiguration": { - "additionalProperties": false, - "properties": { - "PageFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlArchivedSpaces": { - "type": "boolean" - }, - "CrawlPersonalSpaces": { - "type": "boolean" - }, - "ExcludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpaceFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "SecretArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "ConfluenceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" - }, - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "GoogleDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" - }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { - "additionalProperties": false, - "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" - }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" - }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" - }, - "DatabaseEngineType": { - "type": "string" - }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "S3Prefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.GoogleDriveConfiguration": { - "additionalProperties": false, - "properties": { - "ExcludeMimeTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeSharedDrives": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeUserAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { - "additionalProperties": false, - "properties": { - "DisableLocalGroups": { - "type": "boolean" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" - }, - "SecretArn": { - "type": "string" - }, - "TenantDomain": { - "type": "string" - } - }, - "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" - }, - "BucketName": { - "type": "string" - }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPrefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeFilterTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { - "additionalProperties": false, - "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SecretArn", - "ServerUrl" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" - }, - "type": "array" - }, - "IncludedStates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" - } - }, - "required": [ - "IncludedStates" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { - "type": "string" - } - }, - "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DisableLocalGroups": { - "type": "boolean" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - }, - "SharePointVersion": { - "type": "string" - }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UseChangeLog": { - "type": "boolean" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "SharePointVersion", - "Urls" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SqlConfiguration": { - "additionalProperties": false, - "properties": { - "QueryIdentifiersEnclosingOption": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Faq": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FileFormat": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Faq" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Index": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { - "type": "string" - }, - "DocumentMetadataConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - }, - "Edition": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserContextPolicy": { - "type": "string" - }, - "UserTokenConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Edition", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Index" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "GroupAttributeField", - "UserNameAttributeField" - ], - "type": "object" - }, - "AWS::Kendra::Index.JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "type": "string" - }, - "GroupAttributeField": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "KeyLocation": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "URL": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RetentionPeriodHours": { - "type": "number" - }, - "ShardCount": { - "type": "number" - }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ShardCount" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kinesis::Stream.StreamEncryption": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KeyId": { - "type": "string" - } - }, - "required": [ - "EncryptionType", - "KeyId" - ], - "type": "object" - }, - "AWS::Kinesis::StreamConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerName": { - "type": "string" - }, - "StreamARN": { - "type": "string" - } - }, - "required": [ - "ConsumerName", - "StreamARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::StreamConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationCode": { - "type": "string" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" - }, - "type": "array" - } - }, - "required": [ - "Inputs" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ReferenceRoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationMode": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RuntimeEnvironment": { - "type": "string" - }, - "ServiceExecutionRole": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" - }, - "CodeContentType": { - "type": "string" - } - }, - "required": [ - "CodeContent", - "CodeContentType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "type": "number" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - }, - "TextContent": { - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "BucketARN": { - "type": "string" - } - }, - "required": [ - "BasePath", - "BucketARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" - } - }, - "required": [ - "ApplicationName", - "CloudWatchLoggingOption" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { - "additionalProperties": false, - "properties": { - "CopyOptions": { - "type": "string" - }, - "DataTableColumns": { - "type": "string" - }, - "DataTableName": { - "type": "string" - } - }, - "required": [ - "DataTableName" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" - }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" - }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { - "additionalProperties": false, - "properties": { - "KeyARN": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { - "additionalProperties": false, - "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" - }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "IndexRotationPeriod": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "TypeName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" - } - }, - "required": [ - "IndexName", - "RoleARN", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeValue": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { - "additionalProperties": false, - "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" - }, - "ContentEncoding": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { - "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "KinesisStreamARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { - "additionalProperties": false, - "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { - "type": "string" - }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "number" - }, - "StripeSizeBytes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "number" - }, - "PageSizeBytes": { - "type": "number" - }, - "WriterVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { - "additionalProperties": false, - "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" - }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { - "type": "string" - }, - "HECEndpointType": { - "type": "string" - }, - "HECToken": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "RoleARN": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" - }, - "TrustedResourceOwners": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::DataLakeSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsWithGrantOption": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" - } - }, - "required": [ - "DataLakePrincipal", - "Resource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Permissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { - "additionalProperties": false, - "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLocationResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "S3Resource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DatabaseResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.Resource": { - "additionalProperties": false, - "properties": { - "DataLocationResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" - }, - "DatabaseResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" - }, - "TableResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" - }, - "TableWithColumnsResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseServiceLinkedRole": { - "type": "boolean" - } - }, - "required": [ - "ResourceArn", - "UseServiceLinkedRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" - }, - "type": "array" - } - }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::Lambda::Alias.VersionWeight": { - "additionalProperties": false, - "properties": { - "FunctionVersion": { - "type": "string" - }, - "FunctionWeight": { - "type": "number" - } - }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPublishers": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" - }, - "CodeSigningPolicies": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AllowedPublishers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::CodeSigningConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { - "additionalProperties": false, - "properties": { - "SigningProfileVersionArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SigningProfileVersionArns" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { - "additionalProperties": false, - "properties": { - "UntrustedArtifactOnDeployment": { - "type": "string" - } - }, - "required": [ - "UntrustedArtifactOnDeployment" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" - }, - "FunctionName": { - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "Qualifier": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventInvokeConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" - }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" - } - }, - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "EventSourceArn": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionResponseTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfManagedEventSource": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" - }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" - }, - "StartingPosition": { - "type": "string" - }, - "StartingPositionTimestamp": { - "type": "number" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TumblingWindowInSeconds": { - "type": "number" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventSourceMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.Endpoints": { - "additionalProperties": false, - "properties": { - "KafkaBootstrapServers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { - "additionalProperties": false, - "properties": { - "Endpoints": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "URI": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Function.Code": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "ZipFile": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.Environment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "LocalMountPath": { - "type": "string" - } - }, - "required": [ - "Arn", - "LocalMountPath" - ], - "type": "object" - }, - "AWS::Lambda::Function.ImageConfig": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.TracingConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::LayerVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" - }, - "Description": { - "type": "string" - }, - "LayerName": { - "type": "string" - }, - "LicenseInfo": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersion.Content": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersionPermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" - }, - "OrganizationId": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Action", - "LayerVersionArn", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersionPermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Permission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "SourceAccount": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "Action", - "FunctionName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeSha256": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Version" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::LicenseManager::Grant": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedOperations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "GrantName": { - "type": "string" - }, - "HomeRegion": { - "type": "string" - }, - "LicenseArn": { - "type": "string" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::Grant" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LicenseManager::License": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Beneficiary": { - "type": "string" - }, - "ConsumptionConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" - }, - "Entitlements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" - }, - "type": "array" - }, - "HomeRegion": { - "type": "string" - }, - "Issuer": { - "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" - }, - "LicenseMetadata": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" - }, - "type": "array" - }, - "LicenseName": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProductSKU": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" - } - }, - "required": [ - "ConsumptionConfiguration", - "Entitlements", - "HomeRegion", - "Issuer", - "LicenseName", - "ProductName", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::License" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LicenseManager::License.BorrowConfiguration": { - "additionalProperties": false, - "properties": { - "AllowEarlyCheckIn": { - "type": "boolean" - }, - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "AllowEarlyCheckIn", - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ConsumptionConfiguration": { - "additionalProperties": false, - "properties": { - "BorrowConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" - }, - "ProvisionalConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" - }, - "RenewType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LicenseManager::License.Entitlement": { - "additionalProperties": false, - "properties": { - "AllowCheckIn": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Overage": { - "type": "boolean" - }, - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Unit" - ], - "type": "object" - }, - "AWS::LicenseManager::License.IssuerData": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SignKey": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::LicenseManager::License.Metadata": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ProvisionalConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ValidityDateFormat": { - "additionalProperties": false, - "properties": { - "Begin": { - "type": "string" - }, - "End": { - "type": "string" - } - }, - "required": [ - "Begin", - "End" - ], - "type": "object" - }, - "AWS::Location::GeofenceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - } - }, - "required": [ - "CollectionName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::GeofenceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "Configuration", - "MapName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Map" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "DataSource", - "IndexName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::PlaceIndex" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "IntendedUse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Location::RouteCalculator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CalculatorName": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "CalculatorName", - "DataSource", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::RouteCalculator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Tracker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "PricingPlan", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Tracker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::TrackerConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerArn": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "ConsumerArn", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::TrackerConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::LogGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RetentionInDays": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Logs::LogStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "required": [ - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MetricTransformations": { - "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" - }, - "type": "array" - } - }, - "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::MetricFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter.MetricTransformation": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricValue": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - }, - "AWS::Logs::QueryDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - } - }, - "required": [ - "Name", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::QueryDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::SubscriptionFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::SubscriptionFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutEquipment::InferenceScheduler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataDelayOffsetInMinutes": { - "type": "number" - }, - "DataInputConfiguration": { - "type": "object" - }, - "DataOutputConfiguration": { - "type": "object" - }, - "DataUploadFrequency": { - "type": "string" - }, - "InferenceSchedulerName": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideKmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataInputConfiguration", - "DataOutputConfiguration", - "DataUploadFrequency", - "ModelName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutEquipment::InferenceScheduler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" - }, - "AlertDescription": { - "type": "string" - }, - "AlertName": { - "type": "string" - }, - "AlertSensitivityThreshold": { - "type": "number" - }, - "AnomalyDetectorArn": { - "type": "string" - } - }, - "required": [ - "Action", - "AlertSensitivityThreshold", - "AnomalyDetectorArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::Alert" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.Action": { - "additionalProperties": false, - "properties": { - "LambdaConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" - }, - "SNSConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::Alert.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LambdaArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.SNSConfiguration": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SnsTopicArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" - }, - "AnomalyDetectorDescription": { - "type": "string" - }, - "AnomalyDetectorName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MetricSetList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" - }, - "type": "array" - } - }, - "required": [ - "AnomalyDetectorConfig", - "MetricSetList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorFrequency": { - "type": "string" - } - }, - "required": [ - "AnomalyDetectorFrequency" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { - "additionalProperties": false, - "properties": { - "FlowName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FlowName", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "FileCompression": { - "type": "string" - }, - "HeaderList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { - "additionalProperties": false, - "properties": { - "CsvFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" - }, - "JsonFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "FileCompression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.Metric": { - "additionalProperties": false, - "properties": { - "AggregationFunction": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "AggregationFunction", - "MetricName" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { - "additionalProperties": false, - "properties": { - "DimensionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" - }, - "type": "array" - }, - "MetricSetDescription": { - "type": "string" - }, - "MetricSetFrequency": { - "type": "string" - }, - "MetricSetName": { - "type": "string" - }, - "MetricSource": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" - }, - "Offset": { - "type": "number" - }, - "TimestampColumn": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "MetricList", - "MetricSetName", - "MetricSource" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { - "additionalProperties": false, - "properties": { - "AppFlowConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" - }, - "CloudwatchConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" - }, - "RDSSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" - }, - "RedshiftSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" - }, - "S3SourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { - "additionalProperties": false, - "properties": { - "DBInstanceIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "DBInstanceIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "ClusterIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { - "additionalProperties": false, - "properties": { - "FileFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" - }, - "HistoricalDataPathList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TemplatedPathList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "FileFormatDescriptor", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { - "additionalProperties": false, - "properties": { - "ColumnFormat": { - "type": "string" - }, - "ColumnName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIdList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIdList", - "SubnetIdList" - ], - "type": "object" - }, - "AWS::LookoutVision::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutVision::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { - "type": "string" - }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" - }, - "EnhancedMonitoring": { - "type": "string" - }, - "KafkaVersion": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" - }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MSK::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster.BrokerLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { - "type": "string" - }, - "ClientSubnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InstanceType": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" - } - }, - "required": [ - "ClientSubnets", - "InstanceType" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ClientAuthentication": { - "additionalProperties": false, - "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" - }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { - "type": "string" - }, - "InCluster": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" - }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Iam": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.JmxExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.LoggingInfo": { - "additionalProperties": false, - "properties": { - "BrokerLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" - } - }, - "required": [ - "BrokerLogs" - ], - "type": "object" - }, - "AWS::MSK::Cluster.NodeExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" - }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Iam": { - "$ref": "#/definitions/AWS::MSK::Cluster.Iam" - }, - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AirflowConfigurationOptions": { - "type": "object" - }, - "AirflowVersion": { - "type": "string" - }, - "DagS3Path": { - "type": "string" - }, - "EnvironmentClass": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "KmsKey": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" - }, - "MaxWorkers": { - "type": "number" - }, - "MinWorkers": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" - }, - "PluginsS3ObjectVersion": { - "type": "string" - }, - "PluginsS3Path": { - "type": "string" - }, - "RequirementsS3ObjectVersion": { - "type": "string" - }, - "RequirementsS3Path": { - "type": "string" - }, - "Schedulers": { - "type": "number" - }, - "SourceBucketArn": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" - }, - "WebserverAccessMode": { - "type": "string" - }, - "WeeklyMaintenanceWindowStart": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MWAA::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MWAA::Environment.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DagProcessingLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "SchedulerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "TaskLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WebserverLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WorkerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.ModuleLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.TagMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::CustomDataIdentifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Keywords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" - } - }, - "required": [ - "Name", - "Regex" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::CustomDataIdentifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Position": { - "type": "number" - } - }, - "required": [ - "FindingCriteria", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::FindingsFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter.Criterion": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" - } - }, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Macie::Session": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FindingPublishingFrequency": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { - "additionalProperties": false, - "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { - "type": "string" - }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { - "additionalProperties": false, - "properties": { - "AdminPassword": { - "type": "string" - }, - "AdminUsername": { - "type": "string" - } - }, - "required": [ - "AdminPassword", - "AdminUsername" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { - "type": "string" - } - }, - "required": [ - "Edition" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MemberId": { - "type": "string" - }, - "NetworkId": { - "type": "string" - }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" - } - }, - "required": [ - "NetworkId", - "NodeConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Node" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" - }, - "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" - } - }, - "required": [ - "Name", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.FailoverConfig": { - "additionalProperties": false, - "properties": { - "RecoveryWindow": { - "type": "number" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::Flow.Source": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataTransferSubscriberFeePercent": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" - }, - "EntitlementStatus": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Subscribers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Description", - "FlowArn", - "Name", - "Subscribers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowEntitlement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrAllowList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Destination": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" - }, - "FlowArn": { - "type": "string" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "RemoteId": { - "type": "string" - }, - "SmoothingLatency": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceAttachment": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" - } - }, - "required": [ - "FlowArn", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn", - "SecretArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "VpcInterfaceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "required": [ - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowSource.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowVpcInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FlowArn", - "Name", - "RoleArn", - "SecurityGroupIds", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowVpcInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::JobTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.HopDestination": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "WaitMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaConvert::Preset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Preset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdiInputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" - }, - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel.AacSettings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Ac3Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "MetadataControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AncillarySourceSettings": { - "additionalProperties": false, - "properties": { - "SourceAncillaryChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveCdnSettings": { - "additionalProperties": false, - "properties": { - "ArchiveS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - }, - "RawSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { - "additionalProperties": false, - "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" - }, - "Extension": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioChannelMapping": { - "additionalProperties": false, - "properties": { - "InputChannelLevels": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" - }, - "type": "array" - }, - "OutputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioCodecSettings": { - "additionalProperties": false, - "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" - }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" - }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" - }, - "WavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioDescription": { - "additionalProperties": false, - "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" - }, - "AudioType": { - "type": "string" - }, - "AudioTypeControl": { - "type": "string" - }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageCodeControl": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" - }, - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "AlgorithmControl": { - "type": "string" - }, - "TargetLkfs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioGroupId": { - "type": "string" - }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "AudioTrackType": { - "type": "string" - }, - "SegmentType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioPidSelection": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelector": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { - "additionalProperties": false, - "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" - }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" - }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectorName": { - "type": "string" - }, - "AudioSilenceThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrack": { - "additionalProperties": false, - "properties": { - "Track": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrackSelection": { - "additionalProperties": false, - "properties": { - "Tracks": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { - "additionalProperties": false, - "properties": { - "ErrorClearTimeMsec": { - "type": "number" - }, - "FailoverConditions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" - }, - "type": "array" - }, - "InputPreference": { - "type": "string" - }, - "SecondaryInputId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailBlanking": { - "additionalProperties": false, - "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailConfiguration": { - "additionalProperties": false, - "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailSettings": { - "additionalProperties": false, - "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" - }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BlackoutSlate": { - "additionalProperties": false, - "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkEndBlackout": { - "type": "string" - }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkId": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDescription": { - "additionalProperties": false, - "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { - "additionalProperties": false, - "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" - }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" - }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" - }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" - }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { - "additionalProperties": false, - "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionRectangle": { - "additionalProperties": false, - "properties": { - "Height": { - "type": "number" - }, - "LeftOffset": { - "type": "number" - }, - "TopOffset": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelector": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { - "additionalProperties": false, - "properties": { - "AncillarySourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" - }, - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" - }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" - }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" - }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" - }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CdiInputSpecification": { - "additionalProperties": false, - "properties": { - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { - "additionalProperties": false, - "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSdtSettings": { - "additionalProperties": false, - "properties": { - "OutputSdt": { - "type": "string" - }, - "RepInterval": { - "type": "number" - }, - "ServiceName": { - "type": "string" - }, - "ServiceProviderName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbTdtSettings": { - "additionalProperties": false, - "properties": { - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Eac3Settings": { - "additionalProperties": false, - "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" - }, - "LtRtCenterMixLevel": { - "type": "number" - }, - "LtRtSurroundMixLevel": { - "type": "number" - }, - "MetadataControl": { - "type": "string" - }, - "PassthroughControl": { - "type": "string" - }, - "PhaseControl": { - "type": "string" - }, - "StereoDownmix": { - "type": "string" - }, - "SurroundExMode": { - "type": "string" - }, - "SurroundMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { - "additionalProperties": false, - "properties": { - "CopyrightHolder": { - "type": "string" - }, - "FillLineGap": { - "type": "string" - }, - "FontFamily": { - "type": "string" - }, - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Scte20Detection": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - }, - "Source608TrackNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EncoderSettings": { - "additionalProperties": false, - "properties": { - "AudioDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" - }, - "type": "array" - }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" - }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" - }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" - }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" - }, - "MotionGraphicsConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" - }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" - }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" - }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" - }, - "VideoDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverCondition": { - "additionalProperties": false, - "properties": { - "FailoverConditionSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverConditionSettings": { - "additionalProperties": false, - "properties": { - "AudioSilenceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" - }, - "InputLossSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" - }, - "VideoBlackSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FeatureActivations": { - "additionalProperties": false, - "properties": { - "InputPrepareScheduleActions": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FecOutputSettings": { - "additionalProperties": false, - "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { - "type": "string" - }, - "RowLength": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FrameCaptureCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { - "additionalProperties": false, - "properties": { - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { - "additionalProperties": false, - "properties": { - "CaptureInterval": { - "type": "number" - }, - "CaptureIntervalUnits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.GlobalConfiguration": { - "additionalProperties": false, - "properties": { - "InitialAudioGain": { - "type": "number" - }, - "InputEndAction": { - "type": "string" - }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { - "type": "string" - }, - "OutputTimingSource": { - "type": "string" - }, - "SupportLowFramerateInputs": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufFillPct": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" - }, - "EntropyEncoding": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "ForceFieldPictures": { - "type": "string" - }, - "FramerateControl": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopBReference": { - "type": "string" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { - "type": "string" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QualityLevel": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Softness": { - "type": "number" - }, - "SpatialAq": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "Syntax": { - "type": "string" - }, - "TemporalAq": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Tier": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Hdr10Settings": { - "additionalProperties": false, - "properties": { - "MaxCll": { - "type": "number" - }, - "MaxFall": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsCdnSettings": { - "additionalProperties": false, - "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" - }, - "HlsS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" - }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { - "type": "string" - }, - "BaseUrlManifest": { - "type": "string" - }, - "BaseUrlManifest1": { - "type": "string" - }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" - }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" - }, - "ClientCache": { - "type": "string" - }, - "CodecSpecification": { - "type": "string" - }, - "ConstantIv": { - "type": "string" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { - "type": "string" - }, - "DiscontinuityTags": { - "type": "string" - }, - "EncryptionType": { - "type": "string" - }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { - "type": "string" - }, - "IFrameOnlyPlaylists": { - "type": "string" - }, - "IncompleteSegmentBehavior": { - "type": "string" - }, - "IndexNSegments": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "IvInManifest": { - "type": "string" - }, - "IvSource": { - "type": "string" - }, - "KeepSegments": { - "type": "number" - }, - "KeyFormat": { - "type": "string" - }, - "KeyFormatVersions": { - "type": "string" - }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" - }, - "ManifestCompression": { - "type": "string" - }, - "ManifestDurationFormat": { - "type": "string" - }, - "MinSegmentLength": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "OutputSelection": { - "type": "string" - }, - "ProgramDateTime": { - "type": "string" - }, - "ProgramDateTimePeriod": { - "type": "number" - }, - "RedundantManifest": { - "type": "string" - }, - "SegmentLength": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SegmentsPerSubdirectory": { - "type": "number" - }, - "StreamInfResolution": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - }, - "TimestampDeltaMilliseconds": { - "type": "number" - }, - "TsFileMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsInputSettings": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "type": "number" - }, - "BufferSegments": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "RetryInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" - }, - "NameModifier": { - "type": "string" - }, - "SegmentModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" - }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" - }, - "FrameCaptureHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" - }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.InputAttachment": { - "additionalProperties": false, - "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { - "type": "string" - }, - "InputId": { - "type": "string" - }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputChannelLevel": { - "additionalProperties": false, - "properties": { - "Gain": { - "type": "number" - }, - "InputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLocation": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Uri": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossBehavior": { - "additionalProperties": false, - "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { - "type": "string" - }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "InputLossImageType": { - "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossFailoverSettings": { - "additionalProperties": false, - "properties": { - "InputLossThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { - "type": "string" - }, - "FilterStrength": { - "type": "number" - }, - "InputFilter": { - "type": "string" - }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" - }, - "Smpte2038DataPreference": { - "type": "string" - }, - "SourceEndBehavior": { - "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSpecification": { - "additionalProperties": false, - "properties": { - "Codec": { - "type": "string" - }, - "MaximumBitrate": { - "type": "string" - }, - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.KeyProviderSettings": { - "additionalProperties": false, - "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M2tsSettings": { - "additionalProperties": false, - "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { - "type": "string" - }, - "AribCaptionsPid": { - "type": "string" - }, - "AribCaptionsPidControl": { - "type": "string" - }, - "AudioBufferModel": { - "type": "string" - }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "AudioStreamType": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { - "type": "string" - }, - "FragmentTime": { - "type": "number" - }, - "Klv": { - "type": "string" - }, - "KlvDataPids": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { - "type": "string" - }, - "Scte27Pids": { - "type": "string" - }, - "Scte35Control": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "SegmentationMarkers": { - "type": "string" - }, - "SegmentationStyle": { - "type": "string" - }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M3u8Settings": { - "additionalProperties": false, - "properties": { - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "Scte35Behavior": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { - "additionalProperties": false, - "properties": { - "MotionGraphicsInsertion": { - "type": "string" - }, - "MotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsSettings": { - "additionalProperties": false, - "properties": { - "HtmlMotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mp2Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpace": { - "type": "string" - }, - "DisplayAspectRatio": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { - "additionalProperties": false, - "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "EventId": { - "type": "string" - }, - "EventIdMode": { - "type": "string" - }, - "EventStopBehavior": { - "type": "string" - }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SendDelayMs": { - "type": "number" - }, - "SparseTrackType": { - "type": "string" - }, - "StreamManifestBehavior": { - "type": "string" - }, - "TimestampOffset": { - "type": "string" - }, - "TimestampOffsetMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { - "additionalProperties": false, - "properties": { - "MultiplexId": { - "type": "string" - }, - "ProgramName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NetworkInputSettings": { - "additionalProperties": false, - "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" - }, - "ServerValidation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NielsenConfiguration": { - "additionalProperties": false, - "properties": { - "DistributorId": { - "type": "string" - }, - "NielsenPcmToId3Tagging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Output": { - "additionalProperties": false, - "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CaptionDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OutputName": { - "type": "string" - }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestination": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" - }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" - }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" - }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" - }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" - }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" - }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" - }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" - }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" - }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" - }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputLocationRef": { - "additionalProperties": false, - "properties": { - "DestinationRefId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputSettings": { - "additionalProperties": false, - "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" - }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" - }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RawSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { - "additionalProperties": false, - "properties": { - "ChannelMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" - }, - "type": "array" - }, - "ChannelsIn": { - "type": "number" - }, - "ChannelsOut": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthenticationScheme": { - "type": "string" - }, - "CacheFullBehavior": { - "type": "string" - }, - "CacheLength": { - "type": "number" - }, - "CaptionData": { - "type": "string" - }, - "InputLossAction": { - "type": "string" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { - "additionalProperties": false, - "properties": { - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "NumRetries": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.StaticKeySettings": { - "additionalProperties": false, - "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "StaticKeyValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { - "additionalProperties": false, - "properties": { - "OutputRectangle": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" - }, - "PageNumber": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { - "additionalProperties": false, - "properties": { - "PostFilterSharpening": { - "type": "string" - }, - "Strength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TimecodeConfig": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "SyncThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { - "additionalProperties": false, - "properties": { - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpGroupSettings": { - "additionalProperties": false, - "properties": { - "InputLossAction": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpOutputSettings": { - "additionalProperties": false, - "properties": { - "BufferMsec": { - "type": "number" - }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { - "additionalProperties": false, - "properties": { - "BlackDetectThreshold": { - "type": "number" - }, - "VideoBlackThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoCodecSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" - }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" - }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" - }, - "Mpeg2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoDescription": { - "additionalProperties": false, - "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" - }, - "Height": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RespondToAfd": { - "type": "string" - }, - "ScalingBehavior": { - "type": "string" - }, - "Sharpness": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelector": { - "additionalProperties": false, - "properties": { - "ColorSpace": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" - }, - "ColorSpaceUsage": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorPid": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { - "additionalProperties": false, - "properties": { - "ProgramId": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { - "additionalProperties": false, - "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" - }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VpcOutputSettings": { - "additionalProperties": false, - "properties": { - "PublicAddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WavSettings": { - "additionalProperties": false, - "properties": { - "BitDepth": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "type": "array" - }, - "InputSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceRequest": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceSettings": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - }, - "WhitelistRules": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::InputSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Asset.EgressEndpoint": { - "additionalProperties": false, - "properties": { - "PackagingConfigurationId": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "PackagingConfigurationId", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "IngressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" - }, - "ChannelId": { - "type": "string" - }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { - "type": "string" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" - }, - "Id": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" - }, - "Origination": { - "type": "string" - }, - "StartoverWindowSeconds": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeDelaySeconds": { - "type": "number" - }, - "Whitelist": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ChannelId", - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::OriginEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentPrefix": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { - "additionalProperties": false, - "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { - "type": "string" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" - }, - "UtcTiming": { - "type": "string" - }, - "UtcTimingUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" - }, - "Id": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" - }, - "PackagingGroupId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { - "additionalProperties": false, - "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" - }, - "type": "array" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - } - }, - "required": [ - "DashManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" - }, - "MssManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "MssManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" - }, - "type": "array" - }, - "LifecyclePolicy": { - "type": "string" - }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Neptune::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "FirewallPolicyArn": { - "type": "string" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallName", - "FirewallPolicyArn", - "SubnetMappings", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::Firewall" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall.SubnetMapping": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FirewallPolicy": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" - }, - "FirewallPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirewallPolicy", - "FirewallPolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::FirewallPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { - "additionalProperties": false, - "properties": { - "StatefulRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" - }, - "type": "array" - }, - "StatelessCustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" - }, - "type": "array" - }, - "StatelessDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessFragmentDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" - }, - "type": "array" - } - }, - "required": [ - "StatelessDefaultActions", - "StatelessFragmentDefaultActions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "Priority", - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallArn": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" - } - }, - "required": [ - "FirewallArn", - "LoggingConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::LoggingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { - "additionalProperties": false, - "properties": { - "LogDestination": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LogDestinationType": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "required": [ - "LogDestination", - "LogDestinationType", - "LogType" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "LogDestinationConfigs": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" - }, - "type": "array" - } - }, - "required": [ - "LogDestinationConfigs" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "RuleGroup": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" - }, - "RuleGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Capacity", - "RuleGroupName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Address": { - "additionalProperties": false, - "properties": { - "AddressDefinition": { - "type": "string" - } - }, - "required": [ - "AddressDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Header": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationPort": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourcePort": { - "type": "string" - } - }, - "required": [ - "Destination", - "DestinationPort", - "Direction", - "Protocol", - "Source", - "SourcePort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.IPSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { - "additionalProperties": false, - "properties": { - "DestinationPorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "Protocols": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SourcePorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "TCPFlags": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MatchAttributes": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" - } - }, - "required": [ - "Actions", - "MatchAttributes" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleGroup": { - "additionalProperties": false, - "properties": { - "RuleVariables": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" - }, - "RulesSource": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" - } - }, - "required": [ - "RulesSource" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleOption": { - "additionalProperties": false, - "properties": { - "Keyword": { - "type": "string" - }, - "Settings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Keyword" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleVariables": { - "additionalProperties": false, - "properties": { - "IPSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" - } - }, - "type": "object" - }, - "PortSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSource": { - "additionalProperties": false, - "properties": { - "RulesSourceList": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" - }, - "RulesString": { - "type": "string" - }, - "StatefulRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" - }, - "type": "array" - }, - "StatelessRulesAndCustomActions": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { - "additionalProperties": false, - "properties": { - "GeneratedRulesType": { - "type": "string" - }, - "TargetTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GeneratedRulesType", - "TargetTypes", - "Targets" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatefulRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Header": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" - }, - "RuleOptions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" - }, - "type": "array" - } - }, - "required": [ - "Action", - "Header", - "RuleOptions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRule": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "RuleDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" - } - }, - "required": [ - "Priority", - "RuleDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { - "additionalProperties": false, - "properties": { - "CustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" - }, - "type": "array" - }, - "StatelessRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" - }, - "type": "array" - } - }, - "required": [ - "StatelessRules" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { - "additionalProperties": false, - "properties": { - "Flags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Masks": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Flags" - ], - "type": "object" - }, - "AWS::NetworkManager::CustomerGatewayAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayArn": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "CustomerGatewayArn", - "DeviceId", - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" - }, - "Model": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "Vendor": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::GlobalNetwork": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::GlobalNetwork" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::NetworkManager::Link": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" - }, - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Link" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Link.Bandwidth": { - "additionalProperties": false, - "properties": { - "DownloadSpeed": { - "type": "number" - }, - "UploadSpeed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::NetworkManager::LinkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::LinkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Site" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::TransitGatewayRegistration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GlobalNetworkId": { - "type": "string" - }, - "TransitGatewayArn": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId", - "TransitGatewayArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchProfileProtocolVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "StreamConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" - }, - "StudioComponentIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2SubnetIds", - "LaunchProfileProtocolVersions", - "Name", - "StreamConfiguration", - "StudioComponentIds", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::LaunchProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { - "additionalProperties": false, - "properties": { - "ClipboardMode": { - "type": "string" - }, - "Ec2InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionLengthInMinutes": { - "type": "number" - }, - "StreamingImageIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClipboardMode", - "Ec2InstanceTypes", - "StreamingImageIds" - ], - "type": "object" - }, - "AWS::NimbleStudio::StreamingImage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2ImageId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2ImageId", - "Name", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StreamingImage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminRoleArn": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "StudioEncryptionConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" - }, - "StudioName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UserRoleArn": { - "type": "string" - } - }, - "required": [ - "AdminRoleArn", - "DisplayName", - "StudioName", - "UserRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" - }, - "Description": { - "type": "string" - }, - "Ec2SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InitializationScripts": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScriptParameters": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Subtype": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StudioId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StudioComponent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "ComputerAttributes": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" - }, - "type": "array" - }, - "DirectoryId": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryUser": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "LinuxMountPoint": { - "type": "string" - }, - "ShareName": { - "type": "string" - }, - "WindowsMountDrive": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" - }, - "ComputeFarmConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" - }, - "LicenseServiceConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" - }, - "SharedFileSystemConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { - "additionalProperties": false, - "properties": { - "LaunchProfileProtocolVersion": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "RunContext": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DataSources": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableSsl": { - "type": "boolean" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Shortname": { - "type": "string" - }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::App.DataSource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Secure": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::OpsWorks::App.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.SslConfiguration": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ElasticLoadBalancerName": { - "type": "string" - }, - "LayerId": { - "type": "string" - } - }, - "required": [ - "ElasticLoadBalancerName", - "LayerId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tenancy": { - "type": "string" - }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { - "type": "string" - }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { - "type": "string" - }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { - "type": "string" - }, - "Packages": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shortname": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" - }, - "type": "array" - } - }, - "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Layer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { - "additionalProperties": false, - "properties": { - "Configure": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Setup": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Undeploy": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "MountPoint": { - "type": "string" - }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" - }, - "CloneAppIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClonePermissions": { - "type": "boolean" - }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" - }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" - }, - "CustomJson": { - "type": "object" - }, - "DefaultAvailabilityZone": { - "type": "string" - }, - "DefaultInstanceProfileArn": { - "type": "string" - }, - "DefaultOs": { - "type": "string" - }, - "DefaultRootDeviceType": { - "type": "string" - }, - "DefaultSshKeyName": { - "type": "string" - }, - "DefaultSubnetId": { - "type": "string" - }, - "EcsClusterArn": { - "type": "string" - }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" - }, - "HostnameTheme": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SourceStackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.ChefConfiguration": { - "additionalProperties": false, - "properties": { - "BerkshelfVersion": { - "type": "string" - }, - "ManageBerkshelf": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.ElasticIp": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.RdsDbInstance": { - "additionalProperties": false, - "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "RdsDbInstanceArn": { - "type": "string" - } - }, - "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { - "type": "string" - }, - "SshPublicKey": { - "type": "string" - }, - "SshUsername": { - "type": "string" - } - }, - "required": [ - "IamUserArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2VolumeId": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StackId": { - "type": "string" - } - }, - "required": [ - "Ec2VolumeId", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BackupId": { - "type": "string" - }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { - "type": "string" - }, - "CustomDomain": { - "type": "string" - }, - "CustomPrivateKey": { - "type": "string" - }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" - }, - "EngineModel": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "InstanceProfileArn": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KeyPair": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServerName": { - "type": "string" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorksCM::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server.EngineAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ADMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ADMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ApplicationSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::BaiduChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::BaiduChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" - }, - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" - }, - "Description": { - "type": "string" - }, - "HoldoutPercent": { - "type": "number" - }, - "IsPaused": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" - }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SegmentId": { - "type": "string" - }, - "SegmentVersion": { - "type": "number" - }, - "Tags": { - "type": "object" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "MessageConfiguration", - "Name", - "Schedule", - "SegmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Campaign" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { - "type": "string" - }, - "HtmlBody": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" - }, - "FilterType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "EntityId": { - "type": "string" - }, - "MessageType": { - "type": "string" - }, - "OriginationNumber": { - "type": "string" - }, - "SenderId": { - "type": "string" - }, - "TemplateId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.EventDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" - }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageSmallIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "JsonBody": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "RawContent": { - "type": "string" - }, - "SilentPush": { - "type": "boolean" - }, - "TimeToLive": { - "type": "number" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { - "additionalProperties": false, - "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" - }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.Schedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" - }, - "IsLocalTime": { - "type": "boolean" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" - }, - "StartTime": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SizePercent": { - "type": "number" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::EmailChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationSet": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "FromAddress", - "Identity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EmailTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultSubstitutions": { - "type": "string" - }, - "HtmlPart": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "required": [ - "Subject", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EventStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "DestinationStreamArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EventStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::GCMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" - }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::PushTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "SmallImageIconUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::SMSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Behavior": { - "additionalProperties": false, - "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Coordinates": { - "additionalProperties": false, - "properties": { - "Latitude": { - "type": "number" - }, - "Longitude": { - "type": "number" - } - }, - "required": [ - "Latitude", - "Longitude" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Demographic": { - "additionalProperties": false, - "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.GPSPoint": { - "additionalProperties": false, - "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" - }, - "RangeInKilometers": { - "type": "number" - } - }, - "required": [ - "Coordinates", - "RangeInKilometers" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Groups": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "type": "array" - }, - "SourceSegments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Location": { - "additionalProperties": false, - "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Recency": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "RecencyType": { - "type": "string" - } - }, - "required": [ - "Duration", - "RecencyType" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" - }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" - }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" - }, - "Metrics": { - "type": "object" - }, - "UserAttributes": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentGroups": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" - }, - "Include": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SourceSegments": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Pinpoint::SmsTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::VoiceChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" - }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamArn": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::Identity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { - "additionalProperties": false, - "properties": { - "BehaviorOnMxFailure": { - "type": "string" - }, - "MailFromDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QLDB::Ledger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "KmsKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PermissionsMode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream.KinesisConfiguration": { - "additionalProperties": false, - "properties": { - "AggregationEnabled": { - "type": "boolean" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalysisId": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "Errors": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - } - }, - "required": [ - "AnalysisId", - "AwsAccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Analysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisError": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Sheet": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SheetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "DashboardId": { - "type": "string" - }, - "DashboardPublishOptions": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "DashboardId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.AdHocFilteringOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardPublishOptions": { - "additionalProperties": false, - "properties": { - "AdHocFilteringOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" - }, - "ExportToCSVOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" - }, - "SheetControlsOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.ExportToCSVOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.SheetControlsOption": { - "additionalProperties": false, - "properties": { - "VisibilityState": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "ColumnGroups": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" - }, - "type": "array" - }, - "ColumnLevelPermissionRules": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" - }, - "type": "array" - }, - "DataSetId": { - "type": "string" - }, - "FieldFolders": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" - } - }, - "type": "object" - }, - "ImportMode": { - "type": "string" - }, - "IngestionWaitPolicy": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" - }, - "LogicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" - }, - "type": "array" - }, - "PhysicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" - } - }, - "type": "object" - }, - "RowLevelPermissionDataSet": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CalculatedColumn": { - "additionalProperties": false, - "properties": { - "ColumnId": { - "type": "string" - }, - "ColumnName": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "ColumnId", - "ColumnName", - "Expression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CastColumnTypeOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "NewColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnType" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnDescription": { - "additionalProperties": false, - "properties": { - "Text": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnGroup": { - "additionalProperties": false, - "properties": { - "GeoSpatialColumnGroup": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnTag": { - "additionalProperties": false, - "properties": { - "ColumnDescription": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" - }, - "ColumnGeographicRole": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.CreateColumnsOperation": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" - }, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CustomSql": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "DataSourceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "Columns", - "DataSourceArn", - "Name", - "SqlQuery" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.FieldFolder": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.FilterOperation": { - "additionalProperties": false, - "properties": { - "ConditionExpression": { - "type": "string" - } - }, - "required": [ - "ConditionExpression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CountryCode": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Columns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.IngestionWaitPolicy": { - "additionalProperties": false, - "properties": { - "IngestionWaitTimeInHours": { - "type": "number" - }, - "WaitForSpiceIngestion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.InputColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinInstruction": { - "additionalProperties": false, - "properties": { - "LeftJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "LeftOperand": { - "type": "string" - }, - "OnClause": { - "type": "string" - }, - "RightJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "RightOperand": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "LeftOperand", - "OnClause", - "RightOperand", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinKeyProperties": { - "additionalProperties": false, - "properties": { - "UniqueKey": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTable": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DataTransforms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" - }, - "type": "array" - }, - "Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" - } - }, - "required": [ - "Alias", - "Source" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTableSource": { - "additionalProperties": false, - "properties": { - "JoinInstruction": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" - }, - "PhysicalTableId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.OutputColumn": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.PhysicalTable": { - "additionalProperties": false, - "properties": { - "CustomSql": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" - }, - "RelationalTable": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" - }, - "S3Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ProjectOperation": { - "additionalProperties": false, - "properties": { - "ProjectedColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ProjectedColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RelationalTable": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "InputColumns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RenameColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "NewColumnName": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnName" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FormatVersion": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "PermissionPolicy": { - "type": "string" - } - }, - "required": [ - "Arn", - "PermissionPolicy" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.S3Source": { - "additionalProperties": false, - "properties": { - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "UploadSettings": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" - } - }, - "required": [ - "DataSourceArn", - "InputColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" - }, - "type": "array" - } - }, - "required": [ - "ColumnName", - "Tags" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TransformOperation": { - "additionalProperties": false, - "properties": { - "CastColumnTypeOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" - }, - "CreateColumnsOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" - }, - "FilterOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" - }, - "ProjectOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" - }, - "RenameColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" - }, - "TagColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.UploadSettings": { - "additionalProperties": false, - "properties": { - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "StartFromRow": { - "type": "number" - }, - "TextQualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "AwsAccountId": { - "type": "string" - }, - "Credentials": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" - }, - "DataSourceId": { - "type": "string" - }, - "DataSourceParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "ErrorInfo": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" - }, - "type": "array" - }, - "SslProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "VpcConnectionProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - } - }, - "required": [ - "Domain" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AthenaParameters": { - "additionalProperties": false, - "properties": { - "WorkGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.CredentialPair": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceCredentials": { - "additionalProperties": false, - "properties": { - "CopySourceArn": { - "type": "string" - }, - "CredentialPair": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceErrorInfo": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceParameters": { - "additionalProperties": false, - "properties": { - "AmazonElasticsearchParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" - }, - "AthenaParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" - }, - "AuroraParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" - }, - "AuroraPostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" - }, - "MariaDbParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" - }, - "MySqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" - }, - "OracleParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" - }, - "PostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" - }, - "PrestoParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" - }, - "RdsParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" - }, - "RedshiftParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" - }, - "S3Parameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" - }, - "SnowflakeParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" - }, - "SparkParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" - }, - "SqlServerParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" - }, - "TeradataParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.ManifestFileLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MariaDbParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MySqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.OracleParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PrestoParameters": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Catalog", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RdsParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "InstanceId": { - "type": "string" - } - }, - "required": [ - "Database", - "InstanceId" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RedshiftParameters": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.S3Parameters": { - "additionalProperties": false, - "properties": { - "ManifestFileLocation": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" - } - }, - "required": [ - "ManifestFileLocation" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SnowflakeParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "Database", - "Host", - "Warehouse" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SparkParameters": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SqlServerParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SslProperties": { - "additionalProperties": false, - "properties": { - "DisableSsl": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.TeradataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.VpcConnectionProperties": { - "additionalProperties": false, - "properties": { - "VpcConnectionArn": { - "type": "string" - } - }, - "required": [ - "VpcConnectionArn" - ], - "type": "object" - }, - "AWS::QuickSight::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "TemplateId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Template.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Template.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceAnalysis": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceAnalysis": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" - }, - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::QuickSight::Theme": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "BaseThemeId": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "ThemeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Theme" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.BorderStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.DataColorPalette": { - "additionalProperties": false, - "properties": { - "Colors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmptyFillColor": { - "type": "string" - }, - "MinMaxGradient": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Font": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.GutterStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.MarginStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.SheetStyle": { - "additionalProperties": false, - "properties": { - "Tile": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" - }, - "TileLayout": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeConfiguration": { - "additionalProperties": false, - "properties": { - "DataColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" - }, - "Sheet": { - "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" - }, - "Typography": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" - }, - "UIColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileLayoutStyle": { - "additionalProperties": false, - "properties": { - "Gutter": { - "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" - }, - "Margin": { - "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileStyle": { - "additionalProperties": false, - "properties": { - "Border": { - "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Typography": { - "additionalProperties": false, - "properties": { - "FontFamilies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Font" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.UIColorPalette": { - "additionalProperties": false, - "properties": { - "Accent": { - "type": "string" - }, - "AccentForeground": { - "type": "string" - }, - "Danger": { - "type": "string" - }, - "DangerForeground": { - "type": "string" - }, - "Dimension": { - "type": "string" - }, - "DimensionForeground": { - "type": "string" - }, - "Measure": { - "type": "string" - }, - "MeasureForeground": { - "type": "string" - }, - "PrimaryBackground": { - "type": "string" - }, - "PrimaryForeground": { - "type": "string" - }, - "SecondaryBackground": { - "type": "string" - }, - "SecondaryForeground": { - "type": "string" - }, - "Success": { - "type": "string" - }, - "SuccessForeground": { - "type": "string" - }, - "Warning": { - "type": "string" - }, - "WarningForeground": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RAM::ResourceShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::RDS::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" - }, - "type": "array" - }, - "PromotionTier": { - "type": "number" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SourceDBInstanceIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "DebugLogging": { - "type": "boolean" - }, - "EngineFamily": { - "type": "string" - }, - "IdleClientTimeout": { - "type": "number" - }, - "RequireTLS": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Auth", - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy.AuthFormat": { - "additionalProperties": false, - "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxy.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBProxyEndpointName": { - "type": "string" - }, - "DBProxyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" - }, - "type": "array" - }, - "TargetRole": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBProxyEndpointName", - "DBProxyName", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "TargetGroupName": { - "type": "string" - } - }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { - "additionalProperties": false, - "properties": { - "ConnectionBorrowTimeout": { - "type": "number" - }, - "InitQuery": { - "type": "string" - }, - "MaxConnectionsPercent": { - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "type": "number" - }, - "SessionPinningFilters": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::GlobalCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::OptionGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "type": "boolean" - }, - "AutomatedSnapshotRetentionPeriod": { - "type": "number" - }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" - }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "OwnerAccount": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Cluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster.LoggingProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupFamily": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceGroups::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationItem": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.Query": { - "additionalProperties": false, - "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackIdentifier": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ResourceQuery": { - "additionalProperties": false, - "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RoboMaker::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RoboMaker::Robot": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "Fleet": { - "type": "string" - }, - "GreengrassGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Architecture", - "GreengrassGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Robot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RobotSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::DNSSEC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "HostedZoneId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::DNSSEC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckConfig": { - "type": "object" - }, - "HealthCheckTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" - }, - "type": "array" - } - }, - "required": [ - "HealthCheckConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HealthCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" - }, - "VPCs": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HostedZone" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - }, - "AWS::Route53::KeySigningKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - }, - "KeyManagementServiceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::KeySigningKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryControl::ControlPanel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::RoutingControl": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "ControlPanelArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssertionRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" - }, - "ControlPanelArn": { - "type": "string" - }, - "GatingRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" - }, - "Name": { - "type": "string" - }, - "RuleConfig": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" - } - }, - "required": [ - "ControlPanelArn", - "Name", - "RuleConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { - "additionalProperties": false, - "properties": { - "AssertedControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "AssertedControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { - "additionalProperties": false, - "properties": { - "GatingControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TargetControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "GatingControls", - "TargetControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { - "additionalProperties": false, - "properties": { - "Inverted": { - "type": "boolean" - }, - "Threshold": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Inverted", - "Threshold", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::Cell": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CellName": { - "type": "string" - }, - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CellName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::Cell" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ReadinessCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReadinessCheckName": { - "type": "string" - }, - "ResourceSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReadinessCheckName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::RecoveryGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RecoveryGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RecoveryGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceSetName": { - "type": "string" - }, - "ResourceSetType": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceSetName", - "ResourceSetType", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneArn": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - }, - "RecordType": { - "type": "string" - }, - "TargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { - "additionalProperties": false, - "properties": { - "ComponentId": { - "type": "string" - }, - "DnsTargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" - }, - "ReadinessScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { - "additionalProperties": false, - "properties": { - "NLBResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" - }, - "R53Resource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::FirewallDomainList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainFileUrl": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallDomainList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRules": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "BlockOverrideDnsType": { - "type": "string" - }, - "BlockOverrideDomain": { - "type": "string" - }, - "BlockOverrideTtl": { - "type": "number" - }, - "BlockResponse": { - "type": "string" - }, - "FirewallDomainListId": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Action", - "FirewallDomainListId", - "Priority" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRuleGroupId": { - "type": "string" - }, - "MutationProtection": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallRuleGroupId", - "Priority", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Direction": { - "type": "string" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResolverQueryLogConfigId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RuleType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ResolverRuleId": { - "type": "string" - }, - "VPCId": { - "type": "string" - } - }, - "required": [ - "ResolverRuleId", - "VPCId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "PolicyStatus": { - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" - }, - "AccessControl": { - "type": "string" - }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { - "type": "string" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "IntelligentTieringConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" - }, - "type": "array" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "type": "boolean" - }, - "OwnershipControls": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "MaxAge": { - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "OutputSchemaVersion": { - "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" - }, - "BucketArn": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { - "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.IntelligentTieringConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Tierings": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Tiering" - }, - "type": "array" - } - }, - "required": [ - "Id", - "Status", - "Tierings" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "IncludedObjectVersions": { - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "ScheduleFrequency": { - "type": "string" - } - }, - "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3::Bucket.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Function": { - "type": "string" - } - }, - "required": [ - "Event", - "Function" - ], - "type": "object" - }, - "AWS::S3::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationBucketName": { - "type": "string" - }, - "LogFilePrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Metrics": { - "additionalProperties": false, - "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.MetricsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass", - "TransitionInDays" - ], - "type": "object" - }, - "AWS::S3::Bucket.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" - }, - "QueueConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" - }, - "type": "array" - }, - "TopicConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockConfiguration": { - "additionalProperties": false, - "properties": { - "ObjectLockEnabled": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockRule": { - "additionalProperties": false, - "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControls": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControlsRule": { - "additionalProperties": false, - "properties": { - "ObjectOwnership": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Queue": { - "type": "string" - } - }, - "required": [ - "Event", - "Queue" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "HostName" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectRule": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "HttpRedirectCode": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ReplaceKeyPrefixWith": { - "type": "string" - }, - "ReplaceKeyWith": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Role": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Role", - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { - "type": "string" - }, - "Bucket": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" - }, - "StorageClass": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRule": { - "additionalProperties": false, - "properties": { - "DeleteMarkerReplication": { - "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" - }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" - }, - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Destination", - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { - "additionalProperties": false, - "properties": { - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleFilter": { - "additionalProperties": false, - "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" - }, - "Prefix": { - "type": "string" - }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTime": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - } - }, - "required": [ - "Status", - "Time" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTimeValue": { - "additionalProperties": false, - "properties": { - "Minutes": { - "type": "number" - } - }, - "required": [ - "Minutes" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRule": { - "additionalProperties": false, - "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" - }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" - } - }, - "required": [ - "RedirectRule" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRuleCondition": { - "additionalProperties": false, - "properties": { - "HttpErrorCodeReturnedEquals": { - "type": "string" - }, - "KeyPrefixEquals": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "ExpiredObjectDeleteMarker": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "NoncurrentVersionExpirationInDays": { - "type": "number" - }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.S3KeyFilter": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyID": { - "type": "string" - }, - "SSEAlgorithm": { - "type": "string" - } - }, - "required": [ - "SSEAlgorithm" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "BucketKeyEnabled": { - "type": "boolean" - }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SourceSelectionCriteria": { - "additionalProperties": false, - "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.Tiering": { - "additionalProperties": false, - "properties": { - "AccessTier": { - "type": "string" - }, - "Days": { - "type": "number" - } - }, - "required": [ - "AccessTier", - "Days" - ], - "type": "object" - }, - "AWS::S3::Bucket.TopicConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "Event", - "Topic" - ], - "type": "object" - }, - "AWS::S3::Bucket.Transition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionDate": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass" - ], - "type": "object" - }, - "AWS::S3::Bucket.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.WebsiteConfiguration": { - "additionalProperties": false, - "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" - }, - "RoutingRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StorageLensConfiguration": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StorageLensConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::StorageLens" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens.AccountLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "BucketLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" - } - }, - "required": [ - "BucketLevel" - ], - "type": "object" - }, - "AWS::S3::StorageLens.ActivityMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AwsOrg": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::S3::StorageLens.BucketLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "PrefixLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.BucketsAndRegions": { - "additionalProperties": false, - "properties": { - "Buckets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.DataExport": { - "additionalProperties": false, - "properties": { - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" - } - }, - "required": [ - "S3BucketDestination" - ], - "type": "object" - }, - "AWS::S3::StorageLens.Encryption": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevel": { - "additionalProperties": false, - "properties": { - "StorageMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" - } - }, - "required": [ - "StorageMetrics" - ], - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - }, - "SelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.S3BucketDestination": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "Arn": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" - }, - "Format": { - "type": "string" - }, - "OutputSchemaVersion": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "AccountId", - "Arn", - "Format", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SelectionCriteria": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "MaxDepth": { - "type": "number" - }, - "MinStorageBytesPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensConfiguration": { - "additionalProperties": false, - "properties": { - "AccountLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" - }, - "AwsOrg": { - "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" - }, - "DataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" - }, - "Exclude": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "Id": { - "type": "string" - }, - "Include": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "IsEnabled": { - "type": "boolean" - }, - "StorageLensArn": { - "type": "string" - } - }, - "required": [ - "AccountLevel", - "Id", - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectLambdaConfiguration": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedFeatures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "SupportingAccessPoint": { - "type": "string" - }, - "TransformationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SupportingAccessPoint", - "TransformationConfigurations" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentTransformation": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPointPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ObjectLambdaAccessPoint": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "ObjectLambdaAccessPoint", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket", - "Name", - "VpcConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" - }, - "OutpostId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BucketName", - "OutpostId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "Filter": { - "type": "object" - }, - "Id": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessType": { - "type": "string" - }, - "CustomerOwnedIpv4Pool": { - "type": "string" - }, - "OutpostId": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "OutpostId", - "SecurityGroupId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint.NetworkInterface": { - "additionalProperties": false, - "properties": { - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "NetworkInterfaceId" - ], - "type": "object" - }, - "AWS::SDB::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SDB::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamARN", - "IAMRoleARN" - ], - "type": "object" - }, - "AWS::SES::ContactList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactListName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Topics": { - "items": { - "$ref": "#/definitions/AWS::SES::ContactList.Topic" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ContactList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ContactList.Topic": { - "additionalProperties": false, - "properties": { - "DefaultSubscriptionStatus": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "TopicName": { - "type": "string" - } - }, - "required": [ - "DefaultSubscriptionStatus", - "DisplayName", - "TopicName" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" - } - }, - "required": [ - "Filter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.Filter": { - "additionalProperties": false, - "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Policy": { - "type": "string" - } - }, - "required": [ - "Cidr", - "Policy" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "After": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "Rule", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Action": { - "additionalProperties": false, - "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" - }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.AddHeaderAction": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.BounceAction": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Sender": { - "type": "string" - }, - "SmtpReplyCode": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Message", - "Sender", - "SmtpReplyCode" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "InvocationType": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Rule": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScanEnabled": { - "type": "boolean" - }, - "TlsPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "ObjectKeyPrefix": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.SNSAction": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { - "additionalProperties": false, - "properties": { - "Scope": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Scope" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.WorkmailAction": { - "additionalProperties": false, - "properties": { - "OrganizationArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "OrganizationArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template.Template": { - "additionalProperties": false, - "properties": { - "HtmlPart": { - "type": "string" - }, - "SubjectPart": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SNS::Subscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SNS::Topic": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { - "type": "string" - }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Topic" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SNS::Topic.Subscription": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Protocol" - ], - "type": "object" - }, - "AWS::SNS::TopicPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Topics" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::TopicPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SQS::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DeduplicationScope": { - "type": "string" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "FifoThroughputLimit": { - "type": "string" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { - "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SQS::QueuePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Queues" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::QueuePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" - }, - "AssociationName": { - "type": "string" - }, - "AutomationTargetParameterName": { - "type": "string" - }, - "CalendarNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ComplianceSeverity": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "ScheduleExpression": { - "type": "string" - }, - "SyncCompliance": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Association" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" - } - }, - "type": "object" - }, - "AWS::SSM::Association.S3OutputLocation": { - "additionalProperties": false, - "properties": { - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "OutputS3Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::Association.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::Document": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attachments": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" - }, - "type": "array" - }, - "Content": { - "type": "object" - }, - "DocumentFormat": { - "type": "string" - }, - "DocumentType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Requires": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "VersionName": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Document" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Document.AttachmentsSource": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::Document.DocumentRequires": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Duration": { - "type": "number" - }, - "EndDate": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleTimezone": { - "type": "string" - }, - "StartDate": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerInformation": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" - }, - "type": "array" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "Targets", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" - }, - "type": "array" - }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { - "type": "string" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "Priority", - "TaskArn", - "TaskType", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - } - }, - "required": [ - "Region", - "S3Bucket" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { - "additionalProperties": false, - "properties": { - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { - "additionalProperties": false, - "properties": { - "ClientContext": { - "type": "string" - }, - "Payload": { - "type": "string" - }, - "Qualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" - }, - "DocumentHashType": { - "type": "string" - }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" - }, - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TimeoutSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { - "additionalProperties": false, - "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NotificationType": { - "type": "string" - } - }, - "required": [ - "NotificationArn" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" - }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" - } - }, - "type": "object" - }, - "AWS::SSM::Parameter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - }, - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatchesAction": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::PatchBaseline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { - "additionalProperties": false, - "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchSource": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchStringDate": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SSM::PatchBaseline.Rule": { - "additionalProperties": false, - "properties": { - "ApproveAfterDays": { - "type": "number" - }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" - }, - "ComplianceLevel": { - "type": "string" - }, - "EnableNonSecurity": { - "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.RuleGroup": { - "additionalProperties": false, - "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::ResourceDataSync": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" - }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" - }, - "SyncType": { - "type": "string" - } - }, - "required": [ - "SyncName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::ResourceDataSync" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { - "additionalProperties": false, - "properties": { - "OrganizationSourceType": { - "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OrganizationSourceType" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "SyncFormat": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.SyncSource": { - "additionalProperties": false, - "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SourceRegions", - "SourceType" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "Plan": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Alias", - "DisplayName", - "Plan", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::Contact" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ChannelTargetInfo": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - }, - "RetryIntervalInMinutes": { - "type": "number" - } - }, - "required": [ - "ChannelId", - "RetryIntervalInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ContactTargetInfo": { - "additionalProperties": false, - "properties": { - "ContactId": { - "type": "string" - }, - "IsEssential": { - "type": "boolean" - } - }, - "required": [ - "ContactId", - "IsEssential" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Stage": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "type": "number" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" - }, - "type": "array" - } - }, - "required": [ - "DurationInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Targets": { - "additionalProperties": false, - "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" - }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" - } - }, - "type": "object" - }, - "AWS::SSMContacts::ContactChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelAddress": { - "type": "string" - }, - "ChannelName": { - "type": "string" - }, - "ChannelType": { - "type": "string" - }, - "ContactId": { - "type": "string" - }, - "DeferActivation": { - "type": "boolean" - } - }, - "required": [ - "ChannelAddress", - "ChannelName", - "ChannelType", - "ContactId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::ContactChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtected": { - "type": "boolean" - }, - "Regions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" - }, - "type": "array" - } - }, - "required": [ - "Regions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ReplicationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { - "additionalProperties": false, - "properties": { - "SseKmsKeyId": { - "type": "string" - } - }, - "required": [ - "SseKmsKeyId" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { - "additionalProperties": false, - "properties": { - "RegionConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" - }, - "RegionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" - }, - "type": "array" - }, - "ChatChannel": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" - }, - "DisplayName": { - "type": "string" - }, - "Engagements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncidentTemplate": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IncidentTemplate", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ResponsePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.Action": { - "additionalProperties": false, - "properties": { - "SsmAutomation": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.ChatChannel": { - "additionalProperties": false, - "properties": { - "ChatbotSns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { - "additionalProperties": false, - "properties": { - "DedupeString": { - "type": "string" - }, - "Impact": { - "type": "number" - }, - "NotificationTargets": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" - }, - "type": "array" - }, - "Summary": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "required": [ - "Impact", - "Title" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { - "additionalProperties": false, - "properties": { - "SnsTopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { - "additionalProperties": false, - "properties": { - "DocumentName": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TargetAccount": { - "type": "string" - } - }, - "required": [ - "DocumentName", - "RoleArn" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSO::Assignment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceArn": { - "type": "string" - }, - "PermissionSetArn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::Assignment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessControlAttributes": { - "items": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" - }, - "type": "array" - }, - "InstanceArn": { - "type": "string" - } - }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { - "additionalProperties": false, - "properties": { - "Source": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::SSO::PermissionSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InlinePolicy": { - "type": "object" - }, - "InstanceArn": { - "type": "string" - }, - "ManagedPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::PermissionSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppName": { - "type": "string" - }, - "AppType": { - "type": "string" - }, - "DomainId": { - "type": "string" - }, - "ResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - } - }, - "required": [ - "AppName", - "AppType", - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "KernelGatewayImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppImageConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::AppImageConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "DefaultGid": { - "type": "number" - }, - "DefaultUid": { - "type": "number" - }, - "MountPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { - "additionalProperties": false, - "properties": { - "FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" - }, - "KernelSpecs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" - }, - "type": "array" - } - }, - "required": [ - "KernelSpecs" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelSpec": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeRepositoryName": { - "type": "string" - }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GitConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::CodeRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" - }, - "DataQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" - }, - "DataQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" - }, - "DataQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" - }, - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataQualityAppSpecification", - "DataQualityJobInput", - "DataQualityJobOutputConfig", - "JobResources", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "object" - }, - "DeviceFleetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Device.Device": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceName": { - "type": "string" - }, - "IotThingName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceFleetName": { - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName", - "OutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DeviceFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3OutputLocation": { - "type": "string" - } - }, - "required": [ - "S3OutputLocation" - ], - "type": "object" - }, - "AWS::SageMaker::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppNetworkAccessType": { - "type": "string" - }, - "AuthMode": { - "type": "string" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" - }, - "DomainName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.AutoRollbackConfig": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" - }, - "type": "array" - } - }, - "required": [ - "Alarms" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { - "additionalProperties": false, - "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "number" - }, - "TerminationWaitInSeconds": { - "type": "number" - }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" - } - }, - "required": [ - "TrafficRoutingConfiguration" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.CapacitySize": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.DeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" - }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" - } - }, - "required": [ - "BlueGreenUpdatePolicy" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { - "additionalProperties": false, - "properties": { - "CanarySize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" - }, - "Type": { - "type": "string" - }, - "WaitIntervalInSeconds": { - "type": "number" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProductionVariants" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::EndpointConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { - "additionalProperties": false, - "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { - "additionalProperties": false, - "properties": { - "CaptureMode": { - "type": "string" - } - }, - "required": [ - "CaptureMode" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { - "additionalProperties": false, - "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" - }, - "type": "array" - }, - "DestinationS3Uri": { - "type": "string" - }, - "EnableCapture": { - "type": "boolean" - }, - "InitialSamplingPercentage": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - } - }, - "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { - "additionalProperties": false, - "properties": { - "AcceleratorType": { - "type": "string" - }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "VariantName": { - "type": "string" - } - }, - "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventTimeFeatureName": { - "type": "string" - }, - "FeatureDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" - }, - "type": "array" - }, - "FeatureGroupName": { - "type": "string" - }, - "OfflineStoreConfig": { - "type": "object" - }, - "OnlineStoreConfig": { - "type": "object" - }, - "RecordIdentifierFeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventTimeFeatureName", - "FeatureDefinitions", - "FeatureGroupName", - "RecordIdentifierFeatureName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::FeatureGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.FeatureDefinition": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "FeatureType": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "FeatureType" - ], - "type": "object" - }, - "AWS::SageMaker::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImageDescription": { - "type": "string" - }, - "ImageDisplayName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ImageName", - "ImageRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ImageVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaseImage": { - "type": "string" - }, - "ImageName": { - "type": "string" - } - }, - "required": [ - "BaseImage", - "ImageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ImageVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "type": "array" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" - } - }, - "required": [ - "ExecutionRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { - "type": "string" - }, - "ModelDataUrl": { - "type": "string" - }, - "ModelPackageName": { - "type": "string" - }, - "MultiModelConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.ImageConfig": { - "additionalProperties": false, - "properties": { - "RepositoryAccessMode": { - "type": "string" - }, - "RepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" - } - }, - "required": [ - "RepositoryAccessMode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.MultiModelConfig": { - "additionalProperties": false, - "properties": { - "ModelCacheSetting": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.RepositoryAuthConfig": { - "additionalProperties": false, - "properties": { - "RepositoryCredentialsProviderArn": { - "type": "string" - } - }, - "required": [ - "RepositoryCredentialsProviderArn" - ], - "type": "object" - }, - "AWS::SageMaker::Model.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" - }, - "ModelBiasAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" - }, - "ModelBiasBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" - }, - "ModelBiasJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" - }, - "ModelBiasJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelBiasAppSpecification", - "ModelBiasJobInput", - "ModelBiasJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" - }, - "ModelExplainabilityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" - }, - "ModelExplainabilityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" - }, - "ModelExplainabilityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" - }, - "ModelExplainabilityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelExplainabilityAppSpecification", - "ModelExplainabilityJobInput", - "ModelExplainabilityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelPackageGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModelPackageGroupDescription": { - "type": "string" - }, - "ModelPackageGroupName": { - "type": "string" - }, - "ModelPackageGroupPolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ModelPackageGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelPackageGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" - }, - "ModelQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" - }, - "ModelQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" - }, - "ModelQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" - }, - "ModelQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelQualityAppSpecification", - "ModelQualityJobInput", - "ModelQualityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "ProblemType": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri", - "ProblemType" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" - }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "MonitoringScheduleStatus": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::MonitoringSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { - "additionalProperties": false, - "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { - "additionalProperties": false, - "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastModifiedTime": { - "type": "string" - }, - "MonitoringExecutionStatus": { - "type": "string" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "ProcessingJobArn": { - "type": "string" - }, - "ScheduledTime": { - "type": "string" - } - }, - "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { - "additionalProperties": false, - "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" - }, - "MonitoringJobDefinitionName": { - "type": "string" - }, - "MonitoringType": { - "type": "string" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineDefinition": { - "type": "object" - }, - "PipelineDescription": { - "type": "string" - }, - "PipelineDisplayName": { - "type": "string" - }, - "PipelineName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineDefinition", - "PipelineName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "ServiceCatalogProvisioningDetails": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProjectName", - "ServiceCatalogProvisioningDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainId": { - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "type": "string" - }, - "SingleSignOnUserValue": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" - } - }, - "required": [ - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlockPublicPolicy": { - "type": "boolean" - }, - "ResourcePolicy": { - "type": "object" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "ResourcePolicy", - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "SecretId", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Api": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::Api.Auth" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" - }, - "Cors": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" - } - ] - }, - "DefinitionBody": { - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" - }, - "GatewayResponses": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MethodSettings": { - "items": { - "type": "object" - }, - "type": "array" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "Models": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "OpenApiVersion": { - "type": "string" - }, - "StageName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "StageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::Api" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Api.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Api.Auth": { - "additionalProperties": false, - "properties": { - "Authorizers": { - "type": "object" - }, - "DefaultAuthorizer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Api.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::Serverless::Api.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "type": "string" - }, - "AllowMethods": { - "type": "string" - }, - "AllowOrigin": { - "type": "string" - }, - "MaxAge": { - "type": "string" - } - }, - "required": [ - "AllowOrigin" - ], - "type": "object" - }, - "AWS::Serverless::Api.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "VpcEndpointIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Serverless::Api.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key", - "Version" - ], - "type": "object" - }, - "AWS::Serverless::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Location": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" - } - ] - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Application.ApplicationLocation": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "SemanticVersion": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "SemanticVersion" - ], - "type": "object" - }, - "AWS::Serverless::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "AutoPublishAlias": { - "type": "string" - }, - "AutoPublishCodeSha256": { - "type": "string" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "CodeUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Location" - } - ] - }, - "DeadLetterQueue": { - "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" - }, - "DeploymentPreference": { - "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" - }, - "EventInvokeConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::Function.EventSource" - } - }, - "type": "object" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" - }, - "ImageUri": { - "type": "string" - }, - "InlineCode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "Tracing": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Function.AlexaSkillEvent": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.ApiEvent": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::Serverless::Function.Auth" - }, - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::Function.Auth": { - "additionalProperties": false, - "properties": { - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Authorizer": { - "type": "string" - }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.AuthResourcePolicy" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.AuthResourcePolicy": { - "additionalProperties": false, - "properties": { - "AwsAccountBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AwsAccountWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomStatements": { - "items": { - "type": "object" - }, - "type": "array" - }, - "IntrinsicVpcBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IntrinsicVpcWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IntrinsicVpceBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IntrinsicVpceWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IpRangeBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IpRangeWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceVpcBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceVpcWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.BucketSAMPT": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchLogsEvent": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - } - }, - "required": [ - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CollectionSAMPT": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "type": "string" - } - }, - "required": [ - "CollectionId" - ], - "type": "object" - }, - "AWS::Serverless::Function.DeadLetterQueue": { - "additionalProperties": false, - "properties": { - "TargetArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "TargetArn", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Function.DeploymentPreference": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Hooks": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Role": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.Destination": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Serverless::Function.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Serverless::Function.Destination" - }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Serverless::Function.Destination" - } - }, - "required": [ - "OnFailure", - "OnSuccess" - ], - "type": "object" - }, - "AWS::Serverless::Function.DomainSAMPT": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "AWS::Serverless::Function.DynamoDBEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "StartingPosition": { - "type": "string" - }, - "Stream": { - "type": "string" - } - }, - "required": [ - "StartingPosition", - "Stream" - ], - "type": "object" - }, - "AWS::Serverless::Function.EmptySAMPT": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Serverless::Function.EventBridgeRuleEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.EventInvokeConfig": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Event" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" - } - ] - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Properties", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Function.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "LocalMountPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.FunctionEnvironment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Variables" - ], - "type": "object" - }, - "AWS::Serverless::Function.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::Function.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { - "type": "object" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::Serverless::Function.IdentitySAMPT": { - "additionalProperties": false, - "properties": { - "IdentityName": { - "type": "string" - } - }, - "required": [ - "IdentityName" - ], - "type": "object" - }, - "AWS::Serverless::Function.ImageConfig": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.IoTRuleEvent": { - "additionalProperties": false, - "properties": { - "AwsIotSqlVersion": { - "type": "string" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Sql" - ], - "type": "object" - }, - "AWS::Serverless::Function.KeySAMPT": { - "additionalProperties": false, - "properties": { - "KeyId": { - "type": "string" - } - }, - "required": [ - "KeyId" - ], - "type": "object" - }, - "AWS::Serverless::Function.KinesisEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "StartingPosition": { - "type": "string" - }, - "Stream": { - "type": "string" - } - }, - "required": [ - "StartingPosition", - "Stream" - ], - "type": "object" - }, - "AWS::Serverless::Function.LogGroupSAMPT": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "required": [ - "LogGroupName" - ], - "type": "object" - }, - "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "string" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::Serverless::Function.QueueSAMPT": { - "additionalProperties": false, - "properties": { - "QueueName": { - "type": "string" - } - }, - "required": [ - "QueueName" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3Event": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Events": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - }, - "Filter": { - "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" - } - }, - "required": [ - "Bucket", - "Events" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3KeyFilter": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3KeyFilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::Serverless::Function.SAMPolicyTemplate": { - "additionalProperties": false, - "properties": { - "AMIDescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudFormationDescribeStacksPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudWatchPutMetricPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "DynamoDBCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" - }, - "EC2DescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "ElasticsearchHttpPostPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" - }, - "FilterLogEventsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" - }, - "KMSDecryptPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" - }, - "KinesisCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, - "KinesisStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, - "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" - }, - "RekognitionDetectOnlyPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionLabelsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionNoDataAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionWriteOnlyAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "S3CrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "S3ReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "SESBulkTemplatedCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESEmailTemplateCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "SESSendBouncePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SNSCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SNSPublishMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SQSPollerPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" - }, - "SQSSendMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" - }, - "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" - }, - "VPCAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.SNSEvent": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - } - }, - "required": [ - "Topic" - ], - "type": "object" - }, - "AWS::Serverless::Function.SQSEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "Queue": { - "type": "string" - } - }, - "required": [ - "Queue" - ], - "type": "object" - }, - "AWS::Serverless::Function.ScheduleEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Schedule": { - "type": "string" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::Serverless::Function.StateMachineSAMPT": { - "additionalProperties": false, - "properties": { - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "StateMachineName" - ], - "type": "object" - }, - "AWS::Serverless::Function.StreamSAMPT": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "required": [ - "StreamName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TableSAMPT": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TableStreamSAMPT": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "StreamName", - "TableName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TopicSAMPT": { - "additionalProperties": false, - "properties": { - "TopicName": { - "type": "string" - } - }, - "required": [ - "TopicName" - ], - "type": "object" - }, - "AWS::Serverless::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Serverless::HttpApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" - }, - "CorsConfiguration": { - "anyOf": [ - { - "type": [ - "boolean" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" - } - ] - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "DefinitionBody": { - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "Domain": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "RouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "StageName": { - "type": "string" - }, - "StageVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::HttpApi" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::HttpApi.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.CorsConfigurationObject": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "type": "string" - }, - "AllowMethods": { - "type": "string" - }, - "AllowOrigin": { - "type": "string" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAge": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.HttpApiAuth": { - "additionalProperties": false, - "properties": { - "Authorizers": { - "type": "object" - }, - "DefaultAuthorizer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.HttpApiDomainConfiguration": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "type": "string" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.MutualTlsAuthentication" - }, - "Route53": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" - }, - "SecurityPolicy": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "DomainName" - ], - "type": "object" - }, - "AWS::Serverless::HttpApi.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.Route53Configuration": { - "additionalProperties": false, - "properties": { - "DistributedDomainName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "IpV6": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key", - "Version" - ], - "type": "object" - }, - "AWS::Serverless::LayerVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::LayerVersion.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "LayerName": { - "type": "string" - }, - "LicenseInfo": { - "type": "string" - }, - "RetentionPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::LayerVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::LayerVersion.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PrimaryKey": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::SimpleTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.PrimaryKey": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Serverless::StateMachine": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Definition": { - "type": "object" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" - } - ] - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" - } - }, - "type": "object" - }, - "Logging": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" - }, - "Name": { - "type": "string" - }, - "PermissionsBoundaries": { - "type": "string" - }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "Role": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tracing": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.TracingConfiguration" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::StateMachine" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.ApiEvent": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "required": [ - "LogGroupArn" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" - } - ] - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Properties", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { - "type": "object" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" - } - }, - "required": [ - "CloudWatchLogsLogGroup" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "required": [ - "Destinations", - "IncludeExecutionData", - "Level" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.SAMPolicyTemplate": { - "additionalProperties": false, - "properties": { - "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" - }, - "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::StateMachine.ScheduleEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Schedule": { - "type": "string" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.StateMachineSAMPT": { - "additionalProperties": false, - "properties": { - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "StateMachineName" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.TracingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { - "type": "string" - }, - "SupportUrl": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ProvisioningArtifactName": { - "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - } - }, - "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocalRoleName": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::Portfolio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DisplayName", - "ProviderName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::Portfolio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "SourcePortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountId": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ShareTagOptions": { - "type": "boolean" - } - }, - "required": [ - "AccountId", - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "TagUpdateOnProvisionedProduct": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Definition": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" - }, - "type": "array" - }, - "DefinitionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Definition", - "DefinitionType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceActionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProductId": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ServiceActionId": { - "type": "string" - } - }, - "required": [ - "ProductId", - "ProvisioningArtifactId", - "ServiceActionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceActionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::StackSetConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { - "type": "string" - } - }, - "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Active": { - "type": "boolean" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOptionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - }, - "TagOptionId": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "TagOptionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Attributes", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "AttributeGroup": { - "type": "string" - } - }, - "required": [ - "Application", - "AttributeGroup" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "Application", - "Resource", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::ResourceAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::HttpNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { - "type": "string" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "InstanceAttributes", - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Vpc": { - "type": "string" - } - }, - "required": [ - "Name", - "Vpc" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { - "type": "string" - }, - "NamespaceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsConfig": { - "additionalProperties": false, - "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Signer::ProfilePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "Action", - "Principal", - "ProfileName", - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::ProfilePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PlatformId": { - "type": "string" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PlatformId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::SigningProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile.SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::StepFunctions::Activity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::Activity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::Activity.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Definition": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" - }, - "DefinitionS3Location": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" - }, - "DefinitionString": { - "type": "string" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - }, - "StateMachineType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" - }, - "type": "array" - }, - "TracingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::StateMachine" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.Definition": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TracingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactS3Location": { - "type": "string" - }, - "Code": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Code" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FailureRetentionPeriod": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RunConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" - }, - "RuntimeVersion": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" - }, - "StartCanaryAfterCreation": { - "type": "boolean" - }, - "SuccessRetentionPeriod": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" - }, - "VisualReference": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" - } - }, - "required": [ - "ArtifactS3Location", - "Code", - "ExecutionRoleArn", - "Name", - "RuntimeVersion", - "Schedule", - "StartCanaryAfterCreation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Synthetics::Canary" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.BaseScreenshot": { - "additionalProperties": false, - "properties": { - "IgnoreCoordinates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScreenshotName": { - "type": "string" - } - }, - "required": [ - "ScreenshotName" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.Code": { - "additionalProperties": false, - "properties": { - "Handler": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "required": [ - "Handler" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.RunConfig": { - "additionalProperties": false, - "properties": { - "ActiveTracing": { - "type": "boolean" - }, - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MemoryInMB": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary.Schedule": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VPCConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VisualReference": { - "additionalProperties": false, - "properties": { - "BaseCanaryRunId": { - "type": "string" - }, - "BaseScreenshots": { - "items": { - "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" - }, - "type": "array" - } - }, - "required": [ - "BaseCanaryRunId" - ], - "type": "object" - }, - "AWS::Timestream::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Timestream::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "RetentionProperties": { - "type": "object" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Domain": { - "type": "string" - }, - "EndpointDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" - }, - "EndpointType": { - "type": "string" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" - }, - "IdentityProviderType": { - "type": "string" - }, - "LoggingRole": { - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" - }, - "Protocols": { - "items": { - "$ref": "#/definitions/AWS::Transfer::Server.Protocol" - }, - "type": "array" - }, - "SecurityPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Transfer::Server.EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - }, - "InvocationRole": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.Protocol": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Transfer::Server.ProtocolDetails": { - "additionalProperties": false, - "properties": { - "PassiveIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HomeDirectory": { - "type": "string" - }, - "HomeDirectoryMappings": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" - }, - "type": "array" - }, - "HomeDirectoryType": { - "type": "string" - }, - "Policy": { - "type": "string" - }, - "PosixProfile": { - "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" - }, - "Role": { - "type": "string" - }, - "ServerId": { - "type": "string" - }, - "SshPublicKeys": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Role", - "ServerId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::User.HomeDirectoryMapEntry": { - "additionalProperties": false, - "properties": { - "Entry": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Entry", - "Target" - ], - "type": "object" - }, - "AWS::Transfer::User.PosixProfile": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "SecondaryGids": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Uid": { - "type": "number" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::Transfer::User.SshPublicKey": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::WAF::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAF::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAF::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name", - "SizeConstraints" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::WebACL.ActivatedRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAF::WebACL.WafAction": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name", - "XssMatchTuples" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeoMatchConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::GeoMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MatchPredicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RateKey": { - "type": "string" - }, - "RateLimit": { - "type": "number" - } - }, - "required": [ - "MetricName", - "Name", - "RateKey", - "RateLimit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RateBasedRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RegexPatternStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "RegexPatternStrings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Action": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Action", - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFv2::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "IPAddressVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Addresses", - "IPAddressVersion", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RegularExpressionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RegularExpressionList", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Capacity", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelSummary": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "type": "object" - }, - "Block": { - "type": "object" - }, - "Count": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" - } - }, - "type": "object" - }, - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "DefaultAction", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.AllowAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.BlockAction": { - "additionalProperties": false, - "properties": { - "CustomResponse": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CountAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomHTTPHeader": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomRequestHandling": { - "additionalProperties": false, - "properties": { - "InsertHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "InsertHeaders" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponse": { - "additionalProperties": false, - "properties": { - "CustomResponseBodyKey": { - "type": "string" - }, - "ResponseCode": { - "type": "number" - }, - "ResponseHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "ResponseCode" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.DefaultAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ExcludedRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { - "additionalProperties": false, - "properties": { - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VendorName": { - "type": "string" - } - }, - "required": [ - "Name", - "VendorName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OverrideAction": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "object" - }, - "None": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" - }, - "Name": { - "type": "string" - }, - "OverrideAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - }, - "Count": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" - }, - "ManagedRuleGroupStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" - }, - "RuleGroupReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::ConnectionAlias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { - "additionalProperties": false, - "properties": { - "AssociatedAccountId": { - "type": "string" - }, - "AssociationStatus": { - "type": "string" - }, - "ConnectionIdentifier": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WorkSpaces::Workspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BundleId": { - "type": "string" - }, - "DirectoryId": { - "type": "string" - }, - "RootVolumeEncryptionEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - }, - "UserVolumeEncryptionEnabled": { - "type": "boolean" - }, - "VolumeEncryptionKey": { - "type": "string" - }, - "WorkspaceProperties": { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" - } - }, - "required": [ - "BundleId", - "DirectoryId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::Workspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::Workspace.WorkspaceProperties": { - "additionalProperties": false, - "properties": { - "ComputeTypeName": { - "type": "string" - }, - "RootVolumeSizeGib": { - "type": "number" - }, - "RunningMode": { - "type": "string" - }, - "RunningModeAutoStopTimeoutInMinutes": { - "type": "number" - }, - "UserVolumeSizeGib": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterExpression": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "InsightsConfiguration": { - "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::Group.InsightsConfiguration": { - "additionalProperties": false, - "properties": { - "InsightsEnabled": { - "type": "boolean" - }, - "NotificationsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::SamplingRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRule": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" - }, - "SkillPackage": { - "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" - }, - "VendorId": { - "type": "string" - } - }, - "required": [ - "AuthenticationConfiguration", - "SkillPackage", - "VendorId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "Alexa::ASK::Skill" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "Alexa::ASK::Skill.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret", - "RefreshToken" - ], - "type": "object" - }, - "Alexa::ASK::Skill.Overrides": { - "additionalProperties": false, - "properties": { - "Manifest": { - "type": "object" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill.SkillPackage": { - "additionalProperties": false, - "properties": { - "Overrides": { - "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" - }, - "S3Bucket": { - "type": "string" - }, - "S3BucketRole": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "Parameter": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "AllowedValues": { - "type": "array" - }, - "ConstraintDescription": { - "type": "string" - }, - "Default": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MaxLength": { - "type": "string" - }, - "MaxValue": { - "type": "string" - }, - "MinLength": { - "type": "string" - }, - "MinValue": { - "type": "string" - }, - "NoEcho": { - "type": [ - "string", - "boolean" - ] - }, - "Type": { - "enum": [ - "String", - "Number", - "List\u003cNumber\u003e", - "CommaDelimitedList", - "AWS::EC2::AvailabilityZone::Name", - "AWS::EC2::Image::Id", - "AWS::EC2::Instance::Id", - "AWS::EC2::KeyPair::KeyName", - "AWS::EC2::SecurityGroup::GroupName", - "AWS::EC2::SecurityGroup::Id", - "AWS::EC2::Subnet::Id", - "AWS::EC2::Volume::Id", - "AWS::EC2::VPC::Id", - "AWS::Route53::HostedZone::Id", - "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "List\u003cAWS::EC2::Image::Id\u003e", - "List\u003cAWS::EC2::Instance::Id\u003e", - "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "List\u003cAWS::EC2::SecurityGroup::Id\u003e", - "List\u003cAWS::EC2::Subnet::Id\u003e", - "List\u003cAWS::EC2::Volume::Id\u003e", - "List\u003cAWS::EC2::VPC::Id\u003e", - "List\u003cAWS::Route53::HostedZone::Id\u003e", - "List\u003cString\u003e", - "AWS::SSM::Parameter::Name", - "AWS::SSM::Parameter::Value\u003cString\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "properties": { - "AWSTemplateFormatVersion": { - "enum": [ - "2010-09-09" - ], - "type": "string" - }, - "Conditions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Description": { - "description": "Template description", - "maxLength": 1024, - "type": "string" - }, - "Globals": { - "additionalProperties": false, - "properties": { - "Api": { - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::Api.Auth" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" - }, - "Cors": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" - } - ] - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" - }, - "GatewayResponses": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MethodSettings": { - "items": { - "type": "object" - }, - "type": "array" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "Models": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "OpenApiVersion": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - } - }, - "Function": { - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "AutoPublishAlias": { - "type": "string" - }, - "AutoPublishCodeSha256": { - "type": "string" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "CodeUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Location" - } - ] - }, - "DeadLetterQueue": { - "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" - }, - "DeploymentPreference": { - "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" - }, - "EventInvokeConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" - }, - "ImageUri": { - "type": "string" - }, - "InlineCode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "Tracing": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" - } - } - }, - "HttpApi": { - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" - }, - "CorsConfiguration": { - "anyOf": [ - { - "type": [ - "boolean" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" - } - ] - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "Domain": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "RouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "StageVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - } - }, - "SimpleTable": { - "properties": { - "SSESpecification": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" - } - } - } - }, - "type": "object" - }, - "Mappings": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Metadata": { - "type": "object" - }, - "Outputs": { - "additionalProperties": false, - "maxProperties": 60, - "minProperties": 1, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Parameters": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/Parameter" - } - }, - "type": "object" - }, - "Resources": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::ACMPCA::Certificate" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" - }, - { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Broker" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" - }, - { - "$ref": "#/definitions/AWS::Amplify::App" - }, - { - "$ref": "#/definitions/AWS::Amplify::Branch" - }, - { - "$ref": "#/definitions/AWS::Amplify::Domain" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Account" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Method" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Resource" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RestApi" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::VpcLink" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Route" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Application" - }, - { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Deployment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Environment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" - }, - { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" - }, - { - "$ref": "#/definitions/AWS::AppFlow::Flow" - }, - { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" - }, - { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Mesh" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Route" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualService" - }, - { - "$ref": "#/definitions/AWS::AppRunner::Service" - }, - { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" - }, - { - "$ref": "#/definitions/AWS::AppStream::Fleet" - }, - { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder" - }, - { - "$ref": "#/definitions/AWS::AppStream::Stack" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::User" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiCache" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiKey" - }, - { - "$ref": "#/definitions/AWS::AppSync::DataSource" - }, - { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" - }, - { - "$ref": "#/definitions/AWS::AppSync::Resolver" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::ApplicationInsights::Application" - }, - { - "$ref": "#/definitions/AWS::Athena::DataCatalog" - }, - { - "$ref": "#/definitions/AWS::Athena::NamedQuery" - }, - { - "$ref": "#/definitions/AWS::Athena::PreparedStatement" - }, - { - "$ref": "#/definitions/AWS::Athena::WorkGroup" - }, - { - "$ref": "#/definitions/AWS::AuditManager::Assessment" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::WarmPool" - }, - { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupSelection" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupVault" - }, - { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" - }, - { - "$ref": "#/definitions/AWS::Batch::JobDefinition" - }, - { - "$ref": "#/definitions/AWS::Batch::JobQueue" - }, - { - "$ref": "#/definitions/AWS::Budgets::Budget" - }, - { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalyMonitor" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalySubscription" - }, - { - "$ref": "#/definitions/AWS::CE::CostCategory" - }, - { - "$ref": "#/definitions/AWS::CUR::ReportDefinition" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Keyspace" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Table" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Account" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Certificate" - }, - { - "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" - }, - { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::CustomResource" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Macro" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Publisher" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Stack" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::StackSet" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Distribution" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Function" - }, - { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup" - }, - { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::PublicKey" - }, - { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" - }, - { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" - }, - { - "$ref": "#/definitions/AWS::CloudTrail::Trail" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Alarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Dashboard" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Domain" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::Project" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" - }, - { - "$ref": "#/definitions/AWS::CodeCommit::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::Application" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Webhook" - }, - { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" - }, - { - "$ref": "#/definitions/AWS::CodeStarConnections::Connection" - }, - { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" - }, - { - "$ref": "#/definitions/AWS::Config::AggregationAuthorization" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" - }, - { - "$ref": "#/definitions/AWS::Config::ConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::DeliveryChannel" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration" - }, - { - "$ref": "#/definitions/AWS::Config::StoredQuery" - }, - { - "$ref": "#/definitions/AWS::Connect::QuickConnect" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" - }, - { - "$ref": "#/definitions/AWS::DAX::Cluster" - }, - { - "$ref": "#/definitions/AWS::DAX::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DAX::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" - }, - { - "$ref": "#/definitions/AWS::DMS::Certificate" - }, - { - "$ref": "#/definitions/AWS::DMS::Endpoint" - }, - { - "$ref": "#/definitions/AWS::DMS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationInstance" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationTask" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Dataset" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Job" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Project" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Recipe" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Schedule" - }, - { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::DataSync::Agent" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationEFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationNFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationS3" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationSMB" - }, - { - "$ref": "#/definitions/AWS::DataSync::Task" - }, - { - "$ref": "#/definitions/AWS::Detective::Graph" - }, - { - "$ref": "#/definitions/AWS::Detective::MemberInvitation" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBCluster" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBInstance" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::Table" - }, - { - "$ref": "#/definitions/AWS::EC2::CapacityReservation" - }, - { - "$ref": "#/definitions/AWS::EC2::CarrierGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::CustomerGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::DHCPOptions" - }, - { - "$ref": "#/definitions/AWS::EC2::EC2Fleet" - }, - { - "$ref": "#/definitions/AWS::EC2::EIP" - }, - { - "$ref": "#/definitions/AWS::EC2::EIPAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::FlowLog" - }, - { - "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::Host" - }, - { - "$ref": "#/definitions/AWS::EC2::Instance" - }, - { - "$ref": "#/definitions/AWS::EC2::InternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::NatGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAcl" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterface" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" - }, - { - "$ref": "#/definitions/AWS::EC2::PlacementGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::PrefixList" - }, - { - "$ref": "#/definitions/AWS::EC2::Route" - }, - { - "$ref": "#/definitions/AWS::EC2::RouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::EC2::SpotFleet" - }, - { - "$ref": "#/definitions/AWS::EC2::Subnet" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPC" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::Volume" - }, - { - "$ref": "#/definitions/AWS::EC2::VolumeAttachment" - }, - { - "$ref": "#/definitions/AWS::ECR::PublicRepository" - }, - { - "$ref": "#/definitions/AWS::ECR::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" - }, - { - "$ref": "#/definitions/AWS::ECR::Repository" - }, - { - "$ref": "#/definitions/AWS::ECS::CapacityProvider" - }, - { - "$ref": "#/definitions/AWS::ECS::Cluster" - }, - { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" - }, - { - "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" - }, - { - "$ref": "#/definitions/AWS::ECS::Service" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskSet" - }, - { - "$ref": "#/definitions/AWS::EFS::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::EFS::FileSystem" - }, - { - "$ref": "#/definitions/AWS::EFS::MountTarget" - }, - { - "$ref": "#/definitions/AWS::EKS::Addon" - }, - { - "$ref": "#/definitions/AWS::EKS::Cluster" - }, - { - "$ref": "#/definitions/AWS::EKS::FargateProfile" - }, - { - "$ref": "#/definitions/AWS::EKS::Nodegroup" - }, - { - "$ref": "#/definitions/AWS::EMR::Cluster" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::EMR::Step" - }, - { - "$ref": "#/definitions/AWS::EMR::Studio" - }, - { - "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" - }, - { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::User" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::UserGroup" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" - }, - { - "$ref": "#/definitions/AWS::Elasticsearch::Domain" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Registry" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Schema" - }, - { - "$ref": "#/definitions/AWS::Events::ApiDestination" - }, - { - "$ref": "#/definitions/AWS::Events::Archive" - }, - { - "$ref": "#/definitions/AWS::Events::Connection" - }, - { - "$ref": "#/definitions/AWS::Events::EventBus" - }, - { - "$ref": "#/definitions/AWS::Events::EventBusPolicy" - }, - { - "$ref": "#/definitions/AWS::Events::Rule" - }, - { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" - }, - { - "$ref": "#/definitions/AWS::FMS::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::FMS::Policy" - }, - { - "$ref": "#/definitions/AWS::FSx::FileSystem" - }, - { - "$ref": "#/definitions/AWS::FinSpace::Environment" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Detector" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EntityType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EventType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Label" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Outcome" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Variable" - }, - { - "$ref": "#/definitions/AWS::GameLift::Alias" - }, - { - "$ref": "#/definitions/AWS::GameLift::Build" - }, - { - "$ref": "#/definitions/AWS::GameLift::Fleet" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" - }, - { - "$ref": "#/definitions/AWS::GameLift::Script" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" - }, - { - "$ref": "#/definitions/AWS::Glue::Classifier" - }, - { - "$ref": "#/definitions/AWS::Glue::Connection" - }, - { - "$ref": "#/definitions/AWS::Glue::Crawler" - }, - { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" - }, - { - "$ref": "#/definitions/AWS::Glue::Database" - }, - { - "$ref": "#/definitions/AWS::Glue::DevEndpoint" - }, - { - "$ref": "#/definitions/AWS::Glue::Job" - }, - { - "$ref": "#/definitions/AWS::Glue::MLTransform" - }, - { - "$ref": "#/definitions/AWS::Glue::Partition" - }, - { - "$ref": "#/definitions/AWS::Glue::Registry" - }, - { - "$ref": "#/definitions/AWS::Glue::Schema" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersion" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" - }, - { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::Glue::Table" - }, - { - "$ref": "#/definitions/AWS::Glue::Trigger" - }, - { - "$ref": "#/definitions/AWS::Glue::Workflow" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::Group" - }, - { - "$ref": "#/definitions/AWS::Greengrass::GroupVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" - }, - { - "$ref": "#/definitions/AWS::GroundStation::Config" - }, - { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Detector" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Filter" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::IPSet" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Master" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Member" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" - }, - { - "$ref": "#/definitions/AWS::IAM::AccessKey" - }, - { - "$ref": "#/definitions/AWS::IAM::Group" - }, - { - "$ref": "#/definitions/AWS::IAM::InstanceProfile" - }, - { - "$ref": "#/definitions/AWS::IAM::ManagedPolicy" - }, - { - "$ref": "#/definitions/AWS::IAM::OIDCProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::Policy" - }, - { - "$ref": "#/definitions/AWS::IAM::Role" - }, - { - "$ref": "#/definitions/AWS::IAM::SAMLProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::ServerCertificate" - }, - { - "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" - }, - { - "$ref": "#/definitions/AWS::IAM::User" - }, - { - "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" - }, - { - "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" - }, - { - "$ref": "#/definitions/AWS::IVS::Channel" - }, - { - "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" - }, - { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" - }, - { - "$ref": "#/definitions/AWS::IVS::StreamKey" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Component" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Image" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" - }, - { - "$ref": "#/definitions/AWS::Inspector::ResourceGroup" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Device" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Placement" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Project" - }, - { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::Authorizer" - }, - { - "$ref": "#/definitions/AWS::IoT::Certificate" - }, - { - "$ref": "#/definitions/AWS::IoT::CustomMetric" - }, - { - "$ref": "#/definitions/AWS::IoT::Dimension" - }, - { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::MitigationAction" - }, - { - "$ref": "#/definitions/AWS::IoT::Policy" - }, - { - "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" - }, - { - "$ref": "#/definitions/AWS::IoT::ScheduledAudit" - }, - { - "$ref": "#/definitions/AWS::IoT::SecurityProfile" - }, - { - "$ref": "#/definitions/AWS::IoT::Thing" - }, - { - "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRule" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" - }, - { - "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::Input" - }, - { - "$ref": "#/definitions/AWS::IoTFleetHub::Application" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Portal" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Project" - }, - { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::Destination" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" - }, - { - "$ref": "#/definitions/AWS::KMS::Alias" - }, - { - "$ref": "#/definitions/AWS::KMS::Key" - }, - { - "$ref": "#/definitions/AWS::KMS::ReplicaKey" - }, - { - "$ref": "#/definitions/AWS::Kendra::DataSource" - }, - { - "$ref": "#/definitions/AWS::Kendra::Faq" - }, - { - "$ref": "#/definitions/AWS::Kendra::Index" - }, - { - "$ref": "#/definitions/AWS::Kinesis::Stream" - }, - { - "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Permissions" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Resource" - }, - { - "$ref": "#/definitions/AWS::Lambda::Alias" - }, - { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" - }, - { - "$ref": "#/definitions/AWS::Lambda::Function" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersion" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Permission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Version" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::Grant" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::License" - }, - { - "$ref": "#/definitions/AWS::Location::GeofenceCollection" - }, - { - "$ref": "#/definitions/AWS::Location::Map" - }, - { - "$ref": "#/definitions/AWS::Location::PlaceIndex" - }, - { - "$ref": "#/definitions/AWS::Location::RouteCalculator" - }, - { - "$ref": "#/definitions/AWS::Location::Tracker" - }, - { - "$ref": "#/definitions/AWS::Location::TrackerConsumer" - }, - { - "$ref": "#/definitions/AWS::Logs::Destination" - }, - { - "$ref": "#/definitions/AWS::Logs::LogGroup" - }, - { - "$ref": "#/definitions/AWS::Logs::LogStream" - }, - { - "$ref": "#/definitions/AWS::Logs::MetricFilter" - }, - { - "$ref": "#/definitions/AWS::Logs::QueryDefinition" - }, - { - "$ref": "#/definitions/AWS::Logs::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" - }, - { - "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::LookoutVision::Project" - }, - { - "$ref": "#/definitions/AWS::MSK::Cluster" - }, - { - "$ref": "#/definitions/AWS::MWAA::Environment" - }, - { - "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" - }, - { - "$ref": "#/definitions/AWS::Macie::FindingsFilter" - }, - { - "$ref": "#/definitions/AWS::Macie::Session" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::Flow" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Preset" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Queue" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Input" - }, - { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Asset" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" - }, - { - "$ref": "#/definitions/AWS::MediaStore::Container" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBCluster" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBInstance" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Device" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Link" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Site" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::Studio" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::App" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Instance" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Layer" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Stack" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::UserProfile" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Volume" - }, - { - "$ref": "#/definitions/AWS::OpsWorksCM::Server" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::App" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Campaign" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EventStream" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Segment" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::Identity" - }, - { - "$ref": "#/definitions/AWS::QLDB::Ledger" - }, - { - "$ref": "#/definitions/AWS::QLDB::Stream" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Analysis" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Dashboard" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSet" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSource" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Template" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Theme" - }, - { - "$ref": "#/definitions/AWS::RAM::ResourceShare" - }, - { - "$ref": "#/definitions/AWS::RDS::DBCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBInstance" - }, - { - "$ref": "#/definitions/AWS::RDS::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxy" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::RDS::GlobalCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::OptionGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::Cluster" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ResourceGroups::Group" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Fleet" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Robot" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::Route53::DNSSEC" - }, - { - "$ref": "#/definitions/AWS::Route53::HealthCheck" - }, - { - "$ref": "#/definitions/AWS::Route53::HostedZone" - }, - { - "$ref": "#/definitions/AWS::Route53::KeySigningKey" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSet" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" - }, - { - "$ref": "#/definitions/AWS::S3::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3::StorageLens" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SDB::Domain" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::SES::ContactList" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptFilter" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRule" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" - }, - { - "$ref": "#/definitions/AWS::SES::Template" - }, - { - "$ref": "#/definitions/AWS::SNS::Subscription" - }, - { - "$ref": "#/definitions/AWS::SNS::Topic" - }, - { - "$ref": "#/definitions/AWS::SNS::TopicPolicy" - }, - { - "$ref": "#/definitions/AWS::SQS::Queue" - }, - { - "$ref": "#/definitions/AWS::SQS::QueuePolicy" - }, - { - "$ref": "#/definitions/AWS::SSM::Association" - }, - { - "$ref": "#/definitions/AWS::SSM::Document" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" - }, - { - "$ref": "#/definitions/AWS::SSM::Parameter" - }, - { - "$ref": "#/definitions/AWS::SSM::PatchBaseline" - }, - { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::Contact" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" - }, - { - "$ref": "#/definitions/AWS::SSO::Assignment" - }, - { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" - }, - { - "$ref": "#/definitions/AWS::SSO::PermissionSet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::App" - }, - { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Device" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Domain" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Image" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ImageVersion" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Model" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Pipeline" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Project" - }, - { - "$ref": "#/definitions/AWS::SageMaker::UserProfile" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Workteam" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::Secret" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" - }, - { - "$ref": "#/definitions/AWS::SecurityHub::Hub" - }, - { - "$ref": "#/definitions/AWS::Serverless::Api" - }, - { - "$ref": "#/definitions/AWS::Serverless::Application" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function" - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi" - }, - { - "$ref": "#/definitions/AWS::Serverless::LayerVersion" - }, - { - "$ref": "#/definitions/AWS::Serverless::SimpleTable" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service" - }, - { - "$ref": "#/definitions/AWS::Signer::ProfilePermission" - }, - { - "$ref": "#/definitions/AWS::Signer::SigningProfile" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::Activity" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine" - }, - { - "$ref": "#/definitions/AWS::Synthetics::Canary" - }, - { - "$ref": "#/definitions/AWS::Timestream::Database" - }, - { - "$ref": "#/definitions/AWS::Timestream::Table" - }, - { - "$ref": "#/definitions/AWS::Transfer::Server" - }, - { - "$ref": "#/definitions/AWS::Transfer::User" - }, - { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAF::Rule" - }, - { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAF::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::Rule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace" - }, - { - "$ref": "#/definitions/AWS::XRay::Group" - }, - { - "$ref": "#/definitions/AWS::XRay::SamplingRule" - }, - { - "$ref": "#/definitions/Alexa::ASK::Skill" - } - ] - } - }, - "type": "object" - }, - "Transform": { - "enum": [ - "AWS::Serverless-2016-10-31" - ], - "type": "string" - } - }, - "required": [ - "Transform", - "Resources" - ], - "type": "object" -} \ No newline at end of file From 181cac76eea4b8d0ec490213eff356f52a05ed9a Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Tue, 24 Aug 2021 10:50:10 -0700 Subject: [PATCH 03/64] Delete cloudformation.schema.json --- .../cloudformation.schema.json | 113079 --------------- 1 file changed, 113079 deletions(-) delete mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json deleted file mode 100644 index 136501c9e4c..00000000000 --- a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json +++ /dev/null @@ -1,113079 +0,0 @@ -{ - "$id": "http://json-schema.org/draft-04/schema#", - "additionalProperties": false, - "definitions": { - "AWS::ACMPCA::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiPassthrough": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TemplateArn": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - }, - "ValidityNotBefore": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - } - }, - "required": [ - "CertificateAuthorityArn", - "CertificateSigningRequest", - "SigningAlgorithm", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ApiPassthrough": { - "additionalProperties": false, - "properties": { - "Extensions": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { - "additionalProperties": false, - "properties": { - "ExtendedKeyUsageObjectIdentifier": { - "type": "string" - }, - "ExtendedKeyUsageType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Extensions": { - "additionalProperties": false, - "properties": { - "CertificatePolicies": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" - }, - "type": "array" - }, - "ExtendedKeyUsage": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" - }, - "type": "array" - }, - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" - }, - "SubjectAlternativeNames": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyInformation": { - "additionalProperties": false, - "properties": { - "CertPolicyId": { - "type": "string" - }, - "PolicyQualifiers": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" - }, - "type": "array" - } - }, - "required": [ - "CertPolicyId" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { - "additionalProperties": false, - "properties": { - "PolicyQualifierId": { - "type": "string" - }, - "Qualifier": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" - } - }, - "required": [ - "PolicyQualifierId", - "Qualifier" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Qualifier": { - "additionalProperties": false, - "properties": { - "CpsUri": { - "type": "string" - } - }, - "required": [ - "CpsUri" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Validity": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsrExtensions": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" - }, - "KeyAlgorithm": { - "type": "string" - }, - "KeyStorageSecurityStandard": { - "type": "string" - }, - "RevocationConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" - }, - "SigningAlgorithm": { - "type": "string" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "KeyAlgorithm", - "SigningAlgorithm", - "Subject", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthority" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessDescription": { - "additionalProperties": false, - "properties": { - "AccessLocation": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" - }, - "AccessMethod": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" - } - }, - "required": [ - "AccessLocation", - "AccessMethod" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessMethod": { - "additionalProperties": false, - "properties": { - "AccessMethodType": { - "type": "string" - }, - "CustomObjectIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { - "additionalProperties": false, - "properties": { - "CustomCname": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "ExpirationInDays": { - "type": "number" - }, - "S3BucketName": { - "type": "string" - }, - "S3ObjectAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { - "additionalProperties": false, - "properties": { - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" - }, - "SubjectInformationAccess": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { - "additionalProperties": false, - "properties": { - "CrlConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthorityActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Certificate", - "CertificateAuthorityArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthorityActivation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalyzerName": { - "type": "string" - }, - "ArchiveRules": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AccessAnalyzer::Analyzer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { - "additionalProperties": false, - "properties": { - "Filter": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" - }, - "type": "array" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "Filter", - "RuleName" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.Filter": { - "additionalProperties": false, - "properties": { - "Contains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Exists": { - "type": "boolean" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "BrokerName": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" - }, - "DeploymentMode": { - "type": "string" - }, - "EncryptionOptions": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "HostInstanceType": { - "type": "string" - }, - "LdapServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" - }, - "Logs": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" - }, - "MaintenanceWindowStartTime": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" - }, - "type": "array" - }, - "Users": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" - }, - "type": "array" - } - }, - "required": [ - "AutoMinorVersionUpgrade", - "BrokerName", - "DeploymentMode", - "EngineType", - "EngineVersion", - "HostInstanceType", - "PubliclyAccessible", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Broker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.EncryptionOptions": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "UseAwsOwnedKey": { - "type": "boolean" - } - }, - "required": [ - "UseAwsOwnedKey" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LogList": { - "additionalProperties": false, - "properties": { - "Audit": { - "type": "boolean" - }, - "General": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AmazonMQ::Broker.MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DayOfWeek": { - "type": "string" - }, - "TimeOfDay": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "DayOfWeek", - "TimeOfDay", - "TimeZone" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.User": { - "additionalProperties": false, - "properties": { - "ConsoleAccess": { - "type": "boolean" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Data", - "EngineType", - "EngineVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Configuration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" - } - }, - "required": [ - "Broker", - "Configuration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::Amplify::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "AutoBranchCreationConfig": { - "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "CustomHeaders": { - "type": "string" - }, - "CustomRules": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.CustomRule" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "EnableBranchAutoDeletion": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "IAMServiceRole": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OauthToken": { - "type": "string" - }, - "Repository": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::App.AutoBranchCreationConfig": { - "additionalProperties": false, - "properties": { - "AutoBranchCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "EnableAutoBranchCreation": { - "type": "boolean" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.CustomRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Source", - "Target" - ], - "type": "object" - }, - "AWS::Amplify::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Branch": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" - }, - "BranchName": { - "type": "string" - }, - "BuildSpec": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "BranchName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Branch" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Branch.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::Amplify::Branch.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "AutoSubDomainCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoSubDomainIAMRole": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EnableAutoSubDomain": { - "type": "boolean" - }, - "SubDomainSettings": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "DomainName", - "SubDomainSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Domain.SubDomainSetting": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BranchName", - "Prefix" - ], - "type": "object" - }, - "AWS::ApiGateway::Account": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "GenerateDistinctId": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "StageKeys": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey.StageKey": { - "additionalProperties": false, - "properties": { - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "AuthorizerCredentials": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerUri": { - "type": "string" - }, - "IdentitySource": { - "type": "string" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "RestApiId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::BasePathMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::BasePathMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::ClientCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ClientCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" - }, - "Description": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StageDescription": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.CanarySetting": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.StageDescription": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" - }, - "type": "array" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Location": { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" - }, - "Properties": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Location", - "Properties", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationPart" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart.Location": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "DocumentationVersion", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::GatewayResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseType": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "ResponseType", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::GatewayResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" - }, - "MethodResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" - }, - "type": "array" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "RequestValidatorId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "HttpMethod", - "ResourceId", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Method" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.Integration": { - "additionalProperties": false, - "properties": { - "CacheKeyParameters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheNamespace": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandling": { - "type": "string" - }, - "Credentials": { - "type": "string" - }, - "IntegrationHttpMethod": { - "type": "string" - }, - "IntegrationResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" - }, - "type": "array" - }, - "PassthroughBehavior": { - "type": "string" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TimeoutInMillis": { - "type": "number" - }, - "Type": { - "type": "string" - }, - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Method.IntegrationResponse": { - "additionalProperties": false, - "properties": { - "ContentHandling": { - "type": "string" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SelectionPattern": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.MethodResponse": { - "additionalProperties": false, - "properties": { - "ResponseModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RequestValidator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "ValidateRequestBody": { - "type": "boolean" - }, - "ValidateRequestParameters": { - "type": "boolean" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::RequestValidator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ParentId": { - "type": "string" - }, - "PathPart": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "ParentId", - "PathPart", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RestApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySourceType": { - "type": "string" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" - }, - "CloneFrom": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Stage.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.CanarySetting": { - "additionalProperties": false, - "properties": { - "DeploymentId": { - "type": "string" - }, - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiStages": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Quota": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throttle": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - }, - "UsagePlanName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ApiStage": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Throttle": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.QuotaSettings": { - "additionalProperties": false, - "properties": { - "Limit": { - "type": "number" - }, - "Offset": { - "type": "number" - }, - "Period": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ThrottleSettings": { - "additionalProperties": false, - "properties": { - "BurstLimit": { - "type": "number" - }, - "RateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlanKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "UsagePlanId": { - "type": "string" - } - }, - "required": [ - "KeyId", - "KeyType", - "UsagePlanId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlanKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "TargetArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySelectionExpression": { - "type": "string" - }, - "BasePath": { - "type": "string" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "DisableSchemaValidation": { - "type": "boolean" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "ProtocolType": { - "type": "string" - }, - "RouteKey": { - "type": "string" - }, - "RouteSelectionExpression": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Target": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Api" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api.BodyS3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Etag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Api.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAge": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" - }, - "Route": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" - }, - "Stage": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" - }, - "AutoDeploy": { - "type": "boolean" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageVariables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiMappingKey": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "ApiId", - "DomainName", - "Stage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "AuthorizerCredentialsArn": { - "type": "string" - }, - "AuthorizerPayloadFormatVersion": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerType": { - "type": "string" - }, - "AuthorizerUri": { - "type": "string" - }, - "EnableSimpleResponses": { - "type": "boolean" - }, - "IdentitySource": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "JwtConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ApiId", - "AuthorizerType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { - "additionalProperties": false, - "properties": { - "Audience": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Issuer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" - }, - "type": "array" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "CertificateName": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "IntegrationSubtype": { - "type": "string" - }, - "IntegrationType": { - "type": "string" - }, - "IntegrationUri": { - "type": "string" - }, - "PassthroughBehavior": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "RequestParameters": { - "type": "object" - }, - "RequestTemplates": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - }, - "TlsConfig": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" - } - }, - "required": [ - "ApiId", - "IntegrationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameter": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "required": [ - "Destination", - "Source" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameterList": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "ResponseModels": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "RouteId": { - "type": "string" - }, - "RouteResponseKey": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteId", - "RouteResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RouteResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" - }, - "AccessPolicyId": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AutoDeploy": { - "type": "boolean" - }, - "ClientCertificateId": { - "type": "string" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageName": { - "type": "string" - }, - "StageVariables": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApiId", - "StageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Application.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RetrievalRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" - }, - "type": "array" - }, - "Validators": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "LocationUri", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::ConfigurationProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "ConfigurationVersion", - "DeploymentStrategyId", - "EnvironmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Deployment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentDurationInMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "FinalBakeTimeInMinutes": { - "type": "number" - }, - "GrowthFactor": { - "type": "number" - }, - "GrowthType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicateTo": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" - }, - "type": "array" - } - }, - "required": [ - "DeploymentDurationInMinutes", - "GrowthFactor", - "Name", - "ReplicateTo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::DeploymentStrategy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Monitors": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Environment.Monitors": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "type": "string" - }, - "AlarmRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::HostedConfigurationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LatestVersionNumber": { - "type": "number" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "Content", - "ContentType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionMode": { - "type": "string" - }, - "ConnectorProfileConfig": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" - }, - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "KMSArn": { - "type": "string" - } - }, - "required": [ - "ConnectionMode", - "ConnectorProfileName", - "ConnectorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::ConnectorProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "SecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { - "additionalProperties": false, - "properties": { - "AuthCode": { - "type": "string" - }, - "RedirectUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" - }, - "ConnectorProfileProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" - } - }, - "required": [ - "ConnectorProfileCredentials" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiToken": { - "type": "string" - } - }, - "required": [ - "ApiToken" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessKeyId": { - "type": "string" - }, - "Datakey": { - "type": "string" - }, - "SecretAccessKey": { - "type": "string" - }, - "UserId": { - "type": "string" - } - }, - "required": [ - "AccessKeyId", - "Datakey", - "SecretAccessKey", - "UserId" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "DatabaseUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "DatabaseUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientCredentialsArn": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - }, - "isSandboxEnvironment": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - } - }, - "required": [ - "ApiKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "PrivateLinkServiceName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Stage", - "Warehouse" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiSecretKey": { - "type": "string" - } - }, - "required": [ - "ApiSecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationFlowConfigList": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" - }, - "type": "array" - }, - "FlowName": { - "type": "string" - }, - "KMSArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" - } - }, - "required": [ - "DestinationFlowConfigList", - "FlowName", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.AggregationConfig": { - "additionalProperties": false, - "properties": { - "AggregationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.AmplitudeSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "type": "string" - }, - "Datadog": { - "type": "string" - }, - "Dynatrace": { - "type": "string" - }, - "GoogleAnalytics": { - "type": "string" - }, - "InforNexus": { - "type": "string" - }, - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Singular": { - "type": "string" - }, - "Slack": { - "type": "string" - }, - "Trendmicro": { - "type": "string" - }, - "Veeva": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DatadogSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationConnectorProperties": { - "additionalProperties": false, - "properties": { - "EventBridge": { - "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" - }, - "LookoutMetrics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" - }, - "Upsolver": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "DestinationConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "DestinationConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DynatraceSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ErrorHandlingConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "FailOnFirstError": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.InforNexusSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.PrefixConfig": { - "additionalProperties": false, - "properties": { - "PrefixFormat": { - "type": "string" - }, - "PrefixType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.RedshiftDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3DestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketPrefix" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleStartTime": { - "type": "number" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SingularSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SlackSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TaskPropertiesObject": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TrendmicroSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" - } - }, - "required": [ - "BucketName", - "S3OutputFormatConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "required": [ - "PrefixConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.VeevaSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBridgeBus": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventBridgeBus", - "EventFilter", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::EventIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventFilter": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { - "additionalProperties": false, - "properties": { - "ClientAssociationMetadata": { - "items": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" - }, - "type": "array" - }, - "ClientId": { - "type": "string" - }, - "EventBridgeRuleName": { - "type": "string" - }, - "EventIntegrationAssociationArn": { - "type": "string" - }, - "EventIntegrationAssociationId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.Metadata": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayRouteName": { - "type": "string" - }, - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualGatewayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::GatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.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" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" - } - }, - "required": [ - "VirtualService" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { - "additionalProperties": false, - "properties": { - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Mesh" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.EgressFilter": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshSpec": { - "additionalProperties": false, - "properties": { - "EgressFilter": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "RouteName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualRouterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::Route.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRetryPolicy": { - "additionalProperties": false, - "properties": { - "GrpcRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HttpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxRetries": { - "type": "number" - }, - "PerRetryTimeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "TcpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxRetries", - "PerRetryTimeout" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMatch": { - "additionalProperties": false, - "properties": { - "Metadata": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" - }, - "type": "array" - }, - "MethodName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadata": { - "additionalProperties": false, - "properties": { - "Invert": { - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.HeaderMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.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" - }, - "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" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.WeightedTarget": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "VirtualNode", - "Weight" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualNode" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "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": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HttpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Listener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" - }, - "OutlierDetection": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTimeout": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Logging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.OutlierDetection": { - "additionalProperties": false, - "properties": { - "BaseEjectionDuration": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "Interval": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "MaxEjectionPercent": { - "type": "number" - }, - "MaxServerErrors": { - "type": "number" - } - }, - "required": [ - "BaseEjectionDuration", - "Interval", - "MaxEjectionPercent", - "MaxServerErrors" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ServiceDiscovery": { - "additionalProperties": false, - "properties": { - "AWSCloudMap": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" - }, - "DNS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" - }, - "Backends": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" - }, - "ServiceDiscovery": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { - "additionalProperties": false, - "properties": { - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { - "additionalProperties": false, - "properties": { - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "VirtualNodeName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "VirtualRouterName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" - }, - "VirtualRouter": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceSpec": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingConfigurationArn": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" - }, - "HealthCheckConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppRunner::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppRunner::Service.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "AccessRoleArn": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeConfigurationValues": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" - }, - "ConfigurationSource": { - "type": "string" - } - }, - "required": [ - "ConfigurationSource" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfigurationValues": { - "additionalProperties": false, - "properties": { - "BuildCommand": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "required": [ - "Runtime" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeRepository": { - "additionalProperties": false, - "properties": { - "CodeConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" - }, - "RepositoryUrl": { - "type": "string" - }, - "SourceCodeVersion": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" - } - }, - "required": [ - "RepositoryUrl", - "SourceCodeVersion" - ], - "type": "object" - }, - "AWS::AppRunner::Service.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKey": { - "type": "string" - } - }, - "required": [ - "KmsKey" - ], - "type": "object" - }, - "AWS::AppRunner::Service.HealthCheckConfiguration": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Timeout": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageConfiguration": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageRepository": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" - }, - "ImageIdentifier": { - "type": "string" - }, - "ImageRepositoryType": { - "type": "string" - } - }, - "required": [ - "ImageIdentifier", - "ImageRepositoryType" - ], - "type": "object" - }, - "AWS::AppRunner::Service.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "type": "string" - }, - "InstanceRoleArn": { - "type": "string" - }, - "Memory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.SourceCodeVersion": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::AppRunner::Service.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" - }, - "AutoDeploymentsEnabled": { - "type": "boolean" - }, - "CodeRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" - }, - "ImageRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" - } - }, - "type": "object" - }, - "AWS::AppStream::DirectoryConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceAccountCredentials": { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" - } - }, - "required": [ - "DirectoryName", - "OrganizationalUnitDistinguishedNames", - "ServiceAccountCredentials" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::DirectoryConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "AccountPassword": { - "type": "string" - } - }, - "required": [ - "AccountName", - "AccountPassword" - ], - "type": "object" - }, - "AWS::AppStream::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeCapacity": { - "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" - }, - "Description": { - "type": "string" - }, - "DisconnectTimeoutInSeconds": { - "type": "number" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "FleetType": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "IdleDisconnectTimeoutInSeconds": { - "type": "number" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxUserDurationInSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "StreamView": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" - } - }, - "required": [ - "ComputeCapacity", - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.ComputeCapacity": { - "additionalProperties": false, - "properties": { - "DesiredInstances": { - "type": "number" - } - }, - "required": [ - "DesiredInstances" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::Fleet.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" - }, - "type": "array" - }, - "AppstreamAgentVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "IamRoleArn": { - "type": "string" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" - } - }, - "required": [ - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::ImageBuilder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" - }, - "type": "array" - }, - "ApplicationSettings": { - "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" - }, - "AttributesToDelete": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeleteStorageConnectors": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "EmbedHostDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FeedbackURL": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RedirectURL": { - "type": "string" - }, - "StorageConnectors": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserSettings": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppStream::Stack.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::Stack.ApplicationSettings": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "SettingsGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::AppStream::Stack.StorageConnector": { - "additionalProperties": false, - "properties": { - "ConnectorType": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdentifier": { - "type": "string" - } - }, - "required": [ - "ConnectorType" - ], - "type": "object" - }, - "AWS::AppStream::Stack.UserSetting": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "Action", - "Permission" - ], - "type": "object" - }, - "AWS::AppStream::StackFleetAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FleetName": { - "type": "string" - }, - "StackName": { - "type": "string" - } - }, - "required": [ - "FleetName", - "StackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackFleetAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::StackUserAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "SendEmailNotification": { - "type": "boolean" - }, - "StackName": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "StackName", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackUserAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "FirstName": { - "type": "string" - }, - "LastName": { - "type": "string" - }, - "MessageAction": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiCache": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiCachingBehavior": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "Ttl": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiCachingBehavior", - "ApiId", - "Ttl", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiCache" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Expires": { - "type": "number" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamoDBConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" - }, - "ElasticsearchConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" - }, - "HttpConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" - }, - "Name": { - "type": "string" - }, - "RelationalDatabaseConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationType": { - "type": "string" - }, - "AwsIamConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" - } - }, - "required": [ - "AuthorizationType" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AwsIamConfig": { - "additionalProperties": false, - "properties": { - "SigningRegion": { - "type": "string" - }, - "SigningServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::DataSource.DeltaSyncConfig": { - "additionalProperties": false, - "properties": { - "BaseTableTTL": { - "type": "string" - }, - "DeltaSyncTableName": { - "type": "string" - }, - "DeltaSyncTableTTL": { - "type": "string" - } - }, - "required": [ - "BaseTableTTL", - "DeltaSyncTableName", - "DeltaSyncTableTTL" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.DynamoDBConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "DeltaSyncConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" - }, - "TableName": { - "type": "string" - }, - "UseCallerCredentials": { - "type": "boolean" - }, - "Versioned": { - "type": "boolean" - } - }, - "required": [ - "AwsRegion", - "TableName" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.ElasticsearchConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.HttpConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.LambdaConfig": { - "additionalProperties": false, - "properties": { - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "AwsSecretStoreArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DbClusterIdentifier": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "AwsSecretStoreArn", - "DbClusterIdentifier" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RelationalDatabaseConfig": { - "additionalProperties": false, - "properties": { - "RdsHttpEndpointConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" - }, - "RelationalDatabaseSourceType": { - "type": "string" - } - }, - "required": [ - "RelationalDatabaseSourceType" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "DataSourceName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" - } - }, - "required": [ - "ApiId", - "DataSourceName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::FunctionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalAuthenticationProviders": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" - }, - "AuthenticationType": { - "type": "string" - }, - "LambdaAuthorizerConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" - }, - "LogConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" - }, - "Name": { - "type": "string" - }, - "OpenIDConnectConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" - }, - "Tags": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" - }, - "UserPoolConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" - }, - "XrayEnabled": { - "type": "boolean" - } - }, - "required": [ - "AuthenticationType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLApi" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "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.AdditionalAuthenticationProviders": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.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.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.UserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "DefaultAction": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLSchema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Definition": { - "type": "string" - }, - "DefinitionS3Location": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLSchema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "CachingConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" - }, - "DataSourceName": { - "type": "string" - }, - "FieldName": { - "type": "string" - }, - "Kind": { - "type": "string" - }, - "PipelineConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "ApiId", - "FieldName", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::Resolver" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver.CachingConfig": { - "additionalProperties": false, - "properties": { - "CachingKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ttl": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.PipelineConfig": { - "additionalProperties": false, - "properties": { - "Functions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScheduledActions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" - }, - "type": "array" - }, - "ServiceNamespace": { - "type": "string" - }, - "SuspendedState": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "RoleARN", - "ScalableDimension", - "ServiceNamespace" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalableTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "ScalableTargetAction": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" - }, - "Schedule": { - "type": "string" - }, - "ScheduledActionName": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingTargetId": { - "type": "string" - }, - "ServiceNamespace": { - "type": "string" - }, - "StepScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "Cooldown": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoConfigurationEnabled": { - "type": "boolean" - }, - "CWEMonitorEnabled": { - "type": "boolean" - }, - "ComponentMonitoringSettings": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" - }, - "type": "array" - }, - "CustomComponents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" - }, - "type": "array" - }, - "LogPatternSets": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" - }, - "type": "array" - }, - "OpsCenterEnabled": { - "type": "boolean" - }, - "OpsItemSNSTopicArn": { - "type": "string" - }, - "ResourceGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationInsights::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "Severity": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.AlarmMetric": { - "additionalProperties": false, - "properties": { - "AlarmMetricName": { - "type": "string" - } - }, - "required": [ - "AlarmMetricName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" - }, - "SubComponentTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { - "additionalProperties": false, - "properties": { - "ComponentARN": { - "type": "string" - }, - "ComponentConfigurationMode": { - "type": "string" - }, - "ComponentName": { - "type": "string" - }, - "CustomComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "DefaultOverwriteComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "Tier": { - "type": "string" - } - }, - "required": [ - "ComponentConfigurationMode", - "Tier" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" - }, - "type": "array" - }, - "JMXPrometheusExporter": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.CustomComponent": { - "additionalProperties": false, - "properties": { - "ComponentName": { - "type": "string" - }, - "ResourceList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ComponentName", - "ResourceList" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { - "additionalProperties": false, - "properties": { - "HostPort": { - "type": "string" - }, - "JMXURL": { - "type": "string" - }, - "PrometheusPort": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.Log": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "LogType": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "LogType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPattern": { - "additionalProperties": false, - "properties": { - "Pattern": { - "type": "string" - }, - "PatternName": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Pattern", - "PatternName", - "Rank" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPatternSet": { - "additionalProperties": false, - "properties": { - "LogPatterns": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" - }, - "type": "array" - }, - "PatternSetName": { - "type": "string" - } - }, - "required": [ - "LogPatterns", - "PatternSetName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { - "additionalProperties": false, - "properties": { - "SubComponentConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" - }, - "SubComponentType": { - "type": "string" - } - }, - "required": [ - "SubComponentConfigurationDetails", - "SubComponentType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.WindowsEvent": { - "additionalProperties": false, - "properties": { - "EventLevels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EventName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "EventLevels", - "EventName", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Athena::DataCatalog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::DataCatalog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::NamedQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - }, - "WorkGroup": { - "type": "string" - } - }, - "required": [ - "Database", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::NamedQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::PreparedStatement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecursiveDeleteOption": { - "type": "boolean" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkGroupConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" - }, - "WorkGroupConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::WorkGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionOption": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionOption" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EngineVersion": { - "additionalProperties": false, - "properties": { - "EffectiveEngineVersion": { - "type": "string" - }, - "SelectedEngineVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - }, - "RemoveEncryptionConfiguration": { - "type": "boolean" - }, - "RemoveOutputLocation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfiguration": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RemoveBytesScannedCutoffPerQuery": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentReportsDestination": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" - }, - "AwsAccount": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "Description": { - "type": "string" - }, - "FrameworkId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Roles": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" - }, - "type": "array" - }, - "Scope": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AuditManager::Assessment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSAccount": { - "additionalProperties": false, - "properties": { - "EmailAddress": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSService": { - "additionalProperties": false, - "properties": { - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AssessmentReportsDestination": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Delegation": { - "additionalProperties": false, - "properties": { - "AssessmentId": { - "type": "string" - }, - "AssessmentName": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "ControlSetId": { - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "CreationTime": { - "type": "number" - }, - "Id": { - "type": "string" - }, - "LastUpdated": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Role": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Scope": { - "additionalProperties": false, - "properties": { - "AwsAccounts": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "type": "array" - }, - "AwsServices": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CapacityRebalance": { - "type": "boolean" - }, - "Context": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "DesiredCapacity": { - "type": "string" - }, - "HealthCheckGracePeriod": { - "type": "number" - }, - "HealthCheckType": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "LifecycleHookSpecificationList": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" - }, - "type": "array" - }, - "LoadBalancerNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxInstanceLifetime": { - "type": "number" - }, - "MaxSize": { - "type": "string" - }, - "MetricsCollection": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" - }, - "type": "array" - }, - "MinSize": { - "type": "string" - }, - "MixedInstancesPolicy": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" - }, - "NewInstancesProtectedFromScaleIn": { - "type": "boolean" - }, - "NotificationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" - }, - "type": "array" - }, - "PlacementGroup": { - "type": "string" - }, - "ServiceLinkedRoleARN": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" - }, - "type": "array" - }, - "TargetGroupARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TerminationPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VPCZoneIdentifier": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::AutoScalingGroup" - ], - "type": "string" - }, - "UpdatePolicy": { - "type": "object" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { - "additionalProperties": false, - "properties": { - "OnDemandAllocationStrategy": { - "type": "string" - }, - "OnDemandBaseCapacity": { - "type": "number" - }, - "OnDemandPercentageAboveBaseCapacity": { - "type": "number" - }, - "SpotAllocationStrategy": { - "type": "string" - }, - "SpotInstancePools": { - "type": "number" - }, - "SpotMaxPrice": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "required": [ - "LaunchTemplateSpecification" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { - "additionalProperties": false, - "properties": { - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { - "additionalProperties": false, - "properties": { - "Granularity": { - "type": "string" - }, - "Metrics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Granularity" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { - "additionalProperties": false, - "properties": { - "InstancesDistribution": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" - } - }, - "required": [ - "LaunchTemplate" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TopicARN": { - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.TagProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "PropagateAtLaunch": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "PropagateAtLaunch", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" - }, - "type": "array" - }, - "ClassicLinkVPCId": { - "type": "string" - }, - "ClassicLinkVPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "InstanceMonitoring": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" - }, - "PlacementTenancy": { - "type": "string" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "UserData": { - "type": "string" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LaunchConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName", - "LifecycleTransition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LifecycleHook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "AutoScalingGroupName": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "PolicyType": { - "type": "string" - }, - "ScalingAdjustment": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::AutoScaling::ScheduledAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DesiredCapacity": { - "type": "number" - }, - "EndTime": { - "type": "string" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "Recurrence": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "MaxGroupPreparedCapacity": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "PoolState": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::WarmPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationSource": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" - }, - "ScalingInstructions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" - }, - "type": "array" - } - }, - "required": [ - "ApplicationSource", - "ScalingInstructions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScalingPlans::ScalingPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { - "additionalProperties": false, - "properties": { - "CloudFormationStackARN": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedLoadMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedLoadMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedScalingMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedScalingMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { - "additionalProperties": false, - "properties": { - "CustomizedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" - }, - "DisableDynamicScaling": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "PredefinedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" - }, - "PredictiveScalingMaxCapacityBehavior": { - "type": "string" - }, - "PredictiveScalingMaxCapacityBuffer": { - "type": "number" - }, - "PredictiveScalingMode": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingPolicyUpdateBehavior": { - "type": "string" - }, - "ScheduledActionBufferTime": { - "type": "number" - }, - "ServiceNamespace": { - "type": "string" - }, - "TargetTrackingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" - }, - "type": "array" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "ScalableDimension", - "ServiceNamespace", - "TargetTrackingConfigurations" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "PredefinedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlan": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" - }, - "BackupPlanTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "BackupPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { - "additionalProperties": false, - "properties": { - "BackupOptions": { - "type": "object" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "BackupOptions", - "ResourceType" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupPlanResourceType": { - "additionalProperties": false, - "properties": { - "AdvancedBackupSettings": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" - }, - "type": "array" - }, - "BackupPlanName": { - "type": "string" - }, - "BackupPlanRule": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" - }, - "type": "array" - } - }, - "required": [ - "BackupPlanName", - "BackupPlanRule" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupRuleResourceType": { - "additionalProperties": false, - "properties": { - "CompletionWindowMinutes": { - "type": "number" - }, - "CopyActions": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" - }, - "type": "array" - }, - "EnableContinuousBackup": { - "type": "boolean" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - }, - "RecoveryPointTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RuleName": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "StartWindowMinutes": { - "type": "number" - }, - "TargetBackupVault": { - "type": "string" - } - }, - "required": [ - "RuleName", - "TargetBackupVault" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.CopyActionResourceType": { - "additionalProperties": false, - "properties": { - "DestinationBackupVaultArn": { - "type": "string" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - } - }, - "required": [ - "DestinationBackupVaultArn" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.LifecycleResourceType": { - "additionalProperties": false, - "properties": { - "DeleteAfterDays": { - "type": "number" - }, - "MoveToColdStorageAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Backup::BackupSelection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlanId": { - "type": "string" - }, - "BackupSelection": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" - } - }, - "required": [ - "BackupPlanId", - "BackupSelection" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupSelection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.BackupSelectionResourceType": { - "additionalProperties": false, - "properties": { - "IamRoleArn": { - "type": "string" - }, - "ListOfTags": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" - }, - "type": "array" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelectionName": { - "type": "string" - } - }, - "required": [ - "IamRoleArn", - "SelectionName" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.ConditionResourceType": { - "additionalProperties": false, - "properties": { - "ConditionKey": { - "type": "string" - }, - "ConditionType": { - "type": "string" - }, - "ConditionValue": { - "type": "string" - } - }, - "required": [ - "ConditionKey", - "ConditionType", - "ConditionValue" - ], - "type": "object" - }, - "AWS::Backup::BackupVault": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicy": { - "type": "object" - }, - "BackupVaultName": { - "type": "string" - }, - "BackupVaultTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EncryptionKeyArn": { - "type": "string" - }, - "Notifications": { - "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" - } - }, - "required": [ - "BackupVaultName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupVault.NotificationObjectType": { - "additionalProperties": false, - "properties": { - "BackupVaultEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SNSTopicArn": { - "type": "string" - } - }, - "required": [ - "BackupVaultEvents", - "SNSTopicArn" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentName": { - "type": "string" - }, - "ComputeResources": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" - }, - "ServiceRole": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::ComputeEnvironment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ComputeResources": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BidPercentage": { - "type": "number" - }, - "DesiredvCpus": { - "type": "number" - }, - "Ec2Configuration": { - "items": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" - }, - "type": "array" - }, - "Ec2KeyPair": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" - }, - "MaxvCpus": { - "type": "number" - }, - "MinvCpus": { - "type": "number" - }, - "PlacementGroup": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotIamFleetRole": { - "type": "string" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "MaxvCpus", - "Subnets", - "Type" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { - "additionalProperties": false, - "properties": { - "ImageIdOverride": { - "type": "string" - }, - "ImageType": { - "type": "string" - } - }, - "required": [ - "ImageType" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" - }, - "Parameters": { - "type": "object" - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" - }, - "type": "array" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "number" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" - }, - "type": "array" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "number" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" - }, - "type": "array" - }, - "NumNodes": { - "type": "number" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "ContainerPath", - "Size" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentOrder": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" - }, - "type": "array" - }, - "JobQueueName": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ComputeEnvironmentOrder", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { - "additionalProperties": false, - "properties": { - "ComputeEnvironment": { - "type": "string" - }, - "Order": { - "type": "number" - } - }, - "required": [ - "ComputeEnvironment", - "Order" - ], - "type": "object" - }, - "AWS::Budgets::Budget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Budget": { - "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" - }, - "NotificationsWithSubscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" - }, - "type": "array" - } - }, - "required": [ - "Budget" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::Budget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::Budget.BudgetData": { - "additionalProperties": false, - "properties": { - "BudgetLimit": { - "$ref": "#/definitions/AWS::Budgets::Budget.Spend" - }, - "BudgetName": { - "type": "string" - }, - "BudgetType": { - "type": "string" - }, - "CostFilters": { - "type": "object" - }, - "CostTypes": { - "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" - }, - "PlannedBudgetLimits": { - "type": "object" - }, - "TimePeriod": { - "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "BudgetType", - "TimeUnit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.CostTypes": { - "additionalProperties": false, - "properties": { - "IncludeCredit": { - "type": "boolean" - }, - "IncludeDiscount": { - "type": "boolean" - }, - "IncludeOtherSubscription": { - "type": "boolean" - }, - "IncludeRecurring": { - "type": "boolean" - }, - "IncludeRefund": { - "type": "boolean" - }, - "IncludeSubscription": { - "type": "boolean" - }, - "IncludeSupport": { - "type": "boolean" - }, - "IncludeTax": { - "type": "boolean" - }, - "IncludeUpfront": { - "type": "boolean" - }, - "UseAmortized": { - "type": "boolean" - }, - "UseBlended": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Budgets::Budget.Notification": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdType": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "NotificationType", - "Threshold" - ], - "type": "object" - }, - "AWS::Budgets::Budget.NotificationWithSubscribers": { - "additionalProperties": false, - "properties": { - "Notification": { - "$ref": "#/definitions/AWS::Budgets::Budget.Notification" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "Notification", - "Subscribers" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Spend": { - "additionalProperties": false, - "properties": { - "Amount": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "Amount", - "Unit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "SubscriptionType": { - "type": "string" - } - }, - "required": [ - "Address", - "SubscriptionType" - ], - "type": "object" - }, - "AWS::Budgets::Budget.TimePeriod": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionThreshold": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" - }, - "ActionType": { - "type": "string" - }, - "ApprovalModel": { - "type": "string" - }, - "BudgetName": { - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "ActionThreshold", - "ActionType", - "BudgetName", - "Definition", - "ExecutionRoleArn", - "NotificationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::BudgetsAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ActionThreshold": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Definition": { - "additionalProperties": false, - "properties": { - "IamActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" - }, - "ScpActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" - }, - "SsmActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction.IamActionDefinition": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyArn": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyArn" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ScpActionDefinition": { - "additionalProperties": false, - "properties": { - "PolicyId": { - "type": "string" - }, - "TargetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyId", - "TargetIds" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.SsmActionDefinition": { - "additionalProperties": false, - "properties": { - "InstanceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "Subtype": { - "type": "string" - } - }, - "required": [ - "InstanceIds", - "Region", - "Subtype" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::AnomalyMonitor": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MonitorDimension": { - "type": "string" - }, - "MonitorName": { - "type": "string" - }, - "MonitorSpecification": { - "type": "string" - }, - "MonitorType": { - "type": "string" - } - }, - "required": [ - "MonitorName", - "MonitorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalyMonitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Frequency": { - "type": "string" - }, - "MonitorArnList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" - }, - "type": "array" - }, - "SubscriptionName": { - "type": "string" - }, - "Threshold": { - "type": "number" - } - }, - "required": [ - "Frequency", - "MonitorArnList", - "Subscribers", - "SubscriptionName", - "Threshold" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalySubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::CostCategory": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleVersion", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::CostCategory" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CUR::ReportDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalArtifacts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSchemaElements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BillingViewArn": { - "type": "string" - }, - "Compression": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "RefreshClosedReports": { - "type": "boolean" - }, - "ReportName": { - "type": "string" - }, - "ReportVersioning": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - }, - "S3Region": { - "type": "string" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "Compression", - "Format", - "RefreshClosedReports", - "ReportName", - "ReportVersioning", - "S3Bucket", - "S3Prefix", - "S3Region", - "TimeUnit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CUR::ReportDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Keyspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyspaceName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExpiryEventsConfiguration": { - "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" - } - }, - "required": [ - "ExpiryEventsConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { - "additionalProperties": false, - "properties": { - "DaysBeforeExpiry": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationMethod": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "AWS::Chatbot::SlackChannelConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationName": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "SlackChannelId": { - "type": "string" - }, - "SlackWorkspaceId": { - "type": "string" - }, - "SnsTopicArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ConfigurationName", - "IamRoleArn", - "SlackChannelId", - "SlackWorkspaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chatbot::SlackChannelConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerArn": { - "type": "string" - }, - "Repositories": { - "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cloud9::EnvironmentEC2" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2.Repository": { - "additionalProperties": false, - "properties": { - "PathComponent": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - } - }, - "required": [ - "PathComponent", - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::CloudFormation::CustomResource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ServiceToken": { - "type": "string" - } - }, - "required": [ - "ServiceToken" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::CustomResource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::Macro": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Macro" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleDefaultVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ModuleName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModuleName": { - "type": "string" - }, - "ModulePackage": { - "type": "string" - } - }, - "required": [ - "ModuleName", - "ModulePackage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::PublicTypeVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TypeName": { - "type": "string" - }, - "TypeVersionArn": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" - }, - "SchemaHandlerPackage": { - "type": "string" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "SchemaHandlerPackage", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFormation::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateURL": { - "type": "string" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TemplateURL" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdministrationRoleARN": { - "type": "string" - }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" - }, - "CallAs": { - "type": "string" - }, - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "ExecutionRoleName": { - "type": "string" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "PermissionModel": { - "type": "string" - }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "type": "array" - }, - "StackSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { - "type": "string" - } - }, - "required": [ - "PermissionModel", - "StackSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::StackSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.AutoDeployment": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { - "additionalProperties": false, - "properties": { - "Accounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationalUnitIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.OperationPreferences": { - "additionalProperties": false, - "properties": { - "FailureToleranceCount": { - "type": "number" - }, - "FailureTolerancePercentage": { - "type": "number" - }, - "MaxConcurrentCount": { - "type": "number" - }, - "MaxConcurrentPercentage": { - "type": "number" - }, - "RegionConcurrencyType": { - "type": "string" - }, - "RegionOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterKey", - "ParameterValue" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.StackInstances": { - "additionalProperties": false, - "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" - }, - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DeploymentTargets", - "Regions" - ], - "type": "object" - }, - "AWS::CloudFormation::TypeActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Handle": { - "type": "string" - }, - "Timeout": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitCondition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::WaitConditionHandle": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitConditionHandle" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CachePolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" - } - }, - "required": [ - "CachePolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CachePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CachePolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DefaultTTL": { - "type": "number" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "ParametersInCacheKeyAndForwardedToOrigin": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" - } - }, - "required": [ - "DefaultTTL", - "MaxTTL", - "MinTTL", - "Name", - "ParametersInCacheKeyAndForwardedToOrigin" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { - "additionalProperties": false, - "properties": { - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" - }, - "EnableAcceptEncodingBrotli": { - "type": "boolean" - }, - "EnableAcceptEncodingGzip": { - "type": "boolean" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "EnableAcceptEncodingGzip", - "HeadersConfig", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudFrontOriginAccessIdentityConfig": { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" - } - }, - "required": [ - "CloudFrontOriginAccessIdentityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "required": [ - "Comment" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DistributionConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Distribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { - "additionalProperties": false, - "properties": { - "ErrorCachingMinTTL": { - "type": "number" - }, - "ErrorCode": { - "type": "number" - }, - "ResponseCode": { - "type": "number" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginKeepaliveTimeout": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "type": "number" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" - }, - "type": "array" - }, - "CustomOrigin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" - }, - "DefaultRootObject": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" - }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" - }, - "type": "array" - }, - "PriceClass": { - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestrictionType": { - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "ConnectionAttempts": { - "type": "number" - }, - "ConnectionTimeout": { - "type": "number" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" - }, - "type": "array" - }, - "OriginPath": { - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" - } - }, - "required": [ - "FailoverCriteria", - "Id", - "Members" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerCertificate": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "type": "string" - }, - "SslSupportMethod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPublish": { - "type": "boolean" - }, - "FunctionCode": { - "type": "string" - }, - "FunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" - }, - "FunctionMetadata": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Runtime": { - "type": "string" - } - }, - "required": [ - "Comment", - "Runtime" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionMetadata": { - "additionalProperties": false, - "properties": { - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::KeyGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyGroupConfig": { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" - } - }, - "required": [ - "KeyGroupConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::KeyGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::KeyGroup.KeyGroupConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Items": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Items", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" - } - }, - "required": [ - "OriginRequestPolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::OriginRequestPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" - }, - "Name": { - "type": "string" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "HeadersConfig", - "Name", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PublicKeyConfig": { - "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" - } - }, - "required": [ - "PublicKeyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::PublicKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey.PublicKeyConfig": { - "additionalProperties": false, - "properties": { - "CallerReference": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "EncodedKey": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CallerReference", - "EncodedKey", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "type": "array" - }, - "Fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SamplingRate": { - "type": "number" - } - }, - "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::RealtimeLogConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { - "additionalProperties": false, - "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" - }, - "StreamType": { - "type": "string" - } - }, - "required": [ - "KinesisStreamConfig", - "StreamType" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamArn" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StreamingDistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StreamingDistributionConfig", - "Tags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::StreamingDistribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Enabled", - "Prefix" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.S3Origin": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DomainName", - "OriginAccessIdentity" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" - }, - "PriceClass": { - "type": "string" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" - }, - "TrustedSigners": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" - } - }, - "required": [ - "Comment", - "Enabled", - "S3Origin", - "TrustedSigners" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.TrustedSigners": { - "additionalProperties": false, - "properties": { - "AwsAccountNumbers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "type": "array" - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "SnsTopicName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrailName": { - "type": "string" - } - }, - "required": [ - "IsLogging", - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudTrail::Trail" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "type": "array" - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "ComparisonOperator": { - "type": "string" - }, - "DatapointsToAlarm": { - "type": "number" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { - "type": "string" - }, - "EvaluationPeriods": { - "type": "number" - }, - "ExtendedStatistic": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdMetricId": { - "type": "string" - }, - "TreatMissingData": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "EvaluationPeriods" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Alarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Metric": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Stat": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Stat" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Configuration": { - "additionalProperties": false, - "properties": { - "ExcludedTimeRanges": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" - }, - "type": "array" - }, - "MetricTimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Range": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::CloudWatch::CompositeAlarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "AlarmRule": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AlarmName", - "AlarmRule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::CompositeAlarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardBody": { - "type": "string" - }, - "DashboardName": { - "type": "string" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleBody": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "RuleState": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" - } - }, - "required": [ - "RuleBody", - "RuleName", - "RuleState" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::InsightRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CloudWatch::MetricStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "FirehoseArn": { - "type": "string" - }, - "IncludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "OutputFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirehoseArn", - "OutputFormat", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::MetricStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::MetricStream.MetricStreamFilter": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::CodeArtifact::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeArtifact::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainOwner": { - "type": "string" - }, - "ExternalConnections": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Upstreams": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "BadgeEnabled": { - "type": "boolean" - }, - "BuildBatchConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" - }, - "Cache": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" - }, - "ConcurrentBuildLimit": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" - }, - "FileSystemLocations": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" - }, - "type": "array" - }, - "LogsConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" - }, - "Name": { - "type": "string" - }, - "QueuedTimeoutInMinutes": { - "type": "number" - }, - "SecondaryArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "type": "array" - }, - "SecondarySourceVersions": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" - }, - "type": "array" - }, - "SecondarySources": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "type": "array" - }, - "ServiceRole": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "SourceVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutInMinutes": { - "type": "number" - }, - "Triggers": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" - } - }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "ArtifactIdentifier": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NamespaceType": { - "type": "string" - }, - "OverrideArtifactName": { - "type": "boolean" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.BatchRestrictions": { - "additionalProperties": false, - "properties": { - "ComputeTypesAllowed": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBuildsAllowed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.BuildStatusConfig": { - "additionalProperties": false, - "properties": { - "Context": { - "type": "string" - }, - "TargetUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.CloudWatchLogsConfig": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "ComputeType": { - "type": "string" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "type": "array" - }, - "Image": { - "type": "string" - }, - "ImagePullCredentialsType": { - "type": "string" - }, - "PrivilegedMode": { - "type": "boolean" - }, - "RegistryCredential": { - "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.FilterGroup": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CodeBuild::Project.GitSubmodulesConfig": { - "additionalProperties": false, - "properties": { - "FetchSubmodules": { - "type": "boolean" - } - }, - "required": [ - "FetchSubmodules" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.LogsConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" - }, - "S3Logs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { - "additionalProperties": false, - "properties": { - "CombineArtifacts": { - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" - }, - "ServiceRole": { - "type": "string" - }, - "TimeoutInMins": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectCache": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "Modes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFileSystemLocation": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "MountOptions": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Location", - "MountPoint", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectSourceVersion": { - "additionalProperties": false, - "properties": { - "SourceIdentifier": { - "type": "string" - }, - "SourceVersion": { - "type": "string" - } - }, - "required": [ - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectTriggers": { - "additionalProperties": false, - "properties": { - "BuildType": { - "type": "string" - }, - "FilterGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" - }, - "type": "array" - }, - "Webhook": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.RegistryCredential": { - "additionalProperties": false, - "properties": { - "Credential": { - "type": "string" - }, - "CredentialProvider": { - "type": "string" - } - }, - "required": [ - "Credential", - "CredentialProvider" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.S3LogsConfig": { - "additionalProperties": false, - "properties": { - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Source": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" - }, - "BuildSpec": { - "type": "string" - }, - "BuildStatusConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" - }, - "GitCloneDepth": { - "type": "number" - }, - "GitSubmodulesConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" - }, - "InsecureSsl": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "ReportBuildStatus": { - "type": "boolean" - }, - "SourceIdentifier": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.SourceAuth": { - "additionalProperties": false, - "properties": { - "Resource": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.WebhookFilter": { - "additionalProperties": false, - "properties": { - "ExcludeMatchedPattern": { - "type": "boolean" - }, - "Pattern": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Pattern", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteReports": { - "type": "boolean" - }, - "ExportConfig": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ExportConfig", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::ReportGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.ReportExportConfig": { - "additionalProperties": false, - "properties": { - "ExportConfigType": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" - } - }, - "required": [ - "ExportConfigType" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BucketOwner": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "EncryptionKey": { - "type": "string" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CodeBuild::SourceCredential": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "ServerType": { - "type": "string" - }, - "Token": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "AuthType", - "ServerType", - "Token" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::SourceCredential" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" - }, - "type": "array" - } - }, - "required": [ - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeCommit::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.Code": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.RepositoryTrigger": { - "additionalProperties": false, - "properties": { - "Branches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomData": { - "type": "string" - }, - "DestinationArn": { - "type": "string" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "Events", - "Name" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ComputePlatform": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TriggerConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeDeploy::DeploymentGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.Alarm": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "IgnorePollAlarmFailure": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.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" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { - "additionalProperties": false, - "properties": { - "OnPremisesTagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { - "additionalProperties": false, - "properties": { - "OnPremisesTagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { - "additionalProperties": false, - "properties": { - "GitHubLocation": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" - }, - "RevisionType": { - "type": "string" - }, - "S3Location": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BundleType": { - "type": "string" - }, - "ETag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TriggerName": { - "type": "string" - }, - "TriggerTargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentPermissions": { - "type": "object" - }, - "AnomalyDetectionNotificationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" - }, - "type": "array" - }, - "ComputePlatform": { - "type": "string" - }, - "ProfilingGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfilingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { - "additionalProperties": false, - "properties": { - "channelId": { - "type": "string" - }, - "channelUri": { - "type": "string" - } - }, - "required": [ - "channelUri" - ], - "type": "object" - }, - "AWS::CodeGuruReviewer::RepositoryAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "ConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" - }, - "type": "array" - }, - "InputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "OutputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "Provider": { - "type": "string" - }, - "Settings": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "InputArtifactDetails", - "OutputArtifactDetails", - "Provider", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::CustomActionType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ArtifactDetails": { - "additionalProperties": false, - "properties": { - "MaximumCount": { - "type": "number" - }, - "MinimumCount": { - "type": "number" - } - }, - "required": [ - "MaximumCount", - "MinimumCount" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Key": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Queryable": { - "type": "boolean" - }, - "Required": { - "type": "boolean" - }, - "Secret": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Key", - "Name", - "Required", - "Secret" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.Settings": { - "additionalProperties": false, - "properties": { - "EntityUrlTemplate": { - "type": "string" - }, - "ExecutionUrlTemplate": { - "type": "string" - }, - "RevisionUrlTemplate": { - "type": "string" - }, - "ThirdPartyConfigurationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "ArtifactStores": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" - }, - "type": "array" - }, - "DisableInboundStageTransitions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RestartExecutionOnUpdate": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Stages": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RoleArn", - "Stages" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionDeclaration": { - "additionalProperties": false, - "properties": { - "ActionTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" - }, - "Configuration": { - "type": "object" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunOrder": { - "type": "number" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "Owner", - "Provider", - "Version" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" - }, - "Location": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Location", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.OutputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" - }, - "type": "array" - }, - "Blockers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "Reason", - "StageName" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authentication": { - "type": "string" - }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RegisterWithThirdParty": { - "type": "boolean" - }, - "TargetAction": { - "type": "string" - }, - "TargetPipeline": { - "type": "string" - }, - "TargetPipelineVersion": { - "type": "number" - } - }, - "required": [ - "Authentication", - "AuthenticationConfiguration", - "Filters", - "TargetAction", - "TargetPipeline", - "TargetPipelineVersion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Webhook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedIPRange": { - "type": "string" - }, - "SecretToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookFilterRule": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "MatchEquals": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" - }, - "ConnectionArn": { - "type": "string" - }, - "EnableIssues": { - "type": "boolean" - }, - "IsPrivate": { - "type": "boolean" - }, - "RepositoryAccessToken": { - "type": "string" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryOwner": { - "type": "string" - } - }, - "required": [ - "RepositoryName", - "RepositoryOwner" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStar::GitHubRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.Code": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeStarConnections::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "HostArn": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarConnections::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetailType": { - "type": "string" - }, - "EventTypeIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" - }, - "type": "array" - } - }, - "required": [ - "DetailType", - "EventTypeIds", - "Name", - "Resource", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarNotifications::NotificationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule.Target": { - "additionalProperties": false, - "properties": { - "TargetAddress": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowClassicFlow": { - "type": "boolean" - }, - "AllowUnauthenticatedIdentities": { - "type": "boolean" - }, - "CognitoEvents": { - "type": "object" - }, - "CognitoIdentityProviders": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" - }, - "type": "array" - }, - "CognitoStreams": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" - }, - "DeveloperProviderName": { - "type": "string" - }, - "IdentityPoolName": { - "type": "string" - }, - "OpenIdConnectProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PushSync": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" - }, - "SamlProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedLoginProviders": { - "type": "object" - } - }, - "required": [ - "AllowUnauthenticatedIdentities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "ServerSideTokenCheck": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoStreams": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "StreamingStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.PushSync": { - "additionalProperties": false, - "properties": { - "ApplicationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityPoolId": { - "type": "string" - }, - "RoleMappings": { - "type": "object" - }, - "Roles": { - "type": "object" - } - }, - "required": [ - "IdentityPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { - "additionalProperties": false, - "properties": { - "Claim": { - "type": "string" - }, - "MatchType": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Claim", - "MatchType", - "RoleARN", - "Value" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { - "additionalProperties": false, - "properties": { - "AmbiguousRoleResolution": { - "type": "string" - }, - "IdentityProvider": { - "type": "string" - }, - "RulesConfiguration": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Cognito::UserPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountRecoverySetting": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" - }, - "AdminCreateUserConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" - }, - "AliasAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoVerifiedAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeviceConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" - }, - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" - }, - "EmailVerificationMessage": { - "type": "string" - }, - "EmailVerificationSubject": { - "type": "string" - }, - "EnabledMfas": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" - }, - "MfaConfiguration": { - "type": "string" - }, - "Policies": { - "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" - }, - "Schema": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" - }, - "type": "array" - }, - "SmsAuthenticationMessage": { - "type": "string" - }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" - }, - "SmsVerificationMessage": { - "type": "string" - }, - "UserPoolAddOns": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" - }, - "UserPoolName": { - "type": "string" - }, - "UserPoolTags": { - "type": "object" - }, - "UsernameAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UsernameConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" - }, - "VerificationMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.AccountRecoverySetting": { - "additionalProperties": false, - "properties": { - "RecoveryMechanisms": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdminCreateUserConfig": { - "additionalProperties": false, - "properties": { - "AllowAdminCreateUserOnly": { - "type": "boolean" - }, - "InviteMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" - }, - "UnusedAccountValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomEmailSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomSMSSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.DeviceConfiguration": { - "additionalProperties": false, - "properties": { - "ChallengeRequiredOnNewDevice": { - "type": "boolean" - }, - "DeviceOnlyRememberedOnUserPrompt": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.EmailConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.InviteMessageTemplate": { - "additionalProperties": false, - "properties": { - "EmailMessage": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "SMSMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" - }, - "CustomMessage": { - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" - }, - "DefineAuthChallenge": { - "type": "string" - }, - "KMSKeyID": { - "type": "string" - }, - "PostAuthentication": { - "type": "string" - }, - "PostConfirmation": { - "type": "string" - }, - "PreAuthentication": { - "type": "string" - }, - "PreSignUp": { - "type": "string" - }, - "PreTokenGeneration": { - "type": "string" - }, - "UserMigration": { - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.NumberAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" - }, - "MinValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PasswordPolicy": { - "additionalProperties": false, - "properties": { - "MinimumLength": { - "type": "number" - }, - "RequireLowercase": { - "type": "boolean" - }, - "RequireNumbers": { - "type": "boolean" - }, - "RequireSymbols": { - "type": "boolean" - }, - "RequireUppercase": { - "type": "boolean" - }, - "TemporaryPasswordValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.Policies": { - "additionalProperties": false, - "properties": { - "PasswordPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.RecoveryOption": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SchemaAttribute": { - "additionalProperties": false, - "properties": { - "AttributeDataType": { - "type": "string" - }, - "DeveloperOnlyAttribute": { - "type": "boolean" - }, - "Mutable": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "NumberAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" - }, - "Required": { - "type": "boolean" - }, - "StringAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SmsConfiguration": { - "additionalProperties": false, - "properties": { - "ExternalId": { - "type": "string" - }, - "SnsCallerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.StringAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxLength": { - "type": "string" - }, - "MinLength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UserPoolAddOns": { - "additionalProperties": false, - "properties": { - "AdvancedSecurityMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UsernameConfiguration": { - "additionalProperties": false, - "properties": { - "CaseSensitive": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.VerificationMessageTemplate": { - "additionalProperties": false, - "properties": { - "DefaultEmailOption": { - "type": "string" - }, - "EmailMessage": { - "type": "string" - }, - "EmailMessageByLink": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "EmailSubjectByLink": { - "type": "string" - }, - "SmsMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessTokenValidity": { - "type": "number" - }, - "AllowedOAuthFlows": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOAuthFlowsUserPoolClient": { - "type": "boolean" - }, - "AllowedOAuthScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AnalyticsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" - }, - "CallbackURLs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClientName": { - "type": "string" - }, - "DefaultRedirectURI": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomDomainConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" - }, - "Domain": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Domain", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolIdentityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeMapping": { - "type": "object" - }, - "IdpIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProviderDetails": { - "type": "object" - }, - "ProviderName": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ProviderName", - "ProviderType", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scopes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Name", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolResourceServer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { - "additionalProperties": false, - "properties": { - "ScopeDescription": { - "type": "string" - }, - "ScopeName": { - "type": "string" - } - }, - "required": [ - "ScopeDescription", - "ScopeName" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountTakeoverRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" - }, - "ClientId": { - "type": "string" - }, - "CompromisedCredentialsRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" - }, - "RiskExceptionConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - }, - "Notify": { - "type": "boolean" - } - }, - "required": [ - "EventAction", - "Notify" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { - "additionalProperties": false, - "properties": { - "HighAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "LowAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "MediumAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" - }, - "NotifyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - } - }, - "required": [ - "EventAction" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" - }, - "EventFilter": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "From": { - "type": "string" - }, - "MfaEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "NoActionEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "ReplyTo": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { - "additionalProperties": false, - "properties": { - "HtmlBody": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "TextBody": { - "type": "string" - } - }, - "required": [ - "Subject" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkippedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUICustomizationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CSS": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientMetadata": { - "type": "object" - }, - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" - }, - "MessageAction": { - "type": "string" - }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUser" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser.AttributeType": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "GroupName", - "UserPoolId", - "Username" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::AggregationAuthorization": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "object" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" - }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountAggregationSources": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" - }, - "type": "array" - }, - "ConfigurationAggregatorName": { - "type": "string" - }, - "OrganizationAggregationSource": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationAggregator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AccountIds" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { - "additionalProperties": false, - "properties": { - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RecordingGroup": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "RoleARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationRecorder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingGroup": { - "additionalProperties": false, - "properties": { - "AllSupported": { - "type": "boolean" - }, - "IncludeGlobalResourceTypes": { - "type": "boolean" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::ConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "ConformancePackName": { - "type": "string" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "ConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigSnapshotDeliveryProperties": { - "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" - }, - "Name": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "S3KmsKeyArn": { - "type": "string" - }, - "SnsTopicARN": { - "type": "string" - } - }, - "required": [ - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::DeliveryChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { - "additionalProperties": false, - "properties": { - "DeliveryFrequency": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::OrganizationConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConfigRuleName": { - "type": "string" - }, - "OrganizationCustomRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" - }, - "OrganizationManagedRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" - } - }, - "required": [ - "OrganizationConfigRuleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "LambdaFunctionArn": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn", - "OrganizationConfigRuleTriggerTypes" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleIdentifier": { - "type": "string" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "RuleIdentifier" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConformancePackName": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "OrganizationConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Automatic": { - "type": "boolean" - }, - "ConfigRuleName": { - "type": "string" - }, - "ExecutionControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" - }, - "MaximumAutomaticAttempts": { - "type": "number" - }, - "Parameters": { - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "RetryAttemptSeconds": { - "type": "number" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - }, - "TargetVersion": { - "type": "string" - } - }, - "required": [ - "ConfigRuleName", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::RemediationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ExecutionControls": { - "additionalProperties": false, - "properties": { - "SsmControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.RemediationParameterValue": { - "additionalProperties": false, - "properties": { - "ResourceValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" - }, - "StaticValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ResourceValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.SsmControls": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutionRatePercentage": { - "type": "number" - }, - "ErrorPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.StaticValue": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::StoredQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "QueryDescription": { - "type": "string" - }, - "QueryExpression": { - "type": "string" - }, - "QueryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "QueryExpression", - "QueryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::StoredQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::CustomerProfiles::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeadLetterQueueUrl": { - "type": "string" - }, - "DefaultEncryptionKey": { - "type": "string" - }, - "DefaultExpirationDays": { - "type": "number" - }, - "DomainName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "FlowDefinition": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Uri": { - "type": "string" - } - }, - "required": [ - "DomainName", - "ObjectTypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.FlowDefinition": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FlowName": { - "type": "string" - }, - "KmsArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" - } - }, - "required": [ - "FlowName", - "KmsArn", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "FirstExecutionFrom": { - "type": "number" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleStartTime": { - "type": "number" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Marketo": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { - "additionalProperties": false, - "properties": { - "OperatorPropertyKey": { - "type": "string" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "OperatorPropertyKey", - "Property" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerProperties": { - "additionalProperties": false, - "properties": { - "Scheduled": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowProfileCreation": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "ExpirationDays": { - "type": "number" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" - }, - "type": "array" - }, - "Keys": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" - }, - "type": "array" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::ObjectType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.FieldMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeField": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.KeyMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeKeyList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { - "additionalProperties": false, - "properties": { - "FieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DAX::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterEndpointEncryptionType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NotificationTopicARN": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationFactor": { - "type": "number" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetGroupName": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "IAMRoleARN", - "NodeType", - "ReplicationFactor" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DAX::Cluster.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DAX::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "ParameterNameValues": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DAX::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "PolicyDetails": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DLM::LifecyclePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Action": { - "additionalProperties": false, - "properties": { - "CrossRegionCopy": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CrossRegionCopy", - "Name" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CreateRule": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Times": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" - }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Target" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.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" - }, - "NoReboot": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.PolicyDetails": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" - }, - "type": "array" - }, - "EventSource": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" - }, - "PolicyType": { - "type": "string" - }, - "ResourceLocations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Schedules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" - }, - "type": "array" - }, - "TargetTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.RetainRule": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Schedule": { - "additionalProperties": false, - "properties": { - "CopyTags": { - "type": "boolean" - }, - "CreateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" - }, - "CrossRegionCopyRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateIdentifier": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateWallet": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DMS::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" - }, - "DynamoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" - }, - "ElasticsearchSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" - }, - "EndpointIdentifier": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EngineName": { - "type": "string" - }, - "ExtraConnectionAttributes": { - "type": "string" - }, - "IbmDb2Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" - }, - "KafkaSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" - }, - "KinesisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" - }, - "KmsKeyId": { - "type": "string" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" - }, - "NeptuneSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" - }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" - }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" - }, - "ResourceIdentifier": { - "type": "string" - }, - "S3Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" - }, - "ServerName": { - "type": "string" - }, - "SslMode": { - "type": "string" - }, - "SybaseSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "EngineName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::Endpoint.DocDbSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.DynamoDbSettings": { - "additionalProperties": false, - "properties": { - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.ElasticsearchSettings": { - "additionalProperties": false, - "properties": { - "EndpointUri": { - "type": "string" - }, - "ErrorRetryDuration": { - "type": "number" - }, - "FullLoadErrorPercentage": { - "type": "number" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.IbmDb2Settings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KafkaSettings": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KinesisSettings": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MongoDbSettings": { - "additionalProperties": false, - "properties": { - "AuthMechanism": { - "type": "string" - }, - "AuthSource": { - "type": "string" - }, - "AuthType": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocsToInvestigate": { - "type": "string" - }, - "ExtractDocId": { - "type": "string" - }, - "NestingLevel": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - }, - "ServerName": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MySqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.NeptuneSettings": { - "additionalProperties": false, - "properties": { - "ErrorRetryDuration": { - "type": "number" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "MaxFileSize": { - "type": "number" - }, - "MaxRetryCount": { - "type": "number" - }, - "S3BucketFolder": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.OracleSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmSecretId": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.PostgreSqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedshiftSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.S3Settings": { - "additionalProperties": false, - "properties": { - "BucketFolder": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "CsvDelimiter": { - "type": "string" - }, - "CsvRowDelimiter": { - "type": "string" - }, - "ExternalTableDefinition": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.SybaseSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "number" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReplicationInstanceClass": { - "type": "string" - }, - "ReplicationInstanceIdentifier": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationSubnetGroupDescription": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReplicationSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdcStartPosition": { - "type": "string" - }, - "CdcStartTime": { - "type": "number" - }, - "CdcStopPosition": { - "type": "string" - }, - "MigrationType": { - "type": "string" - }, - "ReplicationInstanceArn": { - "type": "string" - }, - "ReplicationTaskIdentifier": { - "type": "string" - }, - "ReplicationTaskSettings": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "SourceEndpointArn": { - "type": "string" - }, - "TableMappings": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetEndpointArn": { - "type": "string" - }, - "TaskData": { - "type": "string" - } - }, - "required": [ - "MigrationType", - "ReplicationInstanceArn", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" - }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" - }, - "Name": { - "type": "string" - }, - "PathOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Input", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.CsvOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "HeaderRow": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatabaseInputDefinition": { - "additionalProperties": false, - "properties": { - "DatabaseTableName": { - "type": "string" - }, - "GlueConnectionName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatasetParameter": { - "additionalProperties": false, - "properties": { - "CreateColumn": { - "type": "boolean" - }, - "DatetimeOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" - }, - "Filter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.DatetimeOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "LocaleCode": { - "type": "string" - }, - "TimezoneOffset": { - "type": "string" - } - }, - "required": [ - "Format" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.ExcelOptions": { - "additionalProperties": false, - "properties": { - "HeaderRow": { - "type": "boolean" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.FilesLimit": { - "additionalProperties": false, - "properties": { - "MaxFiles": { - "type": "number" - }, - "Order": { - "type": "string" - }, - "OrderedBy": { - "type": "string" - } - }, - "required": [ - "MaxFiles" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterExpression": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "ValuesMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ValuesMap" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "ValueReference": { - "type": "string" - } - }, - "required": [ - "Value", - "ValueReference" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" - }, - "Excel": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" - }, - "Json": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.Input": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" - }, - "DatabaseInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.JsonOptions": { - "additionalProperties": false, - "properties": { - "MultiLine": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathOptions": { - "additionalProperties": false, - "properties": { - "FilesLimit": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" - }, - "LastModifiedDateCondition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathParameter": { - "additionalProperties": false, - "properties": { - "DatasetParameter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" - }, - "PathParameterName": { - "type": "string" - } - }, - "required": [ - "DatasetParameter", - "PathParameterName" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "type": "object" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "RoleArn", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Job.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.JobSample": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.Output": { - "additionalProperties": false, - "properties": { - "CompressionFormat": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" - }, - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" - }, - "Overwrite": { - "type": "boolean" - }, - "PartitionColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::DataBrew::Job.OutputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.OutputLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "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" - }, - "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" - }, - "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": { - "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" - }, - "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::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecipeName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sample": { - "$ref": "#/definitions/AWS::DataBrew::Project.Sample" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetName", - "Name", - "RecipeName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Project.Sample": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Steps" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Recipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.Action": { - "additionalProperties": false, - "properties": { - "Operation": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" - } - }, - "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.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeParameters": { - "additionalProperties": false, - "properties": { - "AggregateFunction": { - "type": "string" - }, - "Base": { - "type": "string" - }, - "CaseStatement": { - "type": "string" - }, - "CategoryMap": { - "type": "string" - }, - "CharsToRemove": { - "type": "string" - }, - "CollapseConsecutiveWhitespace": { - "type": "string" - }, - "ColumnDataType": { - "type": "string" - }, - "ColumnRange": { - "type": "string" - }, - "Count": { - "type": "string" - }, - "CustomCharacters": { - "type": "string" - }, - "CustomStopWords": { - "type": "string" - }, - "CustomValue": { - "type": "string" - }, - "DatasetsColumns": { - "type": "string" - }, - "DateAddValue": { - "type": "string" - }, - "DateTimeFormat": { - "type": "string" - }, - "DateTimeParameters": { - "type": "string" - }, - "DeleteOtherRows": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "EndPattern": { - "type": "string" - }, - "EndPosition": { - "type": "string" - }, - "EndValue": { - "type": "string" - }, - "ExpandContractions": { - "type": "string" - }, - "Exponent": { - "type": "string" - }, - "FalseString": { - "type": "string" - }, - "GroupByAggFunctionOptions": { - "type": "string" - }, - "GroupByColumns": { - "type": "string" - }, - "HiddenColumns": { - "type": "string" - }, - "IgnoreCase": { - "type": "string" - }, - "IncludeInSplit": { - "type": "string" - }, - "Input": { - "type": "object" - }, - "Interval": { - "type": "string" - }, - "IsText": { - "type": "string" - }, - "JoinKeys": { - "type": "string" - }, - "JoinType": { - "type": "string" - }, - "LeftColumns": { - "type": "string" - }, - "Limit": { - "type": "string" - }, - "LowerBound": { - "type": "string" - }, - "MapType": { - "type": "string" - }, - "ModeType": { - "type": "string" - }, - "MultiLine": { - "type": "boolean" - }, - "NumRows": { - "type": "string" - }, - "NumRowsAfter": { - "type": "string" - }, - "NumRowsBefore": { - "type": "string" - }, - "OrderByColumn": { - "type": "string" - }, - "OrderByColumns": { - "type": "string" - }, - "Other": { - "type": "string" - }, - "Pattern": { - "type": "string" - }, - "PatternOption1": { - "type": "string" - }, - "PatternOption2": { - "type": "string" - }, - "PatternOptions": { - "type": "string" - }, - "Period": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "RemoveAllPunctuation": { - "type": "string" - }, - "RemoveAllQuotes": { - "type": "string" - }, - "RemoveAllWhitespace": { - "type": "string" - }, - "RemoveCustomCharacters": { - "type": "string" - }, - "RemoveCustomValue": { - "type": "string" - }, - "RemoveLeadingAndTrailingPunctuation": { - "type": "string" - }, - "RemoveLeadingAndTrailingQuotes": { - "type": "string" - }, - "RemoveLeadingAndTrailingWhitespace": { - "type": "string" - }, - "RemoveLetters": { - "type": "string" - }, - "RemoveNumbers": { - "type": "string" - }, - "RemoveSourceColumn": { - "type": "string" - }, - "RemoveSpecialCharacters": { - "type": "string" - }, - "RightColumns": { - "type": "string" - }, - "SampleSize": { - "type": "string" - }, - "SampleType": { - "type": "string" - }, - "SecondInput": { - "type": "string" - }, - "SecondaryInputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" - }, - "type": "array" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceColumn": { - "type": "string" - }, - "SourceColumn1": { - "type": "string" - }, - "SourceColumn2": { - "type": "string" - }, - "SourceColumns": { - "type": "string" - }, - "StartColumnIndex": { - "type": "string" - }, - "StartPattern": { - "type": "string" - }, - "StartPosition": { - "type": "string" - }, - "StartValue": { - "type": "string" - }, - "StemmingMode": { - "type": "string" - }, - "StepCount": { - "type": "string" - }, - "StepIndex": { - "type": "string" - }, - "StopWordsMode": { - "type": "string" - }, - "Strategy": { - "type": "string" - }, - "TargetColumn": { - "type": "string" - }, - "TargetColumnNames": { - "type": "string" - }, - "TargetDateFormat": { - "type": "string" - }, - "TargetIndex": { - "type": "string" - }, - "TimeZone": { - "type": "string" - }, - "TokenizerPattern": { - "type": "string" - }, - "TrueString": { - "type": "string" - }, - "UdfLang": { - "type": "string" - }, - "Units": { - "type": "string" - }, - "UnpivotColumn": { - "type": "string" - }, - "UpperBound": { - "type": "string" - }, - "UseNewDataFrame": { - "type": "string" - }, - "Value": { - "type": "string" - }, - "Value1": { - "type": "string" - }, - "Value2": { - "type": "string" - }, - "ValueColumn": { - "type": "string" - }, - "ViewFrame": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeStep": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" - }, - "ConditionExpressions": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" - }, - "type": "array" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.SecondaryInput": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Schedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "JobNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CronExpression", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Schedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParameterObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "type": "array" - }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "type": "array" - }, - "PipelineObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" - }, - "type": "array" - }, - "PipelineTags": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "ParameterObjects" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataPipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.Field": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" - }, - "type": "array" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "Attributes", - "Id" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterValue": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Id", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineObject": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::DataSync::Agent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActivationKey": { - "type": "string" - }, - "AgentName": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - } - }, - "required": [ - "ActivationKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Agent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2Config": { - "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" - }, - "EfsFilesystemArn": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Ec2Config", - "EfsFilesystemArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationEFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS.Ec2Config": { - "additionalProperties": false, - "properties": { - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArn": { - "type": "string" - } - }, - "required": [ - "SecurityGroupArns", - "SubnetArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxWindows": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "FsxFilesystemArn": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "FsxFilesystemArn", - "Password", - "SecurityGroupArns", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxWindows" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" - }, - "OnPremConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "OnPremConfig", - "ServerHostname", - "Subdirectory" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationNFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationNFS.OnPremConfig": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AgentArns" - ], - "type": "object" - }, - "AWS::DataSync::LocationObjectStorage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BucketName": { - "type": "string" - }, - "SecretKey": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "ServerPort": { - "type": "number" - }, - "ServerProtocol": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AgentArns", - "BucketName", - "ServerHostname" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationObjectStorage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "S3BucketArn": { - "type": "string" - }, - "S3Config": { - "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" - }, - "S3StorageClass": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "S3BucketArn", - "S3Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationS3" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3.S3Config": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "type": "string" - } - }, - "required": [ - "BucketAccessRoleArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Domain": { - "type": "string" - }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" - }, - "Password": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "AgentArns", - "Password", - "ServerHostname", - "Subdirectory", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationSMB" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "DestinationLocationArn": { - "type": "string" - }, - "Excludes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Options": { - "$ref": "#/definitions/AWS::DataSync::Task.Options" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" - }, - "SourceLocationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationLocationArn", - "SourceLocationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::Task.FilterRule": { - "additionalProperties": false, - "properties": { - "FilterType": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Options": { - "additionalProperties": false, - "properties": { - "Atime": { - "type": "string" - }, - "BytesPerSecond": { - "type": "number" - }, - "Gid": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "Mtime": { - "type": "string" - }, - "OverwriteMode": { - "type": "string" - }, - "PosixPermissions": { - "type": "string" - }, - "PreserveDeletedFiles": { - "type": "string" - }, - "PreserveDevices": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisableEmailNotification": { - "type": "boolean" - }, - "GraphArn": { - "type": "string" - }, - "MemberEmailAddress": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::MemberInvitation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Config": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" - } - }, - "required": [ - "Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceCollectionFilter": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" - } - }, - "required": [ - "ResourceCollectionFilter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::ResourceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { - "additionalProperties": false, - "properties": { - "StackNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { - "additionalProperties": false, - "properties": { - "CloudFormation": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" - } - }, - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::MicrosoftAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "Size", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::SimpleAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DocDB::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MasterUserPassword", - "MasterUsername" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" - }, - "type": "array" - }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" - }, - "type": "array" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "AttributeDefinitions", - "KeySchema", - "Replicas" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::GlobalTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SeedCapacity": { - "type": "number" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "TargetTrackingScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "ReadCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - }, - "ReadCapacityUnits": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - } - }, - "required": [ - "KMSMasterKeyId" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - }, - "Region": { - "type": "string" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "DisableScaleIn": { - "type": "boolean" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "WriteCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" - } - }, - "required": [ - "KeySchema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KinesisStreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamArn": { - "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "AttributeName", - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "EbsOptimized": { - "type": "boolean" - }, - "EndDate": { - "type": "string" - }, - "EndDateType": { - "type": "string" - }, - "EphemeralStorage": { - "type": "boolean" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CapacityReservation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CarrierGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnAuthorizationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessGroupId": { - "type": "string" - }, - "AuthorizeAllGroups": { - "type": "boolean" - }, - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "TargetNetworkCidr": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "type": "array" - }, - "ClientCidrBlock": { - "type": "string" - }, - "ClientConnectOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" - }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" - }, - "Description": { - "type": "string" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfServicePortal": { - "type": "string" - }, - "ServerCertificateArn": { - "type": "string" - }, - "SplitTunnel": { - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" - }, - "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" - } - }, - "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ClientRootCertificateChainArn": { - "type": "string" - } - }, - "required": [ - "ClientRootCertificateChainArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" - }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" - }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { - "type": "string" - }, - "CloudwatchLogStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { - "type": "string" - }, - "SelfServiceSAMLProviderArn": { - "type": "string" - } - }, - "required": [ - "SAMLProviderArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType", - "Tags" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::DHCPOptions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::DHCPOptions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EC2Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "CapacityReservationOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" - } - }, - "required": [ - "TotalTargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::EIP": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "PublicIpv4Pool": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIP" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EIPAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "EIP": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::EnclaveCertificateIamRoleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::FlowLog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficType": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "ResourceType", - "TrafficType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::FlowLog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::GatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - } - }, - "required": [ - "GatewayId", - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Host": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPlacement": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "HostRecovery": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Host" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Instance": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" - }, - "type": "array" - }, - "Monitoring": { - "type": "boolean" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" - }, - "type": "array" - }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EC2::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" - }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::Instance.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "AWS::EC2::Instance.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" - }, - "type": "array" - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "VolumeId" - ], - "type": "object" - }, - "AWS::EC2::InternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::InternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" - }, - "LaunchTemplateName": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LaunchTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { - "additionalProperties": false, - "properties": { - "CapacityReservationPreference": { - "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { - "additionalProperties": false, - "properties": { - "CapacityReservationId": { - "type": "string" - }, - "CapacityReservationResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "Throughput": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { - "additionalProperties": false, - "properties": { - "MarketType": { - "type": "string" - }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociateCarrierIpAddress": { - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkCardIndex": { - "type": "number" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "LocalGatewayRouteTableId": { - "type": "string" - }, - "LocalGatewayVirtualInterfaceGroupId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LocalGatewayRouteTableId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "LocalGatewayRouteTableId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NatGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "ConnectivityType": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAcl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "NetworkAclId": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAclEntry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.Icmp": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "number" - }, - "Type": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterInArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkInsightsPathId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "NetworkInsightsPathId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "ComponentId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "Protocol": { - "type": "string" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "number" - }, - "LoadBalancerPort": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "Instance": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { - "additionalProperties": false, - "properties": { - "DestinationAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DestinationPortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SourceAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { - "additionalProperties": false, - "properties": { - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Origin": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - }, - "destinationCidr": { - "type": "string" - }, - "destinationPrefixListId": { - "type": "string" - }, - "egressOnlyInternetGatewayId": { - "type": "string" - }, - "gatewayId": { - "type": "string" - }, - "instanceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "PrefixListId": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.Explanation": { - "additionalProperties": false, - "properties": { - "Acl": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Address": { - "type": "string" - }, - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AttachedTo": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClassicLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "CustomerGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Direction": { - "type": "string" - }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "ExplanationCode": { - "type": "string" - }, - "IngressRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerArn": { - "type": "string" - }, - "LoadBalancerListenerPort": { - "type": "number" - }, - "LoadBalancerTarget": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" - }, - "LoadBalancerTargetGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerTargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "LoadBalancerTargetPort": { - "type": "number" - }, - "MissingComponent": { - "type": "string" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "PacketField": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "PrefixList": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Protocols": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "State": { - "type": "string" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SubnetRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpcPeeringConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "vpcEndpoint": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { - "additionalProperties": false, - "properties": { - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "OutboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SequenceNumber": { - "type": "number" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsPath": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationIp": { - "type": "string" - }, - "DestinationPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourceIp": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Protocol", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsPath" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfacePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfacePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PlacementGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Strategy": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PlacementGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::PrefixList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddressFamily": { - "type": "string" - }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" - }, - "MaxEntries": { - "type": "number" - }, - "PrefixListName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PrefixList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, - "GatewayId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - } - }, - "required": [ - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::RouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::RouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupDescription": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "SecurityGroupEgress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" - }, - "type": "array" - }, - "SecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Egress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupEgress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" - } - }, - "required": [ - "SpotFleetRequestConfigData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SpotFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" - } - }, - "required": [ - "ClassicLoadBalancers" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.GroupIdentifier": { - "additionalProperties": false, - "properties": { - "GroupId": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" - }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotCapacityRebalance": { - "additionalProperties": false, - "properties": { - "ReplacementStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "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" - }, - "TargetCapacity": { - "type": "number" - }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { - "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotPlacement": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { - "additionalProperties": false, - "properties": { - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" - }, - "type": "array" - } - }, - "required": [ - "TargetGroups" - ], - "type": "object" - }, - "AWS::EC2::Subnet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "CidrBlock", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Subnet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ipv6CidrBlock": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "Ipv6CidrBlock", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetCidrBlock" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetNetworkAclAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NetworkAclId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "NetworkAclId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "RouteTableId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "TrafficDirection": { - "type": "string" - }, - "TrafficMirrorFilterId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorSession": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } - }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "NetworkLoadBalancerArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TransitGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransportTransitGatewayAttachmentId": { - "type": "string" - } - }, - "required": [ - "Options", - "TransportTransitGatewayAttachmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayConnect" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { - "additionalProperties": false, - "properties": { - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomainAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "SubnetId", - "TransitGatewayAttachmentId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupMember": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayPeeringAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerAccountId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerTransitGatewayId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "PeerAccountId", - "PeerRegion", - "PeerTransitGatewayId", - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "EnableDnsHostnames": { - "type": "boolean" - }, - "EnableDnsSupport": { - "type": "boolean" - }, - "InstanceTenancy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DhcpOptionsId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DhcpOptionsId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PrivateDnsEnabled": { - "type": "boolean" - }, - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointType": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "ServiceName", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointConnectionNotification": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "GatewayLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCGatewayAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InternetGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCPeeringConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerOwnerId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerRoleArn": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "PeerVpcId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCPeeringConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" - } - }, - "required": [ - "CustomerGatewayId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "PreSharedKey": { - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnectionRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "VpnConnectionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnectionRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGatewayRoutePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "RouteTableIds", - "VpnGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throughput": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VolumeAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VolumeAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RepositoryCatalogData": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyText": { - "type": "object" - } - }, - "required": [ - "PolicyText" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" - } - }, - "required": [ - "ReplicationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::ReplicationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "required": [ - "Region", - "RegistryId" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationRule": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" - }, - "type": "array" - } - }, - "required": [ - "Destinations" - ], - "type": "object" - }, - "AWS::ECR::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" - }, - "ImageScanningConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::Repository.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionType" - ], - "type": "object" - }, - "AWS::ECR::Repository.ImageScanningConfiguration": { - "additionalProperties": false, - "properties": { - "ScanOnPush": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AutoScalingGroupProvider" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::CapacityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "InstanceWarmupPeriod": { - "type": "number" - }, - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" - }, - "type": "array" - } - }, - "required": [ - "CapacityProviders", - "Cluster", - "DefaultCapacityProviderStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "CapacityProvider" - ], - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "Service": { - "type": "string" - }, - "TaskSetId": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskSetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::PrimaryTaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Service.PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" - }, - "type": "array" - }, - "IpcMode": { - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "type": "string" - }, - "PidMode": { - "type": "string" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "type": "object" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" - }, - "ClientToken": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" - }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.AccessPointTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.RootDirectory": { - "additionalProperties": false, - "properties": { - "CreationInfo": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneName": { - "type": "string" - }, - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" - }, - "BypassPolicyLockoutSafetyCheck": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { - "type": "string" - }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { - "type": "string" - } - }, - "required": [ - "TransitionToIA" - ], - "type": "object" - }, - "AWS::EFS::MountTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Addon": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddonName": { - "type": "string" - }, - "AddonVersion": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "ResolveConflicts": { - "type": "string" - }, - "ServiceAccountRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddonName", - "ClusterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Addon" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfig": { - "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" - }, - "type": "array" - }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ResourcesVpcConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster.EncryptionConfig": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::EKS::Cluster.Provider" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::FargateProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmiType": { - "type": "string" - }, - "CapacityType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { - "type": "boolean" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" - }, - "NodeRole": { - "type": "string" - }, - "NodegroupName": { - "type": "string" - }, - "ReleaseVersion": { - "type": "string" - }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" - }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Taints": { - "items": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" - }, - "type": "array" - }, - "UpdateConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ClusterName", - "NodeRole", - "Subnets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Nodegroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.Taint": { - "additionalProperties": false, - "properties": { - "Effect": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.UpdateConfig": { - "additionalProperties": false, - "properties": { - "MaxUnavailable": { - "type": "number" - }, - "MaxUnavailablePercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" - } - }, - "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Application": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" - } - }, - "required": [ - "Name", - "ScriptBootstrapAction" - ], - "type": "object" - }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ComputeLimits": { - "additionalProperties": false, - "properties": { - "MaximumCapacityUnits": { - "type": "number" - }, - "MaximumCoreCapacityUnits": { - "type": "number" - }, - "MaximumOnDemandCapacityUnits": { - "type": "number" - }, - "MinimumCapacityUnits": { - "type": "number" - }, - "UnitType": { - "type": "string" - } - }, - "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::Cluster.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { - "additionalProperties": false, - "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Ec2KeyName": { - "type": "string" - }, - "Ec2SubnetId": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmrManagedMasterSecurityGroup": { - "type": "string" - }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" - }, - "HadoopVersion": { - "type": "string" - }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" - }, - "ServiceAccessSecurityGroup": { - "type": "string" - }, - "TerminationProtected": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.KerberosAttributes": { - "additionalProperties": false, - "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" - }, - "KdcAdminPassword": { - "type": "string" - }, - "Realm": { - "type": "string" - } - }, - "required": [ - "KdcAdminPassword", - "Realm" - ], - "type": "object" - }, - "AWS::EMR::Cluster.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::Cluster.PlacementType": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::Cluster.StepConfig": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "HadoopJarStep", - "Name" - ], - "type": "object" - }, - "AWS::EMR::Cluster.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "InstanceFleetType": { - "type": "string" - }, - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" - }, - "JobFlowId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Step.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthMode": { - "type": "string" - }, - "DefaultS3Location": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineSecurityGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserRole": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "WorkspaceSecurityGroupId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultS3Location", - "EngineSecurityGroupId", - "Name", - "ServiceRole", - "SubnetIds", - "UserRole", - "VpcId", - "WorkspaceSecurityGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::StudioSessionMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityName": { - "type": "string" - }, - "IdentityType": { - "type": "string" - }, - "SessionPolicyArn": { - "type": "string" - }, - "StudioId": { - "type": "string" - } - }, - "required": [ - "IdentityName", - "IdentityType", - "SessionPolicyArn", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::StudioSessionMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProvider": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerProvider", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMRContainers::VirtualCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerInfo": { - "additionalProperties": false, - "properties": { - "EksInfo": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" - } - }, - "required": [ - "EksInfo" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerProvider": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Info": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Info", - "Type" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.EksInfo": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::CacheCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalNodeGroupCount": { - "type": "number" - }, - "GlobalReplicationGroupDescription": { - "type": "string" - }, - "GlobalReplicationGroupIdSuffix": { - "type": "string" - }, - "Members": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" - }, - "type": "array" - }, - "RegionalConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Members" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::GlobalReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "Role": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "ReshardingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheParameterGroupFamily": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CacheParameterGroupFamily", - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { - "type": "string" - }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnapshottingClusterId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "UserGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSubnetGroupName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessString": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "NoPasswordRequired": { - "type": "boolean" - }, - "Passwords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserId": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Engine", - "UserId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::UserGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Engine": { - "type": "string" - }, - "UserGroupId": { - "type": "string" - }, - "UserIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine", - "UserGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::UserGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "ServiceRole": { - "type": "string" - }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { - "additionalProperties": false, - "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" - }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxAgeInDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ApplicationName", - "TemplateName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { - "additionalProperties": false, - "properties": { - "EmitInterval": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "S3BucketName": { - "type": "string" - }, - "S3BucketPrefix": { - "type": "string" - } - }, - "required": [ - "Enabled", - "S3BucketName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieName": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "CookieName", - "PolicyName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeout": { - "type": "number" - } - }, - "required": [ - "IdleTimeout" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "string" - }, - "Interval": { - "type": "string" - }, - "Target": { - "type": "string" - }, - "Timeout": { - "type": "string" - }, - "UnhealthyThreshold": { - "type": "string" - } - }, - "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieExpirationPeriod": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "string" - }, - "InstanceProtocol": { - "type": "string" - }, - "LoadBalancerPort": { - "type": "string" - }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SSLCertificateId": { - "type": "string" - } - }, - "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - } - }, - "required": [ - "Attributes", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" - }, - "DefaultActions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" - }, - "type": "array" - }, - "LoadBalancerArn": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" - } - }, - "required": [ - "DefaultActions", - "LoadBalancerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - } - }, - "required": [ - "Certificates", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UseExistingClientSecret": { - "type": "boolean" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IpAddressType": { - "type": "string" - }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - }, - "PrivateIPv4Address": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { - "additionalProperties": false, - "properties": { - "GrpcCode": { - "type": "string" - }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicies": { - "type": "object" - }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" - }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" - }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" - }, - "DomainName": { - "type": "string" - }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" - }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" - }, - "ElasticsearchVersion": { - "type": "string" - }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" - }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } - }, - "type": "object" - }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" - }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Elasticsearch::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "CustomEndpoint": { - "type": "string" - }, - "CustomEndpointCertificateArn": { - "type": "string" - }, - "CustomEndpointEnabled": { - "type": "boolean" - }, - "EnforceHTTPS": { - "type": "boolean" - }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { - "additionalProperties": false, - "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { - "type": "string" - }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { - "additionalProperties": false, - "properties": { - "MasterUserARN": { - "type": "string" - }, - "MasterUserName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.VPCOptions": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Discoverer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { - "type": "string" - } - }, - "required": [ - "Policy", - "RegistryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "SchemaName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Content", - "RegistryName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::ApiDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "InvocationEndpoint": { - "type": "string" - }, - "InvocationRateLimitPerSecond": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ConnectionArn", - "HttpMethod", - "InvocationEndpoint" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::ApiDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Archive": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArchiveName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "RetentionDays": { - "type": "number" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Archive" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthParameters": { - "type": "object" - }, - "AuthorizationType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "AuthParameters", - "AuthorizationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBus": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EventSourceName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBus" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "Statement": { - "type": "object" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBusPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { - "additionalProperties": false, - "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputTemplate": { - "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { - "type": "string" - } - }, - "required": [ - "PartitionKeyPath" - ], - "type": "object" - }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { - "type": "string" - }, - "WithEvent": { - "type": "boolean" - } - }, - "required": [ - "Database", - "Sql" - ], - "type": "object" - }, - "AWS::Events::Rule.RetryPolicy": { - "additionalProperties": false, - "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" - } - }, - "required": [ - "RunCommandTargets" - ], - "type": "object" - }, - "AWS::Events::Rule.RunCommandTarget": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" - } - }, - "required": [ - "MessageGroupId" - ], - "type": "object" - }, - "AWS::Events::Rule.Target": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" - }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" - }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" - } - }, - "required": [ - "Arn", - "Id" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StopConditions": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" - } - }, - "type": "object" - } - }, - "required": [ - "Description", - "RoleArn", - "StopConditions", - "Tags", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::ExperimentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { - "additionalProperties": false, - "properties": { - "ActionId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "StartAfter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ActionId" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "SelectionMode": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "SelectionMode" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Path", - "Values" - ], - "type": "object" - }, - "AWS::FMS::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SnsRoleName": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "SnsRoleName", - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "PolicyName": { - "type": "string" - }, - "RemediationEnabled": { - "type": "boolean" - }, - "ResourceTags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" - }, - "type": "array" - }, - "ResourceType": { - "type": "string" - }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityServicePolicyData": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" - } - }, - "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy.IEMap": { - "additionalProperties": false, - "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::FMS::Policy.ResourceTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::FSx::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupId": { - "type": "string" - }, - "FileSystemType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" - } - }, - "required": [ - "FileSystemType", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FSx::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.AuditLogConfiguration": { - "additionalProperties": false, - "properties": { - "AuditLogDestination": { - "type": "string" - }, - "FileAccessAuditLogLevel": { - "type": "string" - }, - "FileShareAccessAuditLogLevel": { - "type": "string" - } - }, - "required": [ - "FileAccessAuditLogLevel", - "FileShareAccessAuditLogLevel" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DataCompressionType": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.WindowsConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuditLogConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "PreferredSubnetId": { - "type": "string" - }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "required": [ - "ThroughputCapacity" - ], - "type": "object" - }, - "AWS::FinSpace::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FederationMode": { - "type": "string" - }, - "FederationParameters": { - "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FinSpace::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FinSpace::Environment.FederationParameters": { - "additionalProperties": false, - "properties": { - "ApplicationCallBackURL": { - "type": "string" - }, - "AttributeMap": { - "type": "object" - }, - "FederationProviderName": { - "type": "string" - }, - "FederationURN": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "SamlMetadataURL": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedModels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "DetectorVersionStatus": { - "type": "string" - }, - "EventType": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" - }, - "RuleExecutionMode": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorId", - "EventType", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Detector.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" - }, - "type": "array" - }, - "Inline": { - "type": "boolean" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" - }, - "type": "array" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Model": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Outcome": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Rule": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "Language": { - "type": "string" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Outcomes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" - }, - "type": "array" - }, - "RuleId": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EntityType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EntityType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" - }, - "type": "array" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EntityTypes", - "EventVariables", - "Labels", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EventType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Label": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Label" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Outcome": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Outcome" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Variable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "required": [ - "DataSource", - "DataType", - "DefaultValue", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Variable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" - } - }, - "required": [ - "Name", - "RoutingStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias.RoutingStrategy": { - "additionalProperties": false, - "properties": { - "FleetId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GameLift::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" - }, - "type": "array" - }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "Locations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" - }, - "type": "array" - }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MinSize": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NewGameSessionProtectionPolicy": { - "type": "string" - }, - "PeerVpcAwsAccountId": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "IpRange": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationCapacity": { - "additionalProperties": false, - "properties": { - "DesiredEC2Instances": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "required": [ - "DesiredEC2Instances", - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "LocationCapacity": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { - "additionalProperties": false, - "properties": { - "NewGameSessionsPerCreator": { - "type": "number" - }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" - }, - "MaxConcurrentGameSessionActivations": { - "type": "number" - }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" - }, - "LaunchPath": { - "type": "string" - }, - "Parameters": { - "type": "string" - } - }, - "required": [ - "ConcurrentExecutions", - "LaunchPath" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" - } - }, - "required": [ - "TargetTrackingConfiguration" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomEventData": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" - }, - "type": "array" - }, - "FilterConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "PriorityConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameSessionQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.FilterConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedLocations": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { - "additionalProperties": false, - "properties": { - "LocationOrder": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PriorityOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { - "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" - }, - "type": "array" - }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "RequestTimeoutSeconds": { - "type": "number" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RuleSetBody": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleSetBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "StorageLocation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Accelerator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IpAddressType": { - "type": "string" - }, - "IpAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Accelerator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "number" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "ListenerArn": { - "type": "string" - }, - "PortOverrides": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" - }, - "type": "array" - }, - "ThresholdCount": { - "type": "number" - }, - "TrafficDialPercentage": { - "type": "number" - } - }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" - }, - "EndpointId": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "EndpointId" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { - "additionalProperties": false, - "properties": { - "EndpointPort": { - "type": "number" - }, - "ListenerPort": { - "type": "number" - } - }, - "required": [ - "EndpointPort", - "ListenerPort" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorArn": { - "type": "string" - }, - "ClientAffinity": { - "type": "string" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::Glue::Classifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" - }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" - }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" - }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RowTag": { - "type": "string" - } - }, - "required": [ - "Classification", - "RowTag" - ], - "type": "object" - }, - "AWS::Glue::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" - } - }, - "required": [ - "CatalogId", - "ConnectionInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Connection.ConnectionInput": { - "additionalProperties": false, - "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" - } - }, - "required": [ - "ConnectionType" - ], - "type": "object" - }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" - } - }, - "required": [ - "Role", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Crawler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "type": "string" - }, - "UpdateBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" - } - }, - "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" - } - }, - "required": [ - "CatalogId", - "DatabaseInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Database.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseInput": { - "additionalProperties": false, - "properties": { - "CreateTableDefaultPermissions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "TargetDatabase": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" - } - }, - "type": "object" - }, - "AWS::Glue::Database.PrincipalPrivileges": { - "additionalProperties": false, - "properties": { - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" - } - }, - "type": "object" - }, - "AWS::Glue::DevEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { - "type": "string" - }, - "ExtraJarsS3Path": { - "type": "string" - }, - "ExtraPythonLibsS3Path": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { - "type": "number" - }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DevEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "Command", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "TransformEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "InputRecordTables", - "Role", - "TransformParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::MLTransform" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.MLUserDataEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MLUserDataEncryptionMode": { - "type": "string" - } - }, - "required": [ - "MLUserDataEncryptionMode" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.TransformEncryption": { - "additionalProperties": false, - "properties": { - "MLUserDataEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" - }, - "TaskRunSecurityConfigurationName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" - }, - "TransformType": { - "type": "string" - } - }, - "required": [ - "TransformType" - ], - "type": "object" - }, - "AWS::Glue::Partition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Partition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Partition.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Partition.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Glue::Partition.PartitionInput": { - "additionalProperties": false, - "properties": { - "Parameters": { - "type": "object" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::Glue::Partition.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CheckpointVersion": { - "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" - }, - "Compatibility": { - "type": "string" - }, - "DataFormat": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Registry": { - "$ref": "#/definitions/AWS::Glue::Schema.Registry" - }, - "SchemaDefinition": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Compatibility", - "DataFormat", - "Name", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema.Registry": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Schema.SchemaVersion": { - "additionalProperties": false, - "properties": { - "IsLatest": { - "type": "boolean" - }, - "VersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Schema": { - "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" - }, - "SchemaDefinition": { - "type": "string" - } - }, - "required": [ - "Schema", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SchemaVersion.Schema": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersionMetadata": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "SchemaVersionId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "SchemaVersionId", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersionMetadata" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" - }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { - "additionalProperties": false, - "properties": { - "JobBookmarksEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "S3EncryptionMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "TableInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Table.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Table.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableInput": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Retention": { - "type": "number" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" - }, - "TableType": { - "type": "string" - }, - "TargetTable": { - "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" - }, - "ViewExpandedText": { - "type": "string" - }, - "ViewOriginalText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "WorkflowName": { - "type": "string" - } - }, - "required": [ - "Actions", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Trigger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Trigger.Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Condition": { - "additionalProperties": false, - "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" - }, - "type": "array" - }, - "Logical": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Workflow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultRunProperties": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Workflow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" - }, - "type": "array" - } - }, - "required": [ - "Connectors" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionId": { - "type": "string" - }, - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" - }, - "type": "array" - } - }, - "required": [ - "ConnectorDefinitionId", - "Connectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" - } - }, - "required": [ - "Cores" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CoreDefinitionId": { - "type": "string" - }, - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" - }, - "type": "array" - } - }, - "required": [ - "CoreDefinitionId", - "Cores" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceDefinitionId": { - "type": "string" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" - } - }, - "required": [ - "DeviceDefinitionId", - "Devices" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" - }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" - }, - "FunctionDefinitionId": { - "type": "string" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" - }, - "type": "array" - } - }, - "required": [ - "FunctionDefinitionId", - "Functions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::Group.GroupVersion": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Greengrass::GroupVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::GroupVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" - } - }, - "required": [ - "Loggers" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoggerDefinitionId": { - "type": "string" - }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" - } - }, - "required": [ - "LoggerDefinitionId", - "Loggers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceDefinitionId": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "ResourceDefinitionId", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" - } - }, - "required": [ - "Subscriptions" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubscriptionDefinitionId": { - "type": "string" - }, - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" - }, - "type": "array" - } - }, - "required": [ - "SubscriptionDefinitionId", - "Subscriptions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InlineRecipe": { - "type": "string" - }, - "LambdaFunction": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::ComponentVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { - "additionalProperties": false, - "properties": { - "DependencyType": { - "type": "string" - }, - "VersionRequirement": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" - }, - "type": "array" - }, - "MemorySizeInKB": { - "type": "number" - }, - "MountROSysfs": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "Path": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { - "additionalProperties": false, - "properties": { - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EventSources": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" - }, - "type": "array" - }, - "ExecArgs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InputPayloadEncodingType": { - "type": "string" - }, - "LinuxProcessParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" - }, - "MaxIdleTimeInSeconds": { - "type": "number" - }, - "MaxInstancesCount": { - "type": "number" - }, - "MaxQueueSize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "StatusTimeoutInSeconds": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { - "additionalProperties": false, - "properties": { - "ComponentDependencies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" - } - }, - "type": "object" - }, - "ComponentLambdaParameters": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" - }, - "ComponentName": { - "type": "string" - }, - "ComponentPlatforms": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" - }, - "type": "array" - }, - "ComponentVersion": { - "type": "string" - }, - "LambdaArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { - "additionalProperties": false, - "properties": { - "ContainerParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" - }, - "IsolationMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "DestinationPath": { - "type": "string" - }, - "Permission": { - "type": "string" - }, - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigData": { - "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConfigData", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::Config" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { - "additionalProperties": false, - "properties": { - "DecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" - }, - "DemodulationConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" - }, - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaUplinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" - }, - "TargetEirp": { - "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" - }, - "TransmitDisabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.ConfigData": { - "additionalProperties": false, - "properties": { - "AntennaDownlinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" - }, - "AntennaDownlinkDemodDecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" - }, - "AntennaUplinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" - }, - "DataflowEndpointConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" - }, - "S3RecordingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" - }, - "TrackingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" - }, - "UplinkEchoConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DataflowEndpointConfig": { - "additionalProperties": false, - "properties": { - "DataflowEndpointName": { - "type": "string" - }, - "DataflowEndpointRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DecodeConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DemodulationConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Eirp": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Frequency": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.FrequencyBandwidth": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.S3RecordingConfig": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.SpectrumConfig": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" - }, - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.TrackingConfig": { - "additionalProperties": false, - "properties": { - "Autotrack": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkEchoConfig": { - "additionalProperties": false, - "properties": { - "AntennaUplinkConfigArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkSpectrumConfig": { - "additionalProperties": false, - "properties": { - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointDetails": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::DataflowEndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" - }, - "Mtu": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" - }, - "SecurityDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::MissionProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactPostPassDurationSeconds": { - "type": "number" - }, - "ContactPrePassDurationSeconds": { - "type": "number" - }, - "DataflowEdges": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" - }, - "type": "array" - }, - "MinimumViableContactDurationSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrackingConfigArn": { - "type": "string" - } - }, - "required": [ - "DataflowEdges", - "MinimumViableContactDurationSeconds", - "Name", - "TrackingConfigArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::MissionProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::MissionProfile.DataflowEdge": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" - }, - "Enable": { - "type": "boolean" - }, - "FindingPublishingFrequency": { - "type": "string" - } - }, - "required": [ - "Enable" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Filter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Filter.Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" - }, - "Lte": { - "type": "number" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" - } - }, - "type": "object" - }, - "AWS::GuardDuty::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Master": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::ThreatIntelSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::AccessKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Serial": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::AccessKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::Group.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::InstanceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceProfileName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Roles" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::InstanceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ManagedPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ManagedPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::OIDCProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThumbprintList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ThumbprintList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::OIDCProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" - }, - "RoleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssumeRolePolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Role" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::SAMLProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SamlMetadataDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::SAMLProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ServerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateBody": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - }, - "ServerCertificateName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::ServiceLinkedRole": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AWSServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServiceLinkedRole" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::User.LoginProfile": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::UserToGroupAddition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GroupName", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::UserToGroupAddition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::VirtualMFADevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VirtualMfaDeviceName": { - "type": "string" - } - }, - "required": [ - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::VirtualMFADevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecordingConfigurationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IVS::PlaybackKeyPair": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfiguration": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::RecordingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "ContainerType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DockerfileTemplateData": { - "type": "string" - }, - "DockerfileTemplateUri": { - "type": "string" - }, - "ImageOsVersionOverride": { - "type": "string" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "PlatformOverride": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TargetRepository": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "ContainerType", - "Name", - "ParentImage", - "TargetRepository", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ContainerRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Image": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { - "additionalProperties": false, - "properties": { - "RepositoryName": { - "type": "string" - }, - "Service": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Distributions", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { - "additionalProperties": false, - "properties": { - "AmiDistributionConfiguration": { - "type": "object" - }, - "ContainerDistributionConfiguration": { - "type": "object" - }, - "LaunchTemplateConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" - }, - "type": "array" - }, - "LicenseConfigurationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "LaunchTemplateId": { - "type": "string" - }, - "SetDefaultVersion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImagePipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "Name", - "ParentImage", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImageRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { - "additionalProperties": false, - "properties": { - "SystemsManagerAgent": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" - }, - "UserDataOverride": { - "type": "string" - } - }, - "required": [ - "UserDataOverride" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { - "additionalProperties": false, - "properties": { - "UninstallAfterBuild": { - "type": "boolean" - } - }, - "required": [ - "UninstallAfterBuild" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" - } - }, - "required": [ - "InstanceProfileName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { - "additionalProperties": false, - "properties": { - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::ResourceGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupTags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::ResourceGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "DeviceId", - "Enabled" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Placement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "PlacementTemplate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project.DeviceTemplate": { - "additionalProperties": false, - "properties": { - "CallbackOverrides": { - "type": "object" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT1Click::Project.PlacementTemplate": { - "additionalProperties": false, - "properties": { - "DefaultAttributes": { - "type": "object" - }, - "DeviceTemplates": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "AuditCheckConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" - }, - "AuditNotificationTargetConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AccountId", - "AuditCheckConfigurations", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::AccountAuditConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { - "additionalProperties": false, - "properties": { - "AuthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "ConflictingClientIdsCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateSharedCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotPolicyOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasAllowsAccessToUnusedServicesCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "LoggingDisabledCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedCaCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedDeviceCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" - } - }, - "type": "object" - }, - "AWS::IoT::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "AuthorizerFunctionArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::CustomMetric": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "MetricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MetricType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::CustomMetric" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Dimension": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StringValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "StringValues", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Dimension" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerConfig": { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" - }, - "DomainConfigurationName": { - "type": "string" - }, - "DomainConfigurationStatus": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "ServerCertificateArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationCertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::DomainConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration.AuthorizerConfig": { - "additionalProperties": false, - "properties": { - "AllowAuthorizerOverride": { - "type": "boolean" - }, - "DefaultAuthorizerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { - "additionalProperties": false, - "properties": { - "ServerCertificateArn": { - "type": "string" - }, - "ServerCertificateStatus": { - "type": "string" - }, - "ServerCertificateStatusDetail": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ActionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ActionParams", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::MitigationAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ActionParams": { - "additionalProperties": false, - "properties": { - "AddThingsToThingGroupParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" - }, - "EnableIoTLoggingParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" - }, - "PublishFindingToSnsParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" - }, - "ReplaceDefaultPolicyVersionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" - }, - "UpdateCACertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" - }, - "UpdateDeviceCertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { - "additionalProperties": false, - "properties": { - "OverrideDynamicGroups": { - "type": "boolean" - }, - "ThingGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ThingGroupNames" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - }, - "RoleArnForLogging": { - "type": "string" - } - }, - "required": [ - "LogLevel", - "RoleArnForLogging" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { - "additionalProperties": false, - "properties": { - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateCACertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::PolicyPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "PolicyName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" - }, - "ProvisioningRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ProvisioningRoleArn", - "TemplateBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ProvisioningTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { - "additionalProperties": false, - "properties": { - "PayloadVersion": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::ScheduledAudit": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DayOfMonth": { - "type": "string" - }, - "DayOfWeek": { - "type": "string" - }, - "Frequency": { - "type": "string" - }, - "ScheduledAuditName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetCheckNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Frequency", - "TargetCheckNames" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ScheduledAudit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalMetricsToRetainV2": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" - }, - "type": "array" - }, - "AlertTargets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" - } - }, - "type": "object" - }, - "Behaviors": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" - }, - "type": "array" - }, - "SecurityProfileDescription": { - "type": "string" - }, - "SecurityProfileName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::SecurityProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.AlertTarget": { - "additionalProperties": false, - "properties": { - "AlertTargetArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AlertTargetArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.Behavior": { - "additionalProperties": false, - "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" - }, - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - }, - "Name": { - "type": "string" - }, - "SuppressAlerts": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.BehaviorCriteria": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "ConsecutiveDatapointsToAlarm": { - "type": "number" - }, - "ConsecutiveDatapointsToClear": { - "type": "number" - }, - "DurationSeconds": { - "type": "number" - }, - "MlDetectionConfig": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" - }, - "StatisticalThreshold": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { - "additionalProperties": false, - "properties": { - "ConfidenceLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricDimension": { - "additionalProperties": false, - "properties": { - "DimensionName": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "DimensionName" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricToRetain": { - "additionalProperties": false, - "properties": { - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - } - }, - "required": [ - "Metric" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricValue": { - "additionalProperties": false, - "properties": { - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Count": { - "type": "string" - }, - "Number": { - "type": "number" - }, - "Numbers": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Strings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.StatisticalThreshold": { - "additionalProperties": false, - "properties": { - "Statistic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Thing": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Thing" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::Thing.AttributePayload": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::ThingPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Principal": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "required": [ - "Principal", - "ThingName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ThingPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" - } - }, - "required": [ - "TopicRulePayload" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.Action": { - "additionalProperties": false, - "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchLogs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" - }, - "Http": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" - }, - "IotAnalytics": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" - }, - "Kafka": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" - }, - "Kinesis": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" - }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" - }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" - }, - "Timestream": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" - } - }, - "required": [ - "Timestamp", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateReason": { - "type": "string" - }, - "StateValue": { - "type": "string" - } - }, - "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchLogsAction": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LogGroupName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricTimestamp": { - "type": "string" - }, - "MetricUnit": { - "type": "string" - }, - "MetricValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBAction": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { - "additionalProperties": false, - "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.ElasticsearchAction": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Index": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.FirehoseAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAction": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" - }, - "ConfirmationUrl": { - "type": "string" - }, - "Headers": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpActionHeader": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAuthorization": { - "additionalProperties": false, - "properties": { - "Sigv4": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.IotAnalyticsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ChannelName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotEventsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "InputName": { - "type": "string" - }, - "MessageId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotSiteWiseAction": { - "additionalProperties": false, - "properties": { - "PutAssetPropertyValueEntries": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PutAssetPropertyValueEntries", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KafkaAction": { - "additionalProperties": false, - "properties": { - "ClientProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DestinationArn": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Partition": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "ClientProperties", - "DestinationArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KinesisAction": { - "additionalProperties": false, - "properties": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValues": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" - }, - "type": "array" - } - }, - "required": [ - "PropertyValues" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.PutItemInput": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "CannedAcl": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SigV4Authorization": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "SigningRegion": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "ServiceName", - "SigningRegion" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SnsAction": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SqsAction": { - "additionalProperties": false, - "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DatabaseName": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" - } - }, - "required": [ - "DatabaseName", - "Dimensions", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamTimestamp": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Actions", - "Sql" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HttpUrlProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" - }, - "Status": { - "type": "string" - }, - "VpcProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRuleDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { - "additionalProperties": false, - "properties": { - "ConfirmationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" - }, - "ContentDeliveryRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" - }, - "type": "array" - }, - "DatasetName": { - "type": "string" - }, - "LateDataRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" - }, - "type": "array" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Action": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" - }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" - } - }, - "required": [ - "ActionName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" - }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" - }, - "TimeExpression": { - "type": "string" - } - }, - "required": [ - "OffsetSeconds", - "TimeExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { - "additionalProperties": false, - "properties": { - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutInMinutes" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRule": { - "additionalProperties": false, - "properties": { - "RuleConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "RuleConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { - "additionalProperties": false, - "properties": { - "DeltaTimeSessionWindowConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" - }, - "type": "array" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "required": [ - "NumberOfDays", - "Unlimited" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" - }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" - }, - "DoubleValue": { - "type": "number" - }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" - }, - "StringValue": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "VariableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "DatastorePartitions": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" - }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" - }, - "FileFormatConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Datastore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Column": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartition": { - "additionalProperties": false, - "properties": { - "Partition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" - }, - "TimestampPartition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartitions": { - "additionalProperties": false, - "properties": { - "Partitions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { - "additionalProperties": false, - "properties": { - "JsonConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" - }, - "ParquetConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.JsonConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { - "additionalProperties": false, - "properties": { - "SchemaDefinition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Partition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.SchemaDefinition": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.TimestampPartition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "TimestampFormat": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineActivities": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" - }, - "type": "array" - }, - "PipelineName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineActivities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Activity": { - "additionalProperties": false, - "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" - }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" - }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" - }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" - }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" - }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Channel": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Datastore": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Filter": { - "additionalProperties": false, - "properties": { - "Filter": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "LambdaName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Math": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Math": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SuiteDefinitionConfiguration": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SuiteDefinitionConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" - }, - "DetectorModelDescription": { - "type": "string" - }, - "DetectorModelName": { - "type": "string" - }, - "EvaluationMethod": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorModelDefinition", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::DetectorModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Action": { - "additionalProperties": false, - "properties": { - "ClearTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" - }, - "IotTopicPublish": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ClearTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "required": [ - "InitialStateName", - "States" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDB": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "Operation": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDBv2": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Event": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "required": [ - "EventName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "InputName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotSiteWise": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValue": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" - } - }, - "required": [ - "PropertyValue" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "MqttTopic" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContentExpression", - "Type" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "Value", - "VariableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "TargetArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "required": [ - "StateName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - }, - "NextState": { - "type": "string" - } - }, - "required": [ - "Condition", - "EventName", - "NextState" - ], - "type": "object" - }, - "AWS::IoTEvents::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" - }, - "InputDescription": { - "type": "string" - }, - "InputName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InputDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.Attribute": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.InputDefinition": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" - } - }, - "required": [ - "Attributes" - ], - "type": "object" - }, - "AWS::IoTFleetHub::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTFleetHub::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicyIdentity": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" - } - }, - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AccessPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" - }, - "IamUser": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" - }, - "User": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" - }, - "Project": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Portal": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Project": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.User": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { - "type": "string" - }, - "AssetName": { - "type": "string" - }, - "AssetProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelId", - "AssetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "NotificationState": { - "type": "string" - } - }, - "required": [ - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetModelCompositeModels": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" - }, - "type": "array" - }, - "AssetModelDescription": { - "type": "string" - }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" - }, - "AssetModelName": { - "type": "string" - }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AssetModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { - "additionalProperties": false, - "properties": { - "CompositeModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetModelId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { - "additionalProperties": false, - "properties": { - "DataType": { - "type": "string" - }, - "DataTypeSpec": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" - }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "TypeName" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Transform": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" - }, - "Offset": { - "type": "string" - } - }, - "required": [ - "Interval" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { - "additionalProperties": false, - "properties": { - "HierarchyLogicalId": { - "type": "string" - }, - "PropertyLogicalId": { - "type": "string" - } - }, - "required": [ - "PropertyLogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardDefinition": { - "type": "string" - }, - "DashboardDescription": { - "type": "string" - }, - "DashboardName": { - "type": "string" - }, - "ProjectId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DashboardDefinition", - "DashboardDescription", - "DashboardName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayCapabilitySummaries": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" - }, - "type": "array" - }, - "GatewayName": { - "type": "string" - }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GatewayName", - "GatewayPlatform" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Gateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { - "additionalProperties": false, - "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { - "type": "string" - } - }, - "required": [ - "CapabilityNamespace" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { - "additionalProperties": false, - "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" - } - }, - "required": [ - "Greengrass" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.Greengrass": { - "additionalProperties": false, - "properties": { - "GroupArn": { - "type": "string" - } - }, - "required": [ - "GroupArn" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Portal": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alarms": { - "type": "object" - }, - "NotificationSenderEmail": { - "type": "string" - }, - "PortalAuthMode": { - "type": "string" - }, - "PortalContactEmail": { - "type": "string" - }, - "PortalDescription": { - "type": "string" - }, - "PortalName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalContactEmail", - "PortalName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Portal" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PortalId": { - "type": "string" - }, - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalId", - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleNamespaceVersion": { - "type": "number" - }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" - } - }, - "required": [ - "Definition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { - "additionalProperties": false, - "properties": { - "Language": { - "type": "string" - }, - "Text": { - "type": "string" - } - }, - "required": [ - "Language", - "Text" - ], - "type": "object" - }, - "AWS::IoTWireless::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "ExpressionType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ExpressionType", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::DeviceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { - "additionalProperties": false, - "properties": { - "ClassBTimeout": { - "type": "number" - }, - "ClassCTimeout": { - "type": "number" - }, - "MacVersion": { - "type": "string" - }, - "MaxDutyCycle": { - "type": "number" - }, - "MaxEirp": { - "type": "number" - }, - "PingSlotDr": { - "type": "number" - }, - "PingSlotFreq": { - "type": "number" - }, - "PingSlotPeriod": { - "type": "number" - }, - "RegParamsRevision": { - "type": "string" - }, - "RfRegion": { - "type": "string" - }, - "Supports32BitFCnt": { - "type": "boolean" - }, - "SupportsClassB": { - "type": "boolean" - }, - "SupportsClassC": { - "type": "boolean" - }, - "SupportsJoin": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountLinked": { - "type": "boolean" - }, - "Fingerprint": { - "type": "string" - }, - "PartnerAccountId": { - "type": "string" - }, - "PartnerType": { - "type": "string" - }, - "Sidewalk": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" - }, - "SidewalkUpdate": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::PartnerAccount" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "required": [ - "AppServerPrivateKey" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::ServiceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { - "additionalProperties": false, - "properties": { - "AddGwMetadata": { - "type": "boolean" - }, - "ChannelMask": { - "type": "string" - }, - "DevStatusReqFreq": { - "type": "number" - }, - "DlBucketSize": { - "type": "number" - }, - "DlRate": { - "type": "number" - }, - "DlRatePolicy": { - "type": "string" - }, - "DrMax": { - "type": "number" - }, - "DrMin": { - "type": "number" - }, - "HrAllowed": { - "type": "boolean" - }, - "MinGwDiversity": { - "type": "number" - }, - "NwkGeoLoc": { - "type": "boolean" - }, - "PrAllowed": { - "type": "boolean" - }, - "RaAllowed": { - "type": "boolean" - }, - "ReportDevStatusBattery": { - "type": "boolean" - }, - "ReportDevStatusMargin": { - "type": "boolean" - }, - "TargetPer": { - "type": "number" - }, - "UlBucketSize": { - "type": "number" - }, - "UlRate": { - "type": "number" - }, - "UlRatePolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoCreateTasks": { - "type": "boolean" - }, - "LoRaWANUpdateGatewayTaskEntry": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionType": { - "type": "string" - }, - "Update": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" - } - }, - "required": [ - "AutoCreateTasks" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { - "additionalProperties": false, - "properties": { - "Model": { - "type": "string" - }, - "PackageVersion": { - "type": "string" - }, - "Station": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "SigKeyCrc": { - "type": "number" - }, - "UpdateSignature": { - "type": "string" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" - }, - "UpdateDataRole": { - "type": "string" - }, - "UpdateDataSource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationName": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessDevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV10x": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV11": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { - "additionalProperties": false, - "properties": { - "AbpV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" - }, - "AbpV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" - }, - "DevEui": { - "type": "string" - }, - "DeviceProfileId": { - "type": "string" - }, - "OtaaV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" - }, - "OtaaV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" - }, - "ServiceProfileId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV10x": { - "additionalProperties": false, - "properties": { - "AppEui": { - "type": "string" - }, - "AppKey": { - "type": "string" - } - }, - "required": [ - "AppEui", - "AppKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV11": { - "additionalProperties": false, - "properties": { - "AppKey": { - "type": "string" - }, - "JoinEui": { - "type": "string" - }, - "NwkKey": { - "type": "string" - } - }, - "required": [ - "AppKey", - "JoinEui", - "NwkKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "NwkSKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "NwkSKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "FNwkSIntKey": { - "type": "string" - }, - "NwkSEncKey": { - "type": "string" - }, - "SNwkSIntKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "FNwkSIntKey", - "NwkSEncKey", - "SNwkSIntKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "LoRaWAN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { - "additionalProperties": false, - "properties": { - "GatewayEui": { - "type": "string" - }, - "RfRegion": { - "type": "string" - } - }, - "required": [ - "GatewayEui", - "RfRegion" - ], - "type": "object" - }, - "AWS::KMS::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasName": { - "type": "string" - }, - "TargetKeyId": { - "type": "string" - } - }, - "required": [ - "AliasName", - "TargetKeyId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::Key": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EnableKeyRotation": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "KeySpec": { - "type": "string" - }, - "KeyUsage": { - "type": "string" - }, - "MultiRegion": { - "type": "boolean" - }, - "PendingWindowInDays": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Key" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::ReplicaKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "PendingWindowInDays": { - "type": "number" - }, - "PrimaryKeyArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy", - "PrimaryKeyArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::ReplicaKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "IndexId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { - "additionalProperties": false, - "properties": { - "KeyPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.AclConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedGroupsColumnName": { - "type": "string" - } - }, - "required": [ - "AllowedGroupsColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DocumentDataColumnName": { - "type": "string" - }, - "DocumentIdColumnName": { - "type": "string" - }, - "DocumentTitleColumnName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" - }, - "type": "array" - }, - "CrawlAttachments": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { - "additionalProperties": false, - "properties": { - "BlogFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" - }, - "BlogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PageConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "SpaceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" - }, - "Version": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "ServerUrl", - "Version" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageConfiguration": { - "additionalProperties": false, - "properties": { - "PageFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlArchivedSpaces": { - "type": "boolean" - }, - "CrawlPersonalSpaces": { - "type": "boolean" - }, - "ExcludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpaceFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "SecretArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "ConfluenceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" - }, - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "GoogleDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" - }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { - "additionalProperties": false, - "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" - }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" - }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" - }, - "DatabaseEngineType": { - "type": "string" - }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "S3Prefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.GoogleDriveConfiguration": { - "additionalProperties": false, - "properties": { - "ExcludeMimeTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeSharedDrives": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeUserAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { - "additionalProperties": false, - "properties": { - "DisableLocalGroups": { - "type": "boolean" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" - }, - "SecretArn": { - "type": "string" - }, - "TenantDomain": { - "type": "string" - } - }, - "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" - }, - "BucketName": { - "type": "string" - }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPrefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeFilterTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { - "additionalProperties": false, - "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SecretArn", - "ServerUrl" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" - }, - "type": "array" - }, - "IncludedStates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" - } - }, - "required": [ - "IncludedStates" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { - "type": "string" - } - }, - "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DisableLocalGroups": { - "type": "boolean" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - }, - "SharePointVersion": { - "type": "string" - }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UseChangeLog": { - "type": "boolean" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "SharePointVersion", - "Urls" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SqlConfiguration": { - "additionalProperties": false, - "properties": { - "QueryIdentifiersEnclosingOption": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Faq": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FileFormat": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Faq" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Index": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { - "type": "string" - }, - "DocumentMetadataConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - }, - "Edition": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserContextPolicy": { - "type": "string" - }, - "UserTokenConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Edition", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Index" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "GroupAttributeField", - "UserNameAttributeField" - ], - "type": "object" - }, - "AWS::Kendra::Index.JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "type": "string" - }, - "GroupAttributeField": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "KeyLocation": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "URL": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RetentionPeriodHours": { - "type": "number" - }, - "ShardCount": { - "type": "number" - }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ShardCount" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kinesis::Stream.StreamEncryption": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KeyId": { - "type": "string" - } - }, - "required": [ - "EncryptionType", - "KeyId" - ], - "type": "object" - }, - "AWS::Kinesis::StreamConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerName": { - "type": "string" - }, - "StreamARN": { - "type": "string" - } - }, - "required": [ - "ConsumerName", - "StreamARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::StreamConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationCode": { - "type": "string" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" - }, - "type": "array" - } - }, - "required": [ - "Inputs" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ReferenceRoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationMode": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RuntimeEnvironment": { - "type": "string" - }, - "ServiceExecutionRole": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" - }, - "CodeContentType": { - "type": "string" - } - }, - "required": [ - "CodeContent", - "CodeContentType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "type": "number" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - }, - "TextContent": { - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "BucketARN": { - "type": "string" - } - }, - "required": [ - "BasePath", - "BucketARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" - } - }, - "required": [ - "ApplicationName", - "CloudWatchLoggingOption" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { - "additionalProperties": false, - "properties": { - "CopyOptions": { - "type": "string" - }, - "DataTableColumns": { - "type": "string" - }, - "DataTableName": { - "type": "string" - } - }, - "required": [ - "DataTableName" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" - }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" - }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { - "additionalProperties": false, - "properties": { - "KeyARN": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { - "additionalProperties": false, - "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" - }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "IndexRotationPeriod": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "TypeName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" - } - }, - "required": [ - "IndexName", - "RoleARN", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeValue": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { - "additionalProperties": false, - "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" - }, - "ContentEncoding": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { - "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "KinesisStreamARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { - "additionalProperties": false, - "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { - "type": "string" - }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "number" - }, - "StripeSizeBytes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "number" - }, - "PageSizeBytes": { - "type": "number" - }, - "WriterVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { - "additionalProperties": false, - "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" - }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { - "type": "string" - }, - "HECEndpointType": { - "type": "string" - }, - "HECToken": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "RoleARN": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" - }, - "TrustedResourceOwners": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::DataLakeSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsWithGrantOption": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" - } - }, - "required": [ - "DataLakePrincipal", - "Resource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Permissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { - "additionalProperties": false, - "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLocationResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "S3Resource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DatabaseResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.Resource": { - "additionalProperties": false, - "properties": { - "DataLocationResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" - }, - "DatabaseResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" - }, - "TableResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" - }, - "TableWithColumnsResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseServiceLinkedRole": { - "type": "boolean" - } - }, - "required": [ - "ResourceArn", - "UseServiceLinkedRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" - }, - "type": "array" - } - }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::Lambda::Alias.VersionWeight": { - "additionalProperties": false, - "properties": { - "FunctionVersion": { - "type": "string" - }, - "FunctionWeight": { - "type": "number" - } - }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPublishers": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" - }, - "CodeSigningPolicies": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AllowedPublishers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::CodeSigningConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { - "additionalProperties": false, - "properties": { - "SigningProfileVersionArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SigningProfileVersionArns" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { - "additionalProperties": false, - "properties": { - "UntrustedArtifactOnDeployment": { - "type": "string" - } - }, - "required": [ - "UntrustedArtifactOnDeployment" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" - }, - "FunctionName": { - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "Qualifier": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventInvokeConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" - }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" - } - }, - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "EventSourceArn": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionResponseTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfManagedEventSource": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" - }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" - }, - "StartingPosition": { - "type": "string" - }, - "StartingPositionTimestamp": { - "type": "number" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TumblingWindowInSeconds": { - "type": "number" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventSourceMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.Endpoints": { - "additionalProperties": false, - "properties": { - "KafkaBootstrapServers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { - "additionalProperties": false, - "properties": { - "Endpoints": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "URI": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Function.Code": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "ZipFile": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.Environment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "LocalMountPath": { - "type": "string" - } - }, - "required": [ - "Arn", - "LocalMountPath" - ], - "type": "object" - }, - "AWS::Lambda::Function.ImageConfig": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.TracingConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::LayerVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" - }, - "Description": { - "type": "string" - }, - "LayerName": { - "type": "string" - }, - "LicenseInfo": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersion.Content": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersionPermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" - }, - "OrganizationId": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Action", - "LayerVersionArn", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersionPermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Permission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "SourceAccount": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "Action", - "FunctionName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeSha256": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Version" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::LicenseManager::Grant": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedOperations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "GrantName": { - "type": "string" - }, - "HomeRegion": { - "type": "string" - }, - "LicenseArn": { - "type": "string" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::Grant" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LicenseManager::License": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Beneficiary": { - "type": "string" - }, - "ConsumptionConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" - }, - "Entitlements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" - }, - "type": "array" - }, - "HomeRegion": { - "type": "string" - }, - "Issuer": { - "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" - }, - "LicenseMetadata": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" - }, - "type": "array" - }, - "LicenseName": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProductSKU": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" - } - }, - "required": [ - "ConsumptionConfiguration", - "Entitlements", - "HomeRegion", - "Issuer", - "LicenseName", - "ProductName", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::License" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LicenseManager::License.BorrowConfiguration": { - "additionalProperties": false, - "properties": { - "AllowEarlyCheckIn": { - "type": "boolean" - }, - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "AllowEarlyCheckIn", - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ConsumptionConfiguration": { - "additionalProperties": false, - "properties": { - "BorrowConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" - }, - "ProvisionalConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" - }, - "RenewType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LicenseManager::License.Entitlement": { - "additionalProperties": false, - "properties": { - "AllowCheckIn": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Overage": { - "type": "boolean" - }, - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Unit" - ], - "type": "object" - }, - "AWS::LicenseManager::License.IssuerData": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SignKey": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::LicenseManager::License.Metadata": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ProvisionalConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ValidityDateFormat": { - "additionalProperties": false, - "properties": { - "Begin": { - "type": "string" - }, - "End": { - "type": "string" - } - }, - "required": [ - "Begin", - "End" - ], - "type": "object" - }, - "AWS::Location::GeofenceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - } - }, - "required": [ - "CollectionName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::GeofenceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "Configuration", - "MapName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Map" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "DataSource", - "IndexName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::PlaceIndex" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "IntendedUse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Location::RouteCalculator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CalculatorName": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "CalculatorName", - "DataSource", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::RouteCalculator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Tracker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "PricingPlan", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Tracker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::TrackerConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerArn": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "ConsumerArn", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::TrackerConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::LogGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RetentionInDays": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Logs::LogStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "required": [ - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MetricTransformations": { - "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" - }, - "type": "array" - } - }, - "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::MetricFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter.MetricTransformation": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricValue": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - }, - "AWS::Logs::QueryDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - } - }, - "required": [ - "Name", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::QueryDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::SubscriptionFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::SubscriptionFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutEquipment::InferenceScheduler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataDelayOffsetInMinutes": { - "type": "number" - }, - "DataInputConfiguration": { - "type": "object" - }, - "DataOutputConfiguration": { - "type": "object" - }, - "DataUploadFrequency": { - "type": "string" - }, - "InferenceSchedulerName": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideKmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataInputConfiguration", - "DataOutputConfiguration", - "DataUploadFrequency", - "ModelName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutEquipment::InferenceScheduler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" - }, - "AlertDescription": { - "type": "string" - }, - "AlertName": { - "type": "string" - }, - "AlertSensitivityThreshold": { - "type": "number" - }, - "AnomalyDetectorArn": { - "type": "string" - } - }, - "required": [ - "Action", - "AlertSensitivityThreshold", - "AnomalyDetectorArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::Alert" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.Action": { - "additionalProperties": false, - "properties": { - "LambdaConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" - }, - "SNSConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::Alert.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LambdaArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.SNSConfiguration": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SnsTopicArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" - }, - "AnomalyDetectorDescription": { - "type": "string" - }, - "AnomalyDetectorName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MetricSetList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" - }, - "type": "array" - } - }, - "required": [ - "AnomalyDetectorConfig", - "MetricSetList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorFrequency": { - "type": "string" - } - }, - "required": [ - "AnomalyDetectorFrequency" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { - "additionalProperties": false, - "properties": { - "FlowName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FlowName", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "FileCompression": { - "type": "string" - }, - "HeaderList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { - "additionalProperties": false, - "properties": { - "CsvFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" - }, - "JsonFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "FileCompression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.Metric": { - "additionalProperties": false, - "properties": { - "AggregationFunction": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "AggregationFunction", - "MetricName" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { - "additionalProperties": false, - "properties": { - "DimensionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" - }, - "type": "array" - }, - "MetricSetDescription": { - "type": "string" - }, - "MetricSetFrequency": { - "type": "string" - }, - "MetricSetName": { - "type": "string" - }, - "MetricSource": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" - }, - "Offset": { - "type": "number" - }, - "TimestampColumn": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "MetricList", - "MetricSetName", - "MetricSource" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { - "additionalProperties": false, - "properties": { - "AppFlowConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" - }, - "CloudwatchConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" - }, - "RDSSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" - }, - "RedshiftSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" - }, - "S3SourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { - "additionalProperties": false, - "properties": { - "DBInstanceIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "DBInstanceIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "ClusterIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { - "additionalProperties": false, - "properties": { - "FileFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" - }, - "HistoricalDataPathList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TemplatedPathList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "FileFormatDescriptor", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { - "additionalProperties": false, - "properties": { - "ColumnFormat": { - "type": "string" - }, - "ColumnName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIdList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIdList", - "SubnetIdList" - ], - "type": "object" - }, - "AWS::LookoutVision::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutVision::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { - "type": "string" - }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" - }, - "EnhancedMonitoring": { - "type": "string" - }, - "KafkaVersion": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" - }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MSK::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster.BrokerLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { - "type": "string" - }, - "ClientSubnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InstanceType": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" - } - }, - "required": [ - "ClientSubnets", - "InstanceType" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ClientAuthentication": { - "additionalProperties": false, - "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" - }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { - "type": "string" - }, - "InCluster": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" - }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Iam": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.JmxExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.LoggingInfo": { - "additionalProperties": false, - "properties": { - "BrokerLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" - } - }, - "required": [ - "BrokerLogs" - ], - "type": "object" - }, - "AWS::MSK::Cluster.NodeExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" - }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Iam": { - "$ref": "#/definitions/AWS::MSK::Cluster.Iam" - }, - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AirflowConfigurationOptions": { - "type": "object" - }, - "AirflowVersion": { - "type": "string" - }, - "DagS3Path": { - "type": "string" - }, - "EnvironmentClass": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "KmsKey": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" - }, - "MaxWorkers": { - "type": "number" - }, - "MinWorkers": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" - }, - "PluginsS3ObjectVersion": { - "type": "string" - }, - "PluginsS3Path": { - "type": "string" - }, - "RequirementsS3ObjectVersion": { - "type": "string" - }, - "RequirementsS3Path": { - "type": "string" - }, - "Schedulers": { - "type": "number" - }, - "SourceBucketArn": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" - }, - "WebserverAccessMode": { - "type": "string" - }, - "WeeklyMaintenanceWindowStart": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MWAA::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MWAA::Environment.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DagProcessingLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "SchedulerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "TaskLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WebserverLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WorkerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.ModuleLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.TagMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::CustomDataIdentifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Keywords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" - } - }, - "required": [ - "Name", - "Regex" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::CustomDataIdentifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Position": { - "type": "number" - } - }, - "required": [ - "FindingCriteria", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::FindingsFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter.Criterion": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" - } - }, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Macie::Session": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FindingPublishingFrequency": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { - "additionalProperties": false, - "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { - "type": "string" - }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { - "additionalProperties": false, - "properties": { - "AdminPassword": { - "type": "string" - }, - "AdminUsername": { - "type": "string" - } - }, - "required": [ - "AdminPassword", - "AdminUsername" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { - "type": "string" - } - }, - "required": [ - "Edition" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MemberId": { - "type": "string" - }, - "NetworkId": { - "type": "string" - }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" - } - }, - "required": [ - "NetworkId", - "NodeConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Node" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" - }, - "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" - } - }, - "required": [ - "Name", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.FailoverConfig": { - "additionalProperties": false, - "properties": { - "RecoveryWindow": { - "type": "number" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::Flow.Source": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataTransferSubscriberFeePercent": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" - }, - "EntitlementStatus": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Subscribers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Description", - "FlowArn", - "Name", - "Subscribers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowEntitlement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrAllowList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Destination": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" - }, - "FlowArn": { - "type": "string" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "RemoteId": { - "type": "string" - }, - "SmoothingLatency": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceAttachment": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" - } - }, - "required": [ - "FlowArn", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn", - "SecretArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "VpcInterfaceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "required": [ - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowSource.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowVpcInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FlowArn", - "Name", - "RoleArn", - "SecurityGroupIds", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowVpcInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::JobTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.HopDestination": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "WaitMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaConvert::Preset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Preset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdiInputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" - }, - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel.AacSettings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Ac3Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "MetadataControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AncillarySourceSettings": { - "additionalProperties": false, - "properties": { - "SourceAncillaryChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveCdnSettings": { - "additionalProperties": false, - "properties": { - "ArchiveS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - }, - "RawSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { - "additionalProperties": false, - "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" - }, - "Extension": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioChannelMapping": { - "additionalProperties": false, - "properties": { - "InputChannelLevels": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" - }, - "type": "array" - }, - "OutputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioCodecSettings": { - "additionalProperties": false, - "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" - }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" - }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" - }, - "WavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioDescription": { - "additionalProperties": false, - "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" - }, - "AudioType": { - "type": "string" - }, - "AudioTypeControl": { - "type": "string" - }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageCodeControl": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" - }, - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "AlgorithmControl": { - "type": "string" - }, - "TargetLkfs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioGroupId": { - "type": "string" - }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "AudioTrackType": { - "type": "string" - }, - "SegmentType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioPidSelection": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelector": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { - "additionalProperties": false, - "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" - }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" - }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectorName": { - "type": "string" - }, - "AudioSilenceThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrack": { - "additionalProperties": false, - "properties": { - "Track": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrackSelection": { - "additionalProperties": false, - "properties": { - "Tracks": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { - "additionalProperties": false, - "properties": { - "ErrorClearTimeMsec": { - "type": "number" - }, - "FailoverConditions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" - }, - "type": "array" - }, - "InputPreference": { - "type": "string" - }, - "SecondaryInputId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailBlanking": { - "additionalProperties": false, - "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailConfiguration": { - "additionalProperties": false, - "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailSettings": { - "additionalProperties": false, - "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" - }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BlackoutSlate": { - "additionalProperties": false, - "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkEndBlackout": { - "type": "string" - }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkId": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDescription": { - "additionalProperties": false, - "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { - "additionalProperties": false, - "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" - }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" - }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" - }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" - }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { - "additionalProperties": false, - "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionRectangle": { - "additionalProperties": false, - "properties": { - "Height": { - "type": "number" - }, - "LeftOffset": { - "type": "number" - }, - "TopOffset": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelector": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { - "additionalProperties": false, - "properties": { - "AncillarySourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" - }, - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" - }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" - }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" - }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" - }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CdiInputSpecification": { - "additionalProperties": false, - "properties": { - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { - "additionalProperties": false, - "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSdtSettings": { - "additionalProperties": false, - "properties": { - "OutputSdt": { - "type": "string" - }, - "RepInterval": { - "type": "number" - }, - "ServiceName": { - "type": "string" - }, - "ServiceProviderName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbTdtSettings": { - "additionalProperties": false, - "properties": { - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Eac3Settings": { - "additionalProperties": false, - "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" - }, - "LtRtCenterMixLevel": { - "type": "number" - }, - "LtRtSurroundMixLevel": { - "type": "number" - }, - "MetadataControl": { - "type": "string" - }, - "PassthroughControl": { - "type": "string" - }, - "PhaseControl": { - "type": "string" - }, - "StereoDownmix": { - "type": "string" - }, - "SurroundExMode": { - "type": "string" - }, - "SurroundMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { - "additionalProperties": false, - "properties": { - "CopyrightHolder": { - "type": "string" - }, - "FillLineGap": { - "type": "string" - }, - "FontFamily": { - "type": "string" - }, - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Scte20Detection": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - }, - "Source608TrackNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EncoderSettings": { - "additionalProperties": false, - "properties": { - "AudioDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" - }, - "type": "array" - }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" - }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" - }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" - }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" - }, - "MotionGraphicsConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" - }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" - }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" - }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" - }, - "VideoDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverCondition": { - "additionalProperties": false, - "properties": { - "FailoverConditionSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverConditionSettings": { - "additionalProperties": false, - "properties": { - "AudioSilenceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" - }, - "InputLossSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" - }, - "VideoBlackSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FeatureActivations": { - "additionalProperties": false, - "properties": { - "InputPrepareScheduleActions": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FecOutputSettings": { - "additionalProperties": false, - "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { - "type": "string" - }, - "RowLength": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FrameCaptureCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { - "additionalProperties": false, - "properties": { - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { - "additionalProperties": false, - "properties": { - "CaptureInterval": { - "type": "number" - }, - "CaptureIntervalUnits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.GlobalConfiguration": { - "additionalProperties": false, - "properties": { - "InitialAudioGain": { - "type": "number" - }, - "InputEndAction": { - "type": "string" - }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { - "type": "string" - }, - "OutputTimingSource": { - "type": "string" - }, - "SupportLowFramerateInputs": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufFillPct": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" - }, - "EntropyEncoding": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "ForceFieldPictures": { - "type": "string" - }, - "FramerateControl": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopBReference": { - "type": "string" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { - "type": "string" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QualityLevel": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Softness": { - "type": "number" - }, - "SpatialAq": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "Syntax": { - "type": "string" - }, - "TemporalAq": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Tier": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Hdr10Settings": { - "additionalProperties": false, - "properties": { - "MaxCll": { - "type": "number" - }, - "MaxFall": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsCdnSettings": { - "additionalProperties": false, - "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" - }, - "HlsS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" - }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { - "type": "string" - }, - "BaseUrlManifest": { - "type": "string" - }, - "BaseUrlManifest1": { - "type": "string" - }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" - }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" - }, - "ClientCache": { - "type": "string" - }, - "CodecSpecification": { - "type": "string" - }, - "ConstantIv": { - "type": "string" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { - "type": "string" - }, - "DiscontinuityTags": { - "type": "string" - }, - "EncryptionType": { - "type": "string" - }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { - "type": "string" - }, - "IFrameOnlyPlaylists": { - "type": "string" - }, - "IncompleteSegmentBehavior": { - "type": "string" - }, - "IndexNSegments": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "IvInManifest": { - "type": "string" - }, - "IvSource": { - "type": "string" - }, - "KeepSegments": { - "type": "number" - }, - "KeyFormat": { - "type": "string" - }, - "KeyFormatVersions": { - "type": "string" - }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" - }, - "ManifestCompression": { - "type": "string" - }, - "ManifestDurationFormat": { - "type": "string" - }, - "MinSegmentLength": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "OutputSelection": { - "type": "string" - }, - "ProgramDateTime": { - "type": "string" - }, - "ProgramDateTimePeriod": { - "type": "number" - }, - "RedundantManifest": { - "type": "string" - }, - "SegmentLength": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SegmentsPerSubdirectory": { - "type": "number" - }, - "StreamInfResolution": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - }, - "TimestampDeltaMilliseconds": { - "type": "number" - }, - "TsFileMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsInputSettings": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "type": "number" - }, - "BufferSegments": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "RetryInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" - }, - "NameModifier": { - "type": "string" - }, - "SegmentModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" - }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" - }, - "FrameCaptureHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" - }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.InputAttachment": { - "additionalProperties": false, - "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { - "type": "string" - }, - "InputId": { - "type": "string" - }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputChannelLevel": { - "additionalProperties": false, - "properties": { - "Gain": { - "type": "number" - }, - "InputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLocation": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Uri": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossBehavior": { - "additionalProperties": false, - "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { - "type": "string" - }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "InputLossImageType": { - "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossFailoverSettings": { - "additionalProperties": false, - "properties": { - "InputLossThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { - "type": "string" - }, - "FilterStrength": { - "type": "number" - }, - "InputFilter": { - "type": "string" - }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" - }, - "Smpte2038DataPreference": { - "type": "string" - }, - "SourceEndBehavior": { - "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSpecification": { - "additionalProperties": false, - "properties": { - "Codec": { - "type": "string" - }, - "MaximumBitrate": { - "type": "string" - }, - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.KeyProviderSettings": { - "additionalProperties": false, - "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M2tsSettings": { - "additionalProperties": false, - "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { - "type": "string" - }, - "AribCaptionsPid": { - "type": "string" - }, - "AribCaptionsPidControl": { - "type": "string" - }, - "AudioBufferModel": { - "type": "string" - }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "AudioStreamType": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { - "type": "string" - }, - "FragmentTime": { - "type": "number" - }, - "Klv": { - "type": "string" - }, - "KlvDataPids": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { - "type": "string" - }, - "Scte27Pids": { - "type": "string" - }, - "Scte35Control": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "SegmentationMarkers": { - "type": "string" - }, - "SegmentationStyle": { - "type": "string" - }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M3u8Settings": { - "additionalProperties": false, - "properties": { - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "Scte35Behavior": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { - "additionalProperties": false, - "properties": { - "MotionGraphicsInsertion": { - "type": "string" - }, - "MotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsSettings": { - "additionalProperties": false, - "properties": { - "HtmlMotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mp2Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpace": { - "type": "string" - }, - "DisplayAspectRatio": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { - "additionalProperties": false, - "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "EventId": { - "type": "string" - }, - "EventIdMode": { - "type": "string" - }, - "EventStopBehavior": { - "type": "string" - }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SendDelayMs": { - "type": "number" - }, - "SparseTrackType": { - "type": "string" - }, - "StreamManifestBehavior": { - "type": "string" - }, - "TimestampOffset": { - "type": "string" - }, - "TimestampOffsetMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { - "additionalProperties": false, - "properties": { - "MultiplexId": { - "type": "string" - }, - "ProgramName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NetworkInputSettings": { - "additionalProperties": false, - "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" - }, - "ServerValidation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NielsenConfiguration": { - "additionalProperties": false, - "properties": { - "DistributorId": { - "type": "string" - }, - "NielsenPcmToId3Tagging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Output": { - "additionalProperties": false, - "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CaptionDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OutputName": { - "type": "string" - }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestination": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" - }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" - }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" - }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" - }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" - }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" - }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" - }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" - }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" - }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" - }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputLocationRef": { - "additionalProperties": false, - "properties": { - "DestinationRefId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputSettings": { - "additionalProperties": false, - "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" - }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" - }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RawSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { - "additionalProperties": false, - "properties": { - "ChannelMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" - }, - "type": "array" - }, - "ChannelsIn": { - "type": "number" - }, - "ChannelsOut": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthenticationScheme": { - "type": "string" - }, - "CacheFullBehavior": { - "type": "string" - }, - "CacheLength": { - "type": "number" - }, - "CaptionData": { - "type": "string" - }, - "InputLossAction": { - "type": "string" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { - "additionalProperties": false, - "properties": { - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "NumRetries": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.StaticKeySettings": { - "additionalProperties": false, - "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "StaticKeyValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { - "additionalProperties": false, - "properties": { - "OutputRectangle": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" - }, - "PageNumber": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { - "additionalProperties": false, - "properties": { - "PostFilterSharpening": { - "type": "string" - }, - "Strength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TimecodeConfig": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "SyncThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { - "additionalProperties": false, - "properties": { - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpGroupSettings": { - "additionalProperties": false, - "properties": { - "InputLossAction": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpOutputSettings": { - "additionalProperties": false, - "properties": { - "BufferMsec": { - "type": "number" - }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { - "additionalProperties": false, - "properties": { - "BlackDetectThreshold": { - "type": "number" - }, - "VideoBlackThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoCodecSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" - }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" - }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" - }, - "Mpeg2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoDescription": { - "additionalProperties": false, - "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" - }, - "Height": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RespondToAfd": { - "type": "string" - }, - "ScalingBehavior": { - "type": "string" - }, - "Sharpness": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelector": { - "additionalProperties": false, - "properties": { - "ColorSpace": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" - }, - "ColorSpaceUsage": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorPid": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { - "additionalProperties": false, - "properties": { - "ProgramId": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { - "additionalProperties": false, - "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" - }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VpcOutputSettings": { - "additionalProperties": false, - "properties": { - "PublicAddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WavSettings": { - "additionalProperties": false, - "properties": { - "BitDepth": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "type": "array" - }, - "InputSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceRequest": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceSettings": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - }, - "WhitelistRules": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::InputSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Asset.EgressEndpoint": { - "additionalProperties": false, - "properties": { - "PackagingConfigurationId": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "PackagingConfigurationId", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "IngressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" - }, - "ChannelId": { - "type": "string" - }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { - "type": "string" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" - }, - "Id": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" - }, - "Origination": { - "type": "string" - }, - "StartoverWindowSeconds": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeDelaySeconds": { - "type": "number" - }, - "Whitelist": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ChannelId", - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::OriginEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentPrefix": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { - "additionalProperties": false, - "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { - "type": "string" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" - }, - "UtcTiming": { - "type": "string" - }, - "UtcTimingUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" - }, - "Id": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" - }, - "PackagingGroupId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { - "additionalProperties": false, - "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" - }, - "type": "array" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - } - }, - "required": [ - "DashManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" - }, - "MssManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "MssManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" - }, - "type": "array" - }, - "LifecyclePolicy": { - "type": "string" - }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Neptune::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "FirewallPolicyArn": { - "type": "string" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallName", - "FirewallPolicyArn", - "SubnetMappings", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::Firewall" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall.SubnetMapping": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FirewallPolicy": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" - }, - "FirewallPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirewallPolicy", - "FirewallPolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::FirewallPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { - "additionalProperties": false, - "properties": { - "StatefulRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" - }, - "type": "array" - }, - "StatelessCustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" - }, - "type": "array" - }, - "StatelessDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessFragmentDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" - }, - "type": "array" - } - }, - "required": [ - "StatelessDefaultActions", - "StatelessFragmentDefaultActions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "Priority", - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallArn": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" - } - }, - "required": [ - "FirewallArn", - "LoggingConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::LoggingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { - "additionalProperties": false, - "properties": { - "LogDestination": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LogDestinationType": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "required": [ - "LogDestination", - "LogDestinationType", - "LogType" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "LogDestinationConfigs": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" - }, - "type": "array" - } - }, - "required": [ - "LogDestinationConfigs" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "RuleGroup": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" - }, - "RuleGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Capacity", - "RuleGroupName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Address": { - "additionalProperties": false, - "properties": { - "AddressDefinition": { - "type": "string" - } - }, - "required": [ - "AddressDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Header": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationPort": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourcePort": { - "type": "string" - } - }, - "required": [ - "Destination", - "DestinationPort", - "Direction", - "Protocol", - "Source", - "SourcePort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.IPSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { - "additionalProperties": false, - "properties": { - "DestinationPorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "Protocols": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SourcePorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "TCPFlags": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MatchAttributes": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" - } - }, - "required": [ - "Actions", - "MatchAttributes" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleGroup": { - "additionalProperties": false, - "properties": { - "RuleVariables": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" - }, - "RulesSource": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" - } - }, - "required": [ - "RulesSource" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleOption": { - "additionalProperties": false, - "properties": { - "Keyword": { - "type": "string" - }, - "Settings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Keyword" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleVariables": { - "additionalProperties": false, - "properties": { - "IPSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" - } - }, - "type": "object" - }, - "PortSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSource": { - "additionalProperties": false, - "properties": { - "RulesSourceList": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" - }, - "RulesString": { - "type": "string" - }, - "StatefulRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" - }, - "type": "array" - }, - "StatelessRulesAndCustomActions": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { - "additionalProperties": false, - "properties": { - "GeneratedRulesType": { - "type": "string" - }, - "TargetTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GeneratedRulesType", - "TargetTypes", - "Targets" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatefulRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Header": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" - }, - "RuleOptions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" - }, - "type": "array" - } - }, - "required": [ - "Action", - "Header", - "RuleOptions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRule": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "RuleDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" - } - }, - "required": [ - "Priority", - "RuleDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { - "additionalProperties": false, - "properties": { - "CustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" - }, - "type": "array" - }, - "StatelessRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" - }, - "type": "array" - } - }, - "required": [ - "StatelessRules" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { - "additionalProperties": false, - "properties": { - "Flags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Masks": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Flags" - ], - "type": "object" - }, - "AWS::NetworkManager::CustomerGatewayAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayArn": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "CustomerGatewayArn", - "DeviceId", - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" - }, - "Model": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "Vendor": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::GlobalNetwork": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::GlobalNetwork" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::NetworkManager::Link": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" - }, - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Link" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Link.Bandwidth": { - "additionalProperties": false, - "properties": { - "DownloadSpeed": { - "type": "number" - }, - "UploadSpeed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::NetworkManager::LinkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::LinkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Site" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::TransitGatewayRegistration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GlobalNetworkId": { - "type": "string" - }, - "TransitGatewayArn": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId", - "TransitGatewayArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchProfileProtocolVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "StreamConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" - }, - "StudioComponentIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2SubnetIds", - "LaunchProfileProtocolVersions", - "Name", - "StreamConfiguration", - "StudioComponentIds", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::LaunchProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { - "additionalProperties": false, - "properties": { - "ClipboardMode": { - "type": "string" - }, - "Ec2InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionLengthInMinutes": { - "type": "number" - }, - "StreamingImageIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClipboardMode", - "Ec2InstanceTypes", - "StreamingImageIds" - ], - "type": "object" - }, - "AWS::NimbleStudio::StreamingImage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2ImageId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2ImageId", - "Name", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StreamingImage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminRoleArn": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "StudioEncryptionConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" - }, - "StudioName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UserRoleArn": { - "type": "string" - } - }, - "required": [ - "AdminRoleArn", - "DisplayName", - "StudioName", - "UserRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" - }, - "Description": { - "type": "string" - }, - "Ec2SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InitializationScripts": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScriptParameters": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Subtype": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StudioId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StudioComponent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "ComputerAttributes": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" - }, - "type": "array" - }, - "DirectoryId": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryUser": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "LinuxMountPoint": { - "type": "string" - }, - "ShareName": { - "type": "string" - }, - "WindowsMountDrive": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" - }, - "ComputeFarmConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" - }, - "LicenseServiceConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" - }, - "SharedFileSystemConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { - "additionalProperties": false, - "properties": { - "LaunchProfileProtocolVersion": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "RunContext": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DataSources": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableSsl": { - "type": "boolean" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Shortname": { - "type": "string" - }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::App.DataSource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Secure": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::OpsWorks::App.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.SslConfiguration": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ElasticLoadBalancerName": { - "type": "string" - }, - "LayerId": { - "type": "string" - } - }, - "required": [ - "ElasticLoadBalancerName", - "LayerId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tenancy": { - "type": "string" - }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { - "type": "string" - }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { - "type": "string" - }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { - "type": "string" - }, - "Packages": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shortname": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" - }, - "type": "array" - } - }, - "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Layer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { - "additionalProperties": false, - "properties": { - "Configure": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Setup": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Undeploy": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "MountPoint": { - "type": "string" - }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" - }, - "CloneAppIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClonePermissions": { - "type": "boolean" - }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" - }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" - }, - "CustomJson": { - "type": "object" - }, - "DefaultAvailabilityZone": { - "type": "string" - }, - "DefaultInstanceProfileArn": { - "type": "string" - }, - "DefaultOs": { - "type": "string" - }, - "DefaultRootDeviceType": { - "type": "string" - }, - "DefaultSshKeyName": { - "type": "string" - }, - "DefaultSubnetId": { - "type": "string" - }, - "EcsClusterArn": { - "type": "string" - }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" - }, - "HostnameTheme": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SourceStackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.ChefConfiguration": { - "additionalProperties": false, - "properties": { - "BerkshelfVersion": { - "type": "string" - }, - "ManageBerkshelf": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.ElasticIp": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.RdsDbInstance": { - "additionalProperties": false, - "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "RdsDbInstanceArn": { - "type": "string" - } - }, - "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { - "type": "string" - }, - "SshPublicKey": { - "type": "string" - }, - "SshUsername": { - "type": "string" - } - }, - "required": [ - "IamUserArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2VolumeId": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StackId": { - "type": "string" - } - }, - "required": [ - "Ec2VolumeId", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BackupId": { - "type": "string" - }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { - "type": "string" - }, - "CustomDomain": { - "type": "string" - }, - "CustomPrivateKey": { - "type": "string" - }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" - }, - "EngineModel": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "InstanceProfileArn": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KeyPair": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServerName": { - "type": "string" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorksCM::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server.EngineAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ADMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ADMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ApplicationSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::BaiduChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::BaiduChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" - }, - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" - }, - "Description": { - "type": "string" - }, - "HoldoutPercent": { - "type": "number" - }, - "IsPaused": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" - }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SegmentId": { - "type": "string" - }, - "SegmentVersion": { - "type": "number" - }, - "Tags": { - "type": "object" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "MessageConfiguration", - "Name", - "Schedule", - "SegmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Campaign" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { - "type": "string" - }, - "HtmlBody": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" - }, - "FilterType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "EntityId": { - "type": "string" - }, - "MessageType": { - "type": "string" - }, - "OriginationNumber": { - "type": "string" - }, - "SenderId": { - "type": "string" - }, - "TemplateId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.EventDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" - }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageSmallIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "JsonBody": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "RawContent": { - "type": "string" - }, - "SilentPush": { - "type": "boolean" - }, - "TimeToLive": { - "type": "number" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { - "additionalProperties": false, - "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" - }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.Schedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" - }, - "IsLocalTime": { - "type": "boolean" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" - }, - "StartTime": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SizePercent": { - "type": "number" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::EmailChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationSet": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "FromAddress", - "Identity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EmailTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultSubstitutions": { - "type": "string" - }, - "HtmlPart": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "required": [ - "Subject", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EventStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "DestinationStreamArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EventStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::GCMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" - }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::PushTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "SmallImageIconUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::SMSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Behavior": { - "additionalProperties": false, - "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Coordinates": { - "additionalProperties": false, - "properties": { - "Latitude": { - "type": "number" - }, - "Longitude": { - "type": "number" - } - }, - "required": [ - "Latitude", - "Longitude" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Demographic": { - "additionalProperties": false, - "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.GPSPoint": { - "additionalProperties": false, - "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" - }, - "RangeInKilometers": { - "type": "number" - } - }, - "required": [ - "Coordinates", - "RangeInKilometers" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Groups": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "type": "array" - }, - "SourceSegments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Location": { - "additionalProperties": false, - "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Recency": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "RecencyType": { - "type": "string" - } - }, - "required": [ - "Duration", - "RecencyType" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" - }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" - }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" - }, - "Metrics": { - "type": "object" - }, - "UserAttributes": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentGroups": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" - }, - "Include": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SourceSegments": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Pinpoint::SmsTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::VoiceChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" - }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamArn": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::Identity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { - "additionalProperties": false, - "properties": { - "BehaviorOnMxFailure": { - "type": "string" - }, - "MailFromDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QLDB::Ledger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "KmsKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PermissionsMode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream.KinesisConfiguration": { - "additionalProperties": false, - "properties": { - "AggregationEnabled": { - "type": "boolean" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalysisId": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "Errors": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - } - }, - "required": [ - "AnalysisId", - "AwsAccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Analysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisError": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Sheet": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SheetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "DashboardId": { - "type": "string" - }, - "DashboardPublishOptions": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "DashboardId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.AdHocFilteringOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardPublishOptions": { - "additionalProperties": false, - "properties": { - "AdHocFilteringOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" - }, - "ExportToCSVOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" - }, - "SheetControlsOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.ExportToCSVOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.SheetControlsOption": { - "additionalProperties": false, - "properties": { - "VisibilityState": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "ColumnGroups": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" - }, - "type": "array" - }, - "ColumnLevelPermissionRules": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" - }, - "type": "array" - }, - "DataSetId": { - "type": "string" - }, - "FieldFolders": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" - } - }, - "type": "object" - }, - "ImportMode": { - "type": "string" - }, - "IngestionWaitPolicy": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" - }, - "LogicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" - }, - "type": "array" - }, - "PhysicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" - } - }, - "type": "object" - }, - "RowLevelPermissionDataSet": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CalculatedColumn": { - "additionalProperties": false, - "properties": { - "ColumnId": { - "type": "string" - }, - "ColumnName": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "ColumnId", - "ColumnName", - "Expression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CastColumnTypeOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "NewColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnType" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnDescription": { - "additionalProperties": false, - "properties": { - "Text": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnGroup": { - "additionalProperties": false, - "properties": { - "GeoSpatialColumnGroup": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnTag": { - "additionalProperties": false, - "properties": { - "ColumnDescription": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" - }, - "ColumnGeographicRole": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.CreateColumnsOperation": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" - }, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CustomSql": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "DataSourceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "Columns", - "DataSourceArn", - "Name", - "SqlQuery" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.FieldFolder": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.FilterOperation": { - "additionalProperties": false, - "properties": { - "ConditionExpression": { - "type": "string" - } - }, - "required": [ - "ConditionExpression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CountryCode": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Columns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.IngestionWaitPolicy": { - "additionalProperties": false, - "properties": { - "IngestionWaitTimeInHours": { - "type": "number" - }, - "WaitForSpiceIngestion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.InputColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinInstruction": { - "additionalProperties": false, - "properties": { - "LeftJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "LeftOperand": { - "type": "string" - }, - "OnClause": { - "type": "string" - }, - "RightJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "RightOperand": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "LeftOperand", - "OnClause", - "RightOperand", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinKeyProperties": { - "additionalProperties": false, - "properties": { - "UniqueKey": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTable": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DataTransforms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" - }, - "type": "array" - }, - "Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" - } - }, - "required": [ - "Alias", - "Source" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTableSource": { - "additionalProperties": false, - "properties": { - "JoinInstruction": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" - }, - "PhysicalTableId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.OutputColumn": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.PhysicalTable": { - "additionalProperties": false, - "properties": { - "CustomSql": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" - }, - "RelationalTable": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" - }, - "S3Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ProjectOperation": { - "additionalProperties": false, - "properties": { - "ProjectedColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ProjectedColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RelationalTable": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "InputColumns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RenameColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "NewColumnName": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnName" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FormatVersion": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "PermissionPolicy": { - "type": "string" - } - }, - "required": [ - "Arn", - "PermissionPolicy" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.S3Source": { - "additionalProperties": false, - "properties": { - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "UploadSettings": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" - } - }, - "required": [ - "DataSourceArn", - "InputColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" - }, - "type": "array" - } - }, - "required": [ - "ColumnName", - "Tags" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TransformOperation": { - "additionalProperties": false, - "properties": { - "CastColumnTypeOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" - }, - "CreateColumnsOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" - }, - "FilterOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" - }, - "ProjectOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" - }, - "RenameColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" - }, - "TagColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.UploadSettings": { - "additionalProperties": false, - "properties": { - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "StartFromRow": { - "type": "number" - }, - "TextQualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "AwsAccountId": { - "type": "string" - }, - "Credentials": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" - }, - "DataSourceId": { - "type": "string" - }, - "DataSourceParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "ErrorInfo": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" - }, - "type": "array" - }, - "SslProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "VpcConnectionProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - } - }, - "required": [ - "Domain" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AthenaParameters": { - "additionalProperties": false, - "properties": { - "WorkGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.CredentialPair": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceCredentials": { - "additionalProperties": false, - "properties": { - "CopySourceArn": { - "type": "string" - }, - "CredentialPair": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceErrorInfo": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceParameters": { - "additionalProperties": false, - "properties": { - "AmazonElasticsearchParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" - }, - "AthenaParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" - }, - "AuroraParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" - }, - "AuroraPostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" - }, - "MariaDbParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" - }, - "MySqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" - }, - "OracleParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" - }, - "PostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" - }, - "PrestoParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" - }, - "RdsParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" - }, - "RedshiftParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" - }, - "S3Parameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" - }, - "SnowflakeParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" - }, - "SparkParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" - }, - "SqlServerParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" - }, - "TeradataParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.ManifestFileLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MariaDbParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MySqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.OracleParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PrestoParameters": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Catalog", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RdsParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "InstanceId": { - "type": "string" - } - }, - "required": [ - "Database", - "InstanceId" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RedshiftParameters": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.S3Parameters": { - "additionalProperties": false, - "properties": { - "ManifestFileLocation": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" - } - }, - "required": [ - "ManifestFileLocation" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SnowflakeParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "Database", - "Host", - "Warehouse" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SparkParameters": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SqlServerParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SslProperties": { - "additionalProperties": false, - "properties": { - "DisableSsl": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.TeradataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.VpcConnectionProperties": { - "additionalProperties": false, - "properties": { - "VpcConnectionArn": { - "type": "string" - } - }, - "required": [ - "VpcConnectionArn" - ], - "type": "object" - }, - "AWS::QuickSight::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "TemplateId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Template.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Template.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceAnalysis": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceAnalysis": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" - }, - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::QuickSight::Theme": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "BaseThemeId": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "ThemeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Theme" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.BorderStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.DataColorPalette": { - "additionalProperties": false, - "properties": { - "Colors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmptyFillColor": { - "type": "string" - }, - "MinMaxGradient": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Font": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.GutterStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.MarginStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.SheetStyle": { - "additionalProperties": false, - "properties": { - "Tile": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" - }, - "TileLayout": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeConfiguration": { - "additionalProperties": false, - "properties": { - "DataColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" - }, - "Sheet": { - "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" - }, - "Typography": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" - }, - "UIColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileLayoutStyle": { - "additionalProperties": false, - "properties": { - "Gutter": { - "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" - }, - "Margin": { - "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileStyle": { - "additionalProperties": false, - "properties": { - "Border": { - "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Typography": { - "additionalProperties": false, - "properties": { - "FontFamilies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Font" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.UIColorPalette": { - "additionalProperties": false, - "properties": { - "Accent": { - "type": "string" - }, - "AccentForeground": { - "type": "string" - }, - "Danger": { - "type": "string" - }, - "DangerForeground": { - "type": "string" - }, - "Dimension": { - "type": "string" - }, - "DimensionForeground": { - "type": "string" - }, - "Measure": { - "type": "string" - }, - "MeasureForeground": { - "type": "string" - }, - "PrimaryBackground": { - "type": "string" - }, - "PrimaryForeground": { - "type": "string" - }, - "SecondaryBackground": { - "type": "string" - }, - "SecondaryForeground": { - "type": "string" - }, - "Success": { - "type": "string" - }, - "SuccessForeground": { - "type": "string" - }, - "Warning": { - "type": "string" - }, - "WarningForeground": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RAM::ResourceShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::RDS::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" - }, - "type": "array" - }, - "PromotionTier": { - "type": "number" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SourceDBInstanceIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "DebugLogging": { - "type": "boolean" - }, - "EngineFamily": { - "type": "string" - }, - "IdleClientTimeout": { - "type": "number" - }, - "RequireTLS": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Auth", - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy.AuthFormat": { - "additionalProperties": false, - "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxy.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBProxyEndpointName": { - "type": "string" - }, - "DBProxyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" - }, - "type": "array" - }, - "TargetRole": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBProxyEndpointName", - "DBProxyName", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "TargetGroupName": { - "type": "string" - } - }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { - "additionalProperties": false, - "properties": { - "ConnectionBorrowTimeout": { - "type": "number" - }, - "InitQuery": { - "type": "string" - }, - "MaxConnectionsPercent": { - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "type": "number" - }, - "SessionPinningFilters": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::GlobalCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::OptionGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "type": "boolean" - }, - "AutomatedSnapshotRetentionPeriod": { - "type": "number" - }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" - }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "OwnerAccount": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Cluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster.LoggingProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupFamily": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceGroups::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationItem": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.Query": { - "additionalProperties": false, - "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackIdentifier": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ResourceQuery": { - "additionalProperties": false, - "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RoboMaker::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RoboMaker::Robot": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "Fleet": { - "type": "string" - }, - "GreengrassGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Architecture", - "GreengrassGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Robot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RobotSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::DNSSEC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "HostedZoneId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::DNSSEC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckConfig": { - "type": "object" - }, - "HealthCheckTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" - }, - "type": "array" - } - }, - "required": [ - "HealthCheckConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HealthCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" - }, - "VPCs": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HostedZone" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - }, - "AWS::Route53::KeySigningKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - }, - "KeyManagementServiceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::KeySigningKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryControl::ControlPanel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::RoutingControl": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "ControlPanelArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssertionRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" - }, - "ControlPanelArn": { - "type": "string" - }, - "GatingRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" - }, - "Name": { - "type": "string" - }, - "RuleConfig": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" - } - }, - "required": [ - "ControlPanelArn", - "Name", - "RuleConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { - "additionalProperties": false, - "properties": { - "AssertedControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "AssertedControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { - "additionalProperties": false, - "properties": { - "GatingControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TargetControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "GatingControls", - "TargetControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { - "additionalProperties": false, - "properties": { - "Inverted": { - "type": "boolean" - }, - "Threshold": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Inverted", - "Threshold", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::Cell": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CellName": { - "type": "string" - }, - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CellName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::Cell" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ReadinessCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReadinessCheckName": { - "type": "string" - }, - "ResourceSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReadinessCheckName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::RecoveryGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RecoveryGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RecoveryGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceSetName": { - "type": "string" - }, - "ResourceSetType": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceSetName", - "ResourceSetType", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneArn": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - }, - "RecordType": { - "type": "string" - }, - "TargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { - "additionalProperties": false, - "properties": { - "ComponentId": { - "type": "string" - }, - "DnsTargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" - }, - "ReadinessScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { - "additionalProperties": false, - "properties": { - "NLBResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" - }, - "R53Resource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::FirewallDomainList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainFileUrl": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallDomainList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRules": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "BlockOverrideDnsType": { - "type": "string" - }, - "BlockOverrideDomain": { - "type": "string" - }, - "BlockOverrideTtl": { - "type": "number" - }, - "BlockResponse": { - "type": "string" - }, - "FirewallDomainListId": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Action", - "FirewallDomainListId", - "Priority" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRuleGroupId": { - "type": "string" - }, - "MutationProtection": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallRuleGroupId", - "Priority", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Direction": { - "type": "string" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResolverQueryLogConfigId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RuleType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ResolverRuleId": { - "type": "string" - }, - "VPCId": { - "type": "string" - } - }, - "required": [ - "ResolverRuleId", - "VPCId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "PolicyStatus": { - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" - }, - "AccessControl": { - "type": "string" - }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { - "type": "string" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "IntelligentTieringConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" - }, - "type": "array" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "type": "boolean" - }, - "OwnershipControls": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "MaxAge": { - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "OutputSchemaVersion": { - "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" - }, - "BucketArn": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { - "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.IntelligentTieringConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Tierings": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Tiering" - }, - "type": "array" - } - }, - "required": [ - "Id", - "Status", - "Tierings" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "IncludedObjectVersions": { - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "ScheduleFrequency": { - "type": "string" - } - }, - "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3::Bucket.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Function": { - "type": "string" - } - }, - "required": [ - "Event", - "Function" - ], - "type": "object" - }, - "AWS::S3::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationBucketName": { - "type": "string" - }, - "LogFilePrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Metrics": { - "additionalProperties": false, - "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.MetricsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass", - "TransitionInDays" - ], - "type": "object" - }, - "AWS::S3::Bucket.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" - }, - "QueueConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" - }, - "type": "array" - }, - "TopicConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockConfiguration": { - "additionalProperties": false, - "properties": { - "ObjectLockEnabled": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockRule": { - "additionalProperties": false, - "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControls": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControlsRule": { - "additionalProperties": false, - "properties": { - "ObjectOwnership": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Queue": { - "type": "string" - } - }, - "required": [ - "Event", - "Queue" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "HostName" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectRule": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "HttpRedirectCode": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ReplaceKeyPrefixWith": { - "type": "string" - }, - "ReplaceKeyWith": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Role": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Role", - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { - "type": "string" - }, - "Bucket": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" - }, - "StorageClass": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRule": { - "additionalProperties": false, - "properties": { - "DeleteMarkerReplication": { - "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" - }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" - }, - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Destination", - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { - "additionalProperties": false, - "properties": { - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleFilter": { - "additionalProperties": false, - "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" - }, - "Prefix": { - "type": "string" - }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTime": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - } - }, - "required": [ - "Status", - "Time" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTimeValue": { - "additionalProperties": false, - "properties": { - "Minutes": { - "type": "number" - } - }, - "required": [ - "Minutes" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRule": { - "additionalProperties": false, - "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" - }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" - } - }, - "required": [ - "RedirectRule" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRuleCondition": { - "additionalProperties": false, - "properties": { - "HttpErrorCodeReturnedEquals": { - "type": "string" - }, - "KeyPrefixEquals": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "ExpiredObjectDeleteMarker": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "NoncurrentVersionExpirationInDays": { - "type": "number" - }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.S3KeyFilter": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyID": { - "type": "string" - }, - "SSEAlgorithm": { - "type": "string" - } - }, - "required": [ - "SSEAlgorithm" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "BucketKeyEnabled": { - "type": "boolean" - }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SourceSelectionCriteria": { - "additionalProperties": false, - "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.Tiering": { - "additionalProperties": false, - "properties": { - "AccessTier": { - "type": "string" - }, - "Days": { - "type": "number" - } - }, - "required": [ - "AccessTier", - "Days" - ], - "type": "object" - }, - "AWS::S3::Bucket.TopicConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "Event", - "Topic" - ], - "type": "object" - }, - "AWS::S3::Bucket.Transition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionDate": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass" - ], - "type": "object" - }, - "AWS::S3::Bucket.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.WebsiteConfiguration": { - "additionalProperties": false, - "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" - }, - "RoutingRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StorageLensConfiguration": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StorageLensConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::StorageLens" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens.AccountLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "BucketLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" - } - }, - "required": [ - "BucketLevel" - ], - "type": "object" - }, - "AWS::S3::StorageLens.ActivityMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AwsOrg": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::S3::StorageLens.BucketLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "PrefixLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.BucketsAndRegions": { - "additionalProperties": false, - "properties": { - "Buckets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.DataExport": { - "additionalProperties": false, - "properties": { - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" - } - }, - "required": [ - "S3BucketDestination" - ], - "type": "object" - }, - "AWS::S3::StorageLens.Encryption": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevel": { - "additionalProperties": false, - "properties": { - "StorageMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" - } - }, - "required": [ - "StorageMetrics" - ], - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - }, - "SelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.S3BucketDestination": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "Arn": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" - }, - "Format": { - "type": "string" - }, - "OutputSchemaVersion": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "AccountId", - "Arn", - "Format", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SelectionCriteria": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "MaxDepth": { - "type": "number" - }, - "MinStorageBytesPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensConfiguration": { - "additionalProperties": false, - "properties": { - "AccountLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" - }, - "AwsOrg": { - "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" - }, - "DataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" - }, - "Exclude": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "Id": { - "type": "string" - }, - "Include": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "IsEnabled": { - "type": "boolean" - }, - "StorageLensArn": { - "type": "string" - } - }, - "required": [ - "AccountLevel", - "Id", - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectLambdaConfiguration": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedFeatures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "SupportingAccessPoint": { - "type": "string" - }, - "TransformationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SupportingAccessPoint", - "TransformationConfigurations" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentTransformation": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPointPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ObjectLambdaAccessPoint": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "ObjectLambdaAccessPoint", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket", - "Name", - "VpcConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" - }, - "OutpostId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BucketName", - "OutpostId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "Filter": { - "type": "object" - }, - "Id": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessType": { - "type": "string" - }, - "CustomerOwnedIpv4Pool": { - "type": "string" - }, - "OutpostId": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "OutpostId", - "SecurityGroupId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint.NetworkInterface": { - "additionalProperties": false, - "properties": { - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "NetworkInterfaceId" - ], - "type": "object" - }, - "AWS::SDB::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SDB::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamARN", - "IAMRoleARN" - ], - "type": "object" - }, - "AWS::SES::ContactList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactListName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Topics": { - "items": { - "$ref": "#/definitions/AWS::SES::ContactList.Topic" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ContactList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ContactList.Topic": { - "additionalProperties": false, - "properties": { - "DefaultSubscriptionStatus": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "TopicName": { - "type": "string" - } - }, - "required": [ - "DefaultSubscriptionStatus", - "DisplayName", - "TopicName" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" - } - }, - "required": [ - "Filter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.Filter": { - "additionalProperties": false, - "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Policy": { - "type": "string" - } - }, - "required": [ - "Cidr", - "Policy" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "After": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "Rule", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Action": { - "additionalProperties": false, - "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" - }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.AddHeaderAction": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.BounceAction": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Sender": { - "type": "string" - }, - "SmtpReplyCode": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Message", - "Sender", - "SmtpReplyCode" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "InvocationType": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Rule": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScanEnabled": { - "type": "boolean" - }, - "TlsPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "ObjectKeyPrefix": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.SNSAction": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { - "additionalProperties": false, - "properties": { - "Scope": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Scope" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.WorkmailAction": { - "additionalProperties": false, - "properties": { - "OrganizationArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "OrganizationArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template.Template": { - "additionalProperties": false, - "properties": { - "HtmlPart": { - "type": "string" - }, - "SubjectPart": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SNS::Subscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SNS::Topic": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { - "type": "string" - }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Topic" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SNS::Topic.Subscription": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Protocol" - ], - "type": "object" - }, - "AWS::SNS::TopicPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Topics" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::TopicPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SQS::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DeduplicationScope": { - "type": "string" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "FifoThroughputLimit": { - "type": "string" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { - "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SQS::QueuePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Queues" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::QueuePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" - }, - "AssociationName": { - "type": "string" - }, - "AutomationTargetParameterName": { - "type": "string" - }, - "CalendarNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ComplianceSeverity": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "ScheduleExpression": { - "type": "string" - }, - "SyncCompliance": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Association" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" - } - }, - "type": "object" - }, - "AWS::SSM::Association.S3OutputLocation": { - "additionalProperties": false, - "properties": { - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "OutputS3Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::Association.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::Document": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attachments": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" - }, - "type": "array" - }, - "Content": { - "type": "object" - }, - "DocumentFormat": { - "type": "string" - }, - "DocumentType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Requires": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "VersionName": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Document" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Document.AttachmentsSource": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::Document.DocumentRequires": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Duration": { - "type": "number" - }, - "EndDate": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleTimezone": { - "type": "string" - }, - "StartDate": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerInformation": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" - }, - "type": "array" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "Targets", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" - }, - "type": "array" - }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { - "type": "string" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "Priority", - "TaskArn", - "TaskType", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - } - }, - "required": [ - "Region", - "S3Bucket" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { - "additionalProperties": false, - "properties": { - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { - "additionalProperties": false, - "properties": { - "ClientContext": { - "type": "string" - }, - "Payload": { - "type": "string" - }, - "Qualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" - }, - "DocumentHashType": { - "type": "string" - }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" - }, - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TimeoutSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { - "additionalProperties": false, - "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NotificationType": { - "type": "string" - } - }, - "required": [ - "NotificationArn" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" - }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" - } - }, - "type": "object" - }, - "AWS::SSM::Parameter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - }, - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatchesAction": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::PatchBaseline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { - "additionalProperties": false, - "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchSource": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchStringDate": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SSM::PatchBaseline.Rule": { - "additionalProperties": false, - "properties": { - "ApproveAfterDays": { - "type": "number" - }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" - }, - "ComplianceLevel": { - "type": "string" - }, - "EnableNonSecurity": { - "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.RuleGroup": { - "additionalProperties": false, - "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::ResourceDataSync": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" - }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" - }, - "SyncType": { - "type": "string" - } - }, - "required": [ - "SyncName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::ResourceDataSync" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { - "additionalProperties": false, - "properties": { - "OrganizationSourceType": { - "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OrganizationSourceType" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "SyncFormat": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.SyncSource": { - "additionalProperties": false, - "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SourceRegions", - "SourceType" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "Plan": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Alias", - "DisplayName", - "Plan", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::Contact" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ChannelTargetInfo": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - }, - "RetryIntervalInMinutes": { - "type": "number" - } - }, - "required": [ - "ChannelId", - "RetryIntervalInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ContactTargetInfo": { - "additionalProperties": false, - "properties": { - "ContactId": { - "type": "string" - }, - "IsEssential": { - "type": "boolean" - } - }, - "required": [ - "ContactId", - "IsEssential" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Stage": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "type": "number" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" - }, - "type": "array" - } - }, - "required": [ - "DurationInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Targets": { - "additionalProperties": false, - "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" - }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" - } - }, - "type": "object" - }, - "AWS::SSMContacts::ContactChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelAddress": { - "type": "string" - }, - "ChannelName": { - "type": "string" - }, - "ChannelType": { - "type": "string" - }, - "ContactId": { - "type": "string" - }, - "DeferActivation": { - "type": "boolean" - } - }, - "required": [ - "ChannelAddress", - "ChannelName", - "ChannelType", - "ContactId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::ContactChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtected": { - "type": "boolean" - }, - "Regions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" - }, - "type": "array" - } - }, - "required": [ - "Regions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ReplicationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { - "additionalProperties": false, - "properties": { - "SseKmsKeyId": { - "type": "string" - } - }, - "required": [ - "SseKmsKeyId" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { - "additionalProperties": false, - "properties": { - "RegionConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" - }, - "RegionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" - }, - "type": "array" - }, - "ChatChannel": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" - }, - "DisplayName": { - "type": "string" - }, - "Engagements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncidentTemplate": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IncidentTemplate", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ResponsePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.Action": { - "additionalProperties": false, - "properties": { - "SsmAutomation": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.ChatChannel": { - "additionalProperties": false, - "properties": { - "ChatbotSns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { - "additionalProperties": false, - "properties": { - "DedupeString": { - "type": "string" - }, - "Impact": { - "type": "number" - }, - "NotificationTargets": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" - }, - "type": "array" - }, - "Summary": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "required": [ - "Impact", - "Title" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { - "additionalProperties": false, - "properties": { - "SnsTopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { - "additionalProperties": false, - "properties": { - "DocumentName": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TargetAccount": { - "type": "string" - } - }, - "required": [ - "DocumentName", - "RoleArn" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSO::Assignment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceArn": { - "type": "string" - }, - "PermissionSetArn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::Assignment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessControlAttributes": { - "items": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" - }, - "type": "array" - }, - "InstanceArn": { - "type": "string" - } - }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { - "additionalProperties": false, - "properties": { - "Source": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::SSO::PermissionSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InlinePolicy": { - "type": "object" - }, - "InstanceArn": { - "type": "string" - }, - "ManagedPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::PermissionSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppName": { - "type": "string" - }, - "AppType": { - "type": "string" - }, - "DomainId": { - "type": "string" - }, - "ResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - } - }, - "required": [ - "AppName", - "AppType", - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "KernelGatewayImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppImageConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::AppImageConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "DefaultGid": { - "type": "number" - }, - "DefaultUid": { - "type": "number" - }, - "MountPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { - "additionalProperties": false, - "properties": { - "FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" - }, - "KernelSpecs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" - }, - "type": "array" - } - }, - "required": [ - "KernelSpecs" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelSpec": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeRepositoryName": { - "type": "string" - }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GitConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::CodeRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" - }, - "DataQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" - }, - "DataQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" - }, - "DataQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" - }, - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataQualityAppSpecification", - "DataQualityJobInput", - "DataQualityJobOutputConfig", - "JobResources", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "object" - }, - "DeviceFleetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Device.Device": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceName": { - "type": "string" - }, - "IotThingName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceFleetName": { - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName", - "OutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DeviceFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3OutputLocation": { - "type": "string" - } - }, - "required": [ - "S3OutputLocation" - ], - "type": "object" - }, - "AWS::SageMaker::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppNetworkAccessType": { - "type": "string" - }, - "AuthMode": { - "type": "string" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" - }, - "DomainName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.AutoRollbackConfig": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" - }, - "type": "array" - } - }, - "required": [ - "Alarms" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { - "additionalProperties": false, - "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "number" - }, - "TerminationWaitInSeconds": { - "type": "number" - }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" - } - }, - "required": [ - "TrafficRoutingConfiguration" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.CapacitySize": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.DeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" - }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" - } - }, - "required": [ - "BlueGreenUpdatePolicy" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { - "additionalProperties": false, - "properties": { - "CanarySize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" - }, - "Type": { - "type": "string" - }, - "WaitIntervalInSeconds": { - "type": "number" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProductionVariants" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::EndpointConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { - "additionalProperties": false, - "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { - "additionalProperties": false, - "properties": { - "CaptureMode": { - "type": "string" - } - }, - "required": [ - "CaptureMode" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { - "additionalProperties": false, - "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" - }, - "type": "array" - }, - "DestinationS3Uri": { - "type": "string" - }, - "EnableCapture": { - "type": "boolean" - }, - "InitialSamplingPercentage": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - } - }, - "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { - "additionalProperties": false, - "properties": { - "AcceleratorType": { - "type": "string" - }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "VariantName": { - "type": "string" - } - }, - "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventTimeFeatureName": { - "type": "string" - }, - "FeatureDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" - }, - "type": "array" - }, - "FeatureGroupName": { - "type": "string" - }, - "OfflineStoreConfig": { - "type": "object" - }, - "OnlineStoreConfig": { - "type": "object" - }, - "RecordIdentifierFeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventTimeFeatureName", - "FeatureDefinitions", - "FeatureGroupName", - "RecordIdentifierFeatureName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::FeatureGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.FeatureDefinition": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "FeatureType": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "FeatureType" - ], - "type": "object" - }, - "AWS::SageMaker::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImageDescription": { - "type": "string" - }, - "ImageDisplayName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ImageName", - "ImageRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ImageVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaseImage": { - "type": "string" - }, - "ImageName": { - "type": "string" - } - }, - "required": [ - "BaseImage", - "ImageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ImageVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "type": "array" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" - } - }, - "required": [ - "ExecutionRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { - "type": "string" - }, - "ModelDataUrl": { - "type": "string" - }, - "ModelPackageName": { - "type": "string" - }, - "MultiModelConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.ImageConfig": { - "additionalProperties": false, - "properties": { - "RepositoryAccessMode": { - "type": "string" - }, - "RepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" - } - }, - "required": [ - "RepositoryAccessMode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.MultiModelConfig": { - "additionalProperties": false, - "properties": { - "ModelCacheSetting": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.RepositoryAuthConfig": { - "additionalProperties": false, - "properties": { - "RepositoryCredentialsProviderArn": { - "type": "string" - } - }, - "required": [ - "RepositoryCredentialsProviderArn" - ], - "type": "object" - }, - "AWS::SageMaker::Model.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" - }, - "ModelBiasAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" - }, - "ModelBiasBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" - }, - "ModelBiasJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" - }, - "ModelBiasJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelBiasAppSpecification", - "ModelBiasJobInput", - "ModelBiasJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" - }, - "ModelExplainabilityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" - }, - "ModelExplainabilityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" - }, - "ModelExplainabilityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" - }, - "ModelExplainabilityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelExplainabilityAppSpecification", - "ModelExplainabilityJobInput", - "ModelExplainabilityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelPackageGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModelPackageGroupDescription": { - "type": "string" - }, - "ModelPackageGroupName": { - "type": "string" - }, - "ModelPackageGroupPolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ModelPackageGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelPackageGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" - }, - "ModelQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" - }, - "ModelQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" - }, - "ModelQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" - }, - "ModelQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelQualityAppSpecification", - "ModelQualityJobInput", - "ModelQualityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "ProblemType": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri", - "ProblemType" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" - }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "MonitoringScheduleStatus": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::MonitoringSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { - "additionalProperties": false, - "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { - "additionalProperties": false, - "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastModifiedTime": { - "type": "string" - }, - "MonitoringExecutionStatus": { - "type": "string" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "ProcessingJobArn": { - "type": "string" - }, - "ScheduledTime": { - "type": "string" - } - }, - "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { - "additionalProperties": false, - "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" - }, - "MonitoringJobDefinitionName": { - "type": "string" - }, - "MonitoringType": { - "type": "string" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineDefinition": { - "type": "object" - }, - "PipelineDescription": { - "type": "string" - }, - "PipelineDisplayName": { - "type": "string" - }, - "PipelineName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineDefinition", - "PipelineName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "ServiceCatalogProvisioningDetails": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProjectName", - "ServiceCatalogProvisioningDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainId": { - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "type": "string" - }, - "SingleSignOnUserValue": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" - } - }, - "required": [ - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlockPublicPolicy": { - "type": "boolean" - }, - "ResourcePolicy": { - "type": "object" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "ResourcePolicy", - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "SecretId", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { - "type": "string" - }, - "SupportUrl": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ProvisioningArtifactName": { - "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - } - }, - "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocalRoleName": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::Portfolio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DisplayName", - "ProviderName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::Portfolio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "SourcePortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountId": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ShareTagOptions": { - "type": "boolean" - } - }, - "required": [ - "AccountId", - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "TagUpdateOnProvisionedProduct": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Definition": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" - }, - "type": "array" - }, - "DefinitionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Definition", - "DefinitionType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceActionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProductId": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ServiceActionId": { - "type": "string" - } - }, - "required": [ - "ProductId", - "ProvisioningArtifactId", - "ServiceActionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceActionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::StackSetConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { - "type": "string" - } - }, - "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Active": { - "type": "boolean" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOptionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - }, - "TagOptionId": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "TagOptionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Attributes", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "AttributeGroup": { - "type": "string" - } - }, - "required": [ - "Application", - "AttributeGroup" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "Application", - "Resource", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::ResourceAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::HttpNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { - "type": "string" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "InstanceAttributes", - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Vpc": { - "type": "string" - } - }, - "required": [ - "Name", - "Vpc" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { - "type": "string" - }, - "NamespaceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsConfig": { - "additionalProperties": false, - "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Signer::ProfilePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "Action", - "Principal", - "ProfileName", - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::ProfilePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PlatformId": { - "type": "string" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PlatformId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::SigningProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile.SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::StepFunctions::Activity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::Activity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::Activity.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Definition": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" - }, - "DefinitionS3Location": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" - }, - "DefinitionString": { - "type": "string" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - }, - "StateMachineType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" - }, - "type": "array" - }, - "TracingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::StateMachine" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.Definition": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TracingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactS3Location": { - "type": "string" - }, - "Code": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Code" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FailureRetentionPeriod": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RunConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" - }, - "RuntimeVersion": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" - }, - "StartCanaryAfterCreation": { - "type": "boolean" - }, - "SuccessRetentionPeriod": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" - }, - "VisualReference": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" - } - }, - "required": [ - "ArtifactS3Location", - "Code", - "ExecutionRoleArn", - "Name", - "RuntimeVersion", - "Schedule", - "StartCanaryAfterCreation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Synthetics::Canary" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.BaseScreenshot": { - "additionalProperties": false, - "properties": { - "IgnoreCoordinates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScreenshotName": { - "type": "string" - } - }, - "required": [ - "ScreenshotName" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.Code": { - "additionalProperties": false, - "properties": { - "Handler": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "required": [ - "Handler" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.RunConfig": { - "additionalProperties": false, - "properties": { - "ActiveTracing": { - "type": "boolean" - }, - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MemoryInMB": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary.Schedule": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VPCConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VisualReference": { - "additionalProperties": false, - "properties": { - "BaseCanaryRunId": { - "type": "string" - }, - "BaseScreenshots": { - "items": { - "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" - }, - "type": "array" - } - }, - "required": [ - "BaseCanaryRunId" - ], - "type": "object" - }, - "AWS::Timestream::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Timestream::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "RetentionProperties": { - "type": "object" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Domain": { - "type": "string" - }, - "EndpointDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" - }, - "EndpointType": { - "type": "string" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" - }, - "IdentityProviderType": { - "type": "string" - }, - "LoggingRole": { - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" - }, - "Protocols": { - "items": { - "$ref": "#/definitions/AWS::Transfer::Server.Protocol" - }, - "type": "array" - }, - "SecurityPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Transfer::Server.EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - }, - "InvocationRole": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.Protocol": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Transfer::Server.ProtocolDetails": { - "additionalProperties": false, - "properties": { - "PassiveIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HomeDirectory": { - "type": "string" - }, - "HomeDirectoryMappings": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" - }, - "type": "array" - }, - "HomeDirectoryType": { - "type": "string" - }, - "Policy": { - "type": "string" - }, - "PosixProfile": { - "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" - }, - "Role": { - "type": "string" - }, - "ServerId": { - "type": "string" - }, - "SshPublicKeys": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Role", - "ServerId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::User.HomeDirectoryMapEntry": { - "additionalProperties": false, - "properties": { - "Entry": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Entry", - "Target" - ], - "type": "object" - }, - "AWS::Transfer::User.PosixProfile": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "SecondaryGids": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Uid": { - "type": "number" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::Transfer::User.SshPublicKey": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::WAF::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAF::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAF::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name", - "SizeConstraints" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::WebACL.ActivatedRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAF::WebACL.WafAction": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name", - "XssMatchTuples" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeoMatchConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::GeoMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MatchPredicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RateKey": { - "type": "string" - }, - "RateLimit": { - "type": "number" - } - }, - "required": [ - "MetricName", - "Name", - "RateKey", - "RateLimit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RateBasedRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RegexPatternStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "RegexPatternStrings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Action": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Action", - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFv2::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "IPAddressVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Addresses", - "IPAddressVersion", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RegularExpressionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RegularExpressionList", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Capacity", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelSummary": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "type": "object" - }, - "Block": { - "type": "object" - }, - "Count": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" - } - }, - "type": "object" - }, - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "DefaultAction", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.AllowAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.BlockAction": { - "additionalProperties": false, - "properties": { - "CustomResponse": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CountAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomHTTPHeader": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomRequestHandling": { - "additionalProperties": false, - "properties": { - "InsertHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "InsertHeaders" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponse": { - "additionalProperties": false, - "properties": { - "CustomResponseBodyKey": { - "type": "string" - }, - "ResponseCode": { - "type": "number" - }, - "ResponseHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "ResponseCode" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.DefaultAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ExcludedRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { - "additionalProperties": false, - "properties": { - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VendorName": { - "type": "string" - } - }, - "required": [ - "Name", - "VendorName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OverrideAction": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "object" - }, - "None": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" - }, - "Name": { - "type": "string" - }, - "OverrideAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - }, - "Count": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" - }, - "ManagedRuleGroupStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" - }, - "RuleGroupReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::ConnectionAlias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { - "additionalProperties": false, - "properties": { - "AssociatedAccountId": { - "type": "string" - }, - "AssociationStatus": { - "type": "string" - }, - "ConnectionIdentifier": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WorkSpaces::Workspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BundleId": { - "type": "string" - }, - "DirectoryId": { - "type": "string" - }, - "RootVolumeEncryptionEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - }, - "UserVolumeEncryptionEnabled": { - "type": "boolean" - }, - "VolumeEncryptionKey": { - "type": "string" - }, - "WorkspaceProperties": { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" - } - }, - "required": [ - "BundleId", - "DirectoryId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::Workspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::Workspace.WorkspaceProperties": { - "additionalProperties": false, - "properties": { - "ComputeTypeName": { - "type": "string" - }, - "RootVolumeSizeGib": { - "type": "number" - }, - "RunningMode": { - "type": "string" - }, - "RunningModeAutoStopTimeoutInMinutes": { - "type": "number" - }, - "UserVolumeSizeGib": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterExpression": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "InsightsConfiguration": { - "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::Group.InsightsConfiguration": { - "additionalProperties": false, - "properties": { - "InsightsEnabled": { - "type": "boolean" - }, - "NotificationsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::SamplingRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRule": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" - }, - "SkillPackage": { - "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" - }, - "VendorId": { - "type": "string" - } - }, - "required": [ - "AuthenticationConfiguration", - "SkillPackage", - "VendorId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "Alexa::ASK::Skill" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "Alexa::ASK::Skill.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret", - "RefreshToken" - ], - "type": "object" - }, - "Alexa::ASK::Skill.Overrides": { - "additionalProperties": false, - "properties": { - "Manifest": { - "type": "object" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill.SkillPackage": { - "additionalProperties": false, - "properties": { - "Overrides": { - "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" - }, - "S3Bucket": { - "type": "string" - }, - "S3BucketRole": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "Parameter": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "AllowedValues": { - "type": "array" - }, - "ConstraintDescription": { - "type": "string" - }, - "Default": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MaxLength": { - "type": "string" - }, - "MaxValue": { - "type": "string" - }, - "MinLength": { - "type": "string" - }, - "MinValue": { - "type": "string" - }, - "NoEcho": { - "type": [ - "string", - "boolean" - ] - }, - "Type": { - "enum": [ - "String", - "Number", - "List\u003cNumber\u003e", - "CommaDelimitedList", - "AWS::EC2::AvailabilityZone::Name", - "AWS::EC2::Image::Id", - "AWS::EC2::Instance::Id", - "AWS::EC2::KeyPair::KeyName", - "AWS::EC2::SecurityGroup::GroupName", - "AWS::EC2::SecurityGroup::Id", - "AWS::EC2::Subnet::Id", - "AWS::EC2::Volume::Id", - "AWS::EC2::VPC::Id", - "AWS::Route53::HostedZone::Id", - "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "List\u003cAWS::EC2::Image::Id\u003e", - "List\u003cAWS::EC2::Instance::Id\u003e", - "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "List\u003cAWS::EC2::SecurityGroup::Id\u003e", - "List\u003cAWS::EC2::Subnet::Id\u003e", - "List\u003cAWS::EC2::Volume::Id\u003e", - "List\u003cAWS::EC2::VPC::Id\u003e", - "List\u003cAWS::Route53::HostedZone::Id\u003e", - "List\u003cString\u003e", - "AWS::SSM::Parameter::Name", - "AWS::SSM::Parameter::Value\u003cString\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "properties": { - "AWSTemplateFormatVersion": { - "enum": [ - "2010-09-09" - ], - "type": "string" - }, - "Conditions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Description": { - "description": "Template description", - "maxLength": 1024, - "type": "string" - }, - "Mappings": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Metadata": { - "type": "object" - }, - "Outputs": { - "additionalProperties": false, - "maxProperties": 60, - "minProperties": 1, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Parameters": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/Parameter" - } - }, - "type": "object" - }, - "Resources": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::ACMPCA::Certificate" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" - }, - { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Broker" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" - }, - { - "$ref": "#/definitions/AWS::Amplify::App" - }, - { - "$ref": "#/definitions/AWS::Amplify::Branch" - }, - { - "$ref": "#/definitions/AWS::Amplify::Domain" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Account" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Method" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Resource" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RestApi" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::VpcLink" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Route" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Application" - }, - { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Deployment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Environment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" - }, - { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" - }, - { - "$ref": "#/definitions/AWS::AppFlow::Flow" - }, - { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" - }, - { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Mesh" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Route" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualService" - }, - { - "$ref": "#/definitions/AWS::AppRunner::Service" - }, - { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" - }, - { - "$ref": "#/definitions/AWS::AppStream::Fleet" - }, - { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder" - }, - { - "$ref": "#/definitions/AWS::AppStream::Stack" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::User" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiCache" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiKey" - }, - { - "$ref": "#/definitions/AWS::AppSync::DataSource" - }, - { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" - }, - { - "$ref": "#/definitions/AWS::AppSync::Resolver" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::ApplicationInsights::Application" - }, - { - "$ref": "#/definitions/AWS::Athena::DataCatalog" - }, - { - "$ref": "#/definitions/AWS::Athena::NamedQuery" - }, - { - "$ref": "#/definitions/AWS::Athena::PreparedStatement" - }, - { - "$ref": "#/definitions/AWS::Athena::WorkGroup" - }, - { - "$ref": "#/definitions/AWS::AuditManager::Assessment" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::WarmPool" - }, - { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupSelection" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupVault" - }, - { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" - }, - { - "$ref": "#/definitions/AWS::Batch::JobDefinition" - }, - { - "$ref": "#/definitions/AWS::Batch::JobQueue" - }, - { - "$ref": "#/definitions/AWS::Budgets::Budget" - }, - { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalyMonitor" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalySubscription" - }, - { - "$ref": "#/definitions/AWS::CE::CostCategory" - }, - { - "$ref": "#/definitions/AWS::CUR::ReportDefinition" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Keyspace" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Table" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Account" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Certificate" - }, - { - "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" - }, - { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::CustomResource" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Macro" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Publisher" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Stack" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::StackSet" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Distribution" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Function" - }, - { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup" - }, - { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::PublicKey" - }, - { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" - }, - { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" - }, - { - "$ref": "#/definitions/AWS::CloudTrail::Trail" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Alarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Dashboard" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Domain" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::Project" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" - }, - { - "$ref": "#/definitions/AWS::CodeCommit::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::Application" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Webhook" - }, - { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" - }, - { - "$ref": "#/definitions/AWS::CodeStarConnections::Connection" - }, - { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" - }, - { - "$ref": "#/definitions/AWS::Config::AggregationAuthorization" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" - }, - { - "$ref": "#/definitions/AWS::Config::ConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::DeliveryChannel" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration" - }, - { - "$ref": "#/definitions/AWS::Config::StoredQuery" - }, - { - "$ref": "#/definitions/AWS::Connect::QuickConnect" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" - }, - { - "$ref": "#/definitions/AWS::DAX::Cluster" - }, - { - "$ref": "#/definitions/AWS::DAX::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DAX::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" - }, - { - "$ref": "#/definitions/AWS::DMS::Certificate" - }, - { - "$ref": "#/definitions/AWS::DMS::Endpoint" - }, - { - "$ref": "#/definitions/AWS::DMS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationInstance" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationTask" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Dataset" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Job" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Project" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Recipe" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Schedule" - }, - { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::DataSync::Agent" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationEFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationNFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationS3" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationSMB" - }, - { - "$ref": "#/definitions/AWS::DataSync::Task" - }, - { - "$ref": "#/definitions/AWS::Detective::Graph" - }, - { - "$ref": "#/definitions/AWS::Detective::MemberInvitation" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBCluster" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBInstance" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::Table" - }, - { - "$ref": "#/definitions/AWS::EC2::CapacityReservation" - }, - { - "$ref": "#/definitions/AWS::EC2::CarrierGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::CustomerGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::DHCPOptions" - }, - { - "$ref": "#/definitions/AWS::EC2::EC2Fleet" - }, - { - "$ref": "#/definitions/AWS::EC2::EIP" - }, - { - "$ref": "#/definitions/AWS::EC2::EIPAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::FlowLog" - }, - { - "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::Host" - }, - { - "$ref": "#/definitions/AWS::EC2::Instance" - }, - { - "$ref": "#/definitions/AWS::EC2::InternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::NatGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAcl" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterface" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" - }, - { - "$ref": "#/definitions/AWS::EC2::PlacementGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::PrefixList" - }, - { - "$ref": "#/definitions/AWS::EC2::Route" - }, - { - "$ref": "#/definitions/AWS::EC2::RouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::EC2::SpotFleet" - }, - { - "$ref": "#/definitions/AWS::EC2::Subnet" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPC" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::Volume" - }, - { - "$ref": "#/definitions/AWS::EC2::VolumeAttachment" - }, - { - "$ref": "#/definitions/AWS::ECR::PublicRepository" - }, - { - "$ref": "#/definitions/AWS::ECR::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" - }, - { - "$ref": "#/definitions/AWS::ECR::Repository" - }, - { - "$ref": "#/definitions/AWS::ECS::CapacityProvider" - }, - { - "$ref": "#/definitions/AWS::ECS::Cluster" - }, - { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" - }, - { - "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" - }, - { - "$ref": "#/definitions/AWS::ECS::Service" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskSet" - }, - { - "$ref": "#/definitions/AWS::EFS::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::EFS::FileSystem" - }, - { - "$ref": "#/definitions/AWS::EFS::MountTarget" - }, - { - "$ref": "#/definitions/AWS::EKS::Addon" - }, - { - "$ref": "#/definitions/AWS::EKS::Cluster" - }, - { - "$ref": "#/definitions/AWS::EKS::FargateProfile" - }, - { - "$ref": "#/definitions/AWS::EKS::Nodegroup" - }, - { - "$ref": "#/definitions/AWS::EMR::Cluster" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::EMR::Step" - }, - { - "$ref": "#/definitions/AWS::EMR::Studio" - }, - { - "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" - }, - { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::User" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::UserGroup" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" - }, - { - "$ref": "#/definitions/AWS::Elasticsearch::Domain" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Registry" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Schema" - }, - { - "$ref": "#/definitions/AWS::Events::ApiDestination" - }, - { - "$ref": "#/definitions/AWS::Events::Archive" - }, - { - "$ref": "#/definitions/AWS::Events::Connection" - }, - { - "$ref": "#/definitions/AWS::Events::EventBus" - }, - { - "$ref": "#/definitions/AWS::Events::EventBusPolicy" - }, - { - "$ref": "#/definitions/AWS::Events::Rule" - }, - { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" - }, - { - "$ref": "#/definitions/AWS::FMS::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::FMS::Policy" - }, - { - "$ref": "#/definitions/AWS::FSx::FileSystem" - }, - { - "$ref": "#/definitions/AWS::FinSpace::Environment" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Detector" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EntityType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EventType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Label" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Outcome" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Variable" - }, - { - "$ref": "#/definitions/AWS::GameLift::Alias" - }, - { - "$ref": "#/definitions/AWS::GameLift::Build" - }, - { - "$ref": "#/definitions/AWS::GameLift::Fleet" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" - }, - { - "$ref": "#/definitions/AWS::GameLift::Script" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" - }, - { - "$ref": "#/definitions/AWS::Glue::Classifier" - }, - { - "$ref": "#/definitions/AWS::Glue::Connection" - }, - { - "$ref": "#/definitions/AWS::Glue::Crawler" - }, - { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" - }, - { - "$ref": "#/definitions/AWS::Glue::Database" - }, - { - "$ref": "#/definitions/AWS::Glue::DevEndpoint" - }, - { - "$ref": "#/definitions/AWS::Glue::Job" - }, - { - "$ref": "#/definitions/AWS::Glue::MLTransform" - }, - { - "$ref": "#/definitions/AWS::Glue::Partition" - }, - { - "$ref": "#/definitions/AWS::Glue::Registry" - }, - { - "$ref": "#/definitions/AWS::Glue::Schema" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersion" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" - }, - { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::Glue::Table" - }, - { - "$ref": "#/definitions/AWS::Glue::Trigger" - }, - { - "$ref": "#/definitions/AWS::Glue::Workflow" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::Group" - }, - { - "$ref": "#/definitions/AWS::Greengrass::GroupVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" - }, - { - "$ref": "#/definitions/AWS::GroundStation::Config" - }, - { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Detector" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Filter" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::IPSet" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Master" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Member" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" - }, - { - "$ref": "#/definitions/AWS::IAM::AccessKey" - }, - { - "$ref": "#/definitions/AWS::IAM::Group" - }, - { - "$ref": "#/definitions/AWS::IAM::InstanceProfile" - }, - { - "$ref": "#/definitions/AWS::IAM::ManagedPolicy" - }, - { - "$ref": "#/definitions/AWS::IAM::OIDCProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::Policy" - }, - { - "$ref": "#/definitions/AWS::IAM::Role" - }, - { - "$ref": "#/definitions/AWS::IAM::SAMLProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::ServerCertificate" - }, - { - "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" - }, - { - "$ref": "#/definitions/AWS::IAM::User" - }, - { - "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" - }, - { - "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" - }, - { - "$ref": "#/definitions/AWS::IVS::Channel" - }, - { - "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" - }, - { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" - }, - { - "$ref": "#/definitions/AWS::IVS::StreamKey" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Component" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Image" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" - }, - { - "$ref": "#/definitions/AWS::Inspector::ResourceGroup" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Device" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Placement" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Project" - }, - { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::Authorizer" - }, - { - "$ref": "#/definitions/AWS::IoT::Certificate" - }, - { - "$ref": "#/definitions/AWS::IoT::CustomMetric" - }, - { - "$ref": "#/definitions/AWS::IoT::Dimension" - }, - { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::MitigationAction" - }, - { - "$ref": "#/definitions/AWS::IoT::Policy" - }, - { - "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" - }, - { - "$ref": "#/definitions/AWS::IoT::ScheduledAudit" - }, - { - "$ref": "#/definitions/AWS::IoT::SecurityProfile" - }, - { - "$ref": "#/definitions/AWS::IoT::Thing" - }, - { - "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRule" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" - }, - { - "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::Input" - }, - { - "$ref": "#/definitions/AWS::IoTFleetHub::Application" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Portal" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Project" - }, - { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::Destination" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" - }, - { - "$ref": "#/definitions/AWS::KMS::Alias" - }, - { - "$ref": "#/definitions/AWS::KMS::Key" - }, - { - "$ref": "#/definitions/AWS::KMS::ReplicaKey" - }, - { - "$ref": "#/definitions/AWS::Kendra::DataSource" - }, - { - "$ref": "#/definitions/AWS::Kendra::Faq" - }, - { - "$ref": "#/definitions/AWS::Kendra::Index" - }, - { - "$ref": "#/definitions/AWS::Kinesis::Stream" - }, - { - "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Permissions" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Resource" - }, - { - "$ref": "#/definitions/AWS::Lambda::Alias" - }, - { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" - }, - { - "$ref": "#/definitions/AWS::Lambda::Function" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersion" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Permission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Version" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::Grant" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::License" - }, - { - "$ref": "#/definitions/AWS::Location::GeofenceCollection" - }, - { - "$ref": "#/definitions/AWS::Location::Map" - }, - { - "$ref": "#/definitions/AWS::Location::PlaceIndex" - }, - { - "$ref": "#/definitions/AWS::Location::RouteCalculator" - }, - { - "$ref": "#/definitions/AWS::Location::Tracker" - }, - { - "$ref": "#/definitions/AWS::Location::TrackerConsumer" - }, - { - "$ref": "#/definitions/AWS::Logs::Destination" - }, - { - "$ref": "#/definitions/AWS::Logs::LogGroup" - }, - { - "$ref": "#/definitions/AWS::Logs::LogStream" - }, - { - "$ref": "#/definitions/AWS::Logs::MetricFilter" - }, - { - "$ref": "#/definitions/AWS::Logs::QueryDefinition" - }, - { - "$ref": "#/definitions/AWS::Logs::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" - }, - { - "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::LookoutVision::Project" - }, - { - "$ref": "#/definitions/AWS::MSK::Cluster" - }, - { - "$ref": "#/definitions/AWS::MWAA::Environment" - }, - { - "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" - }, - { - "$ref": "#/definitions/AWS::Macie::FindingsFilter" - }, - { - "$ref": "#/definitions/AWS::Macie::Session" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::Flow" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Preset" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Queue" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Input" - }, - { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Asset" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" - }, - { - "$ref": "#/definitions/AWS::MediaStore::Container" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBCluster" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBInstance" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Device" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Link" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Site" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::Studio" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::App" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Instance" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Layer" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Stack" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::UserProfile" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Volume" - }, - { - "$ref": "#/definitions/AWS::OpsWorksCM::Server" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::App" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Campaign" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EventStream" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Segment" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::Identity" - }, - { - "$ref": "#/definitions/AWS::QLDB::Ledger" - }, - { - "$ref": "#/definitions/AWS::QLDB::Stream" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Analysis" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Dashboard" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSet" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSource" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Template" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Theme" - }, - { - "$ref": "#/definitions/AWS::RAM::ResourceShare" - }, - { - "$ref": "#/definitions/AWS::RDS::DBCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBInstance" - }, - { - "$ref": "#/definitions/AWS::RDS::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxy" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::RDS::GlobalCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::OptionGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::Cluster" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ResourceGroups::Group" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Fleet" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Robot" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::Route53::DNSSEC" - }, - { - "$ref": "#/definitions/AWS::Route53::HealthCheck" - }, - { - "$ref": "#/definitions/AWS::Route53::HostedZone" - }, - { - "$ref": "#/definitions/AWS::Route53::KeySigningKey" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSet" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" - }, - { - "$ref": "#/definitions/AWS::S3::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3::StorageLens" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SDB::Domain" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::SES::ContactList" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptFilter" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRule" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" - }, - { - "$ref": "#/definitions/AWS::SES::Template" - }, - { - "$ref": "#/definitions/AWS::SNS::Subscription" - }, - { - "$ref": "#/definitions/AWS::SNS::Topic" - }, - { - "$ref": "#/definitions/AWS::SNS::TopicPolicy" - }, - { - "$ref": "#/definitions/AWS::SQS::Queue" - }, - { - "$ref": "#/definitions/AWS::SQS::QueuePolicy" - }, - { - "$ref": "#/definitions/AWS::SSM::Association" - }, - { - "$ref": "#/definitions/AWS::SSM::Document" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" - }, - { - "$ref": "#/definitions/AWS::SSM::Parameter" - }, - { - "$ref": "#/definitions/AWS::SSM::PatchBaseline" - }, - { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::Contact" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" - }, - { - "$ref": "#/definitions/AWS::SSO::Assignment" - }, - { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" - }, - { - "$ref": "#/definitions/AWS::SSO::PermissionSet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::App" - }, - { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Device" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Domain" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Image" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ImageVersion" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Model" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Pipeline" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Project" - }, - { - "$ref": "#/definitions/AWS::SageMaker::UserProfile" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Workteam" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::Secret" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" - }, - { - "$ref": "#/definitions/AWS::SecurityHub::Hub" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service" - }, - { - "$ref": "#/definitions/AWS::Signer::ProfilePermission" - }, - { - "$ref": "#/definitions/AWS::Signer::SigningProfile" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::Activity" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine" - }, - { - "$ref": "#/definitions/AWS::Synthetics::Canary" - }, - { - "$ref": "#/definitions/AWS::Timestream::Database" - }, - { - "$ref": "#/definitions/AWS::Timestream::Table" - }, - { - "$ref": "#/definitions/AWS::Transfer::Server" - }, - { - "$ref": "#/definitions/AWS::Transfer::User" - }, - { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAF::Rule" - }, - { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAF::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::Rule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace" - }, - { - "$ref": "#/definitions/AWS::XRay::Group" - }, - { - "$ref": "#/definitions/AWS::XRay::SamplingRule" - }, - { - "$ref": "#/definitions/Alexa::ASK::Skill" - } - ] - } - }, - "type": "object" - }, - "Transform": { - "oneOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - } - }, - "required": [ - "Resources" - ], - "type": "object" -} \ No newline at end of file From 2383a9697b541f5156042092bca52664ca3751ed Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 10:54:32 -0700 Subject: [PATCH 04/64] remove auto apply authmode code from update api workflow --- .../cfn-api-artifact-handler.ts | 29 ++++--------------- 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index d245549b52a..e00de308014 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -120,30 +120,11 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } - let noErrors = true; - do { - try { - await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { - resourceDir, - parameters: this.getCfnParameters(apiName, authConfig, resourceDir), - authConfig, - }); - noErrors = true; - } catch (err) { - noErrors = false; - if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AWS_IAM', this.context)); - } else if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AMAZON_COGNITO_USER_POOLS', this.context)); - } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('OPENID_CONNECT', this.context)); - } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('API_KEY', this.context)); - } else { - throw err; - } - } - } while(!noErrors) + await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { + resourceDir, + parameters: this.getCfnParameters(apiName, authConfig, resourceDir), + authConfig, + }); this.context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); this.context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); From 5260dce6ffd5ba01b167c61996d4c8e175e9edbf Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 10:55:59 -0700 Subject: [PATCH 05/64] remove unused import --- .../awscloudformation/cfn-api-artifact-handler.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index e00de308014..0b4a49a2a7e 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -18,7 +18,6 @@ import _ from 'lodash'; import { getAppSyncResourceName, getAppSyncAuthConfig, checkIfAuthExists, authConfigHasApiKey } from './utils/amplify-meta-utils'; import { printApiKeyWarnings } from './utils/print-api-key-warnings'; import { isNameUnique } from './utils/check-case-sensitivity'; -import { askAuthQuestions } from './service-walkthroughs/appSync-walkthrough'; // keep in sync with ServiceName in amplify-category-function, but probably it will not change const FunctionServiceNameLambdaFunction = 'Lambda'; @@ -119,7 +118,6 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { if (updates.additionalAuthTypes) { authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } - await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { resourceDir, parameters: this.getCfnParameters(apiName, authConfig, resourceDir), From d6163218ca44ddbb16c7b40cf286a8c07d892489 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 11:57:35 -0700 Subject: [PATCH 06/64] fix lint issues --- .../appSync-walkthrough.ts | 4 +-- .../amplify-e2e-core/src/categories/api.ts | 31 ++++++++++++++++--- .../src/__tests__/function_2.test.ts | 4 +-- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 4ed0136fed9..2538af1d70d 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -1,7 +1,7 @@ import { ListQuestion, CheckboxQuestion, ListChoiceOptions } from 'inquirer'; import { dataStoreLearnMore } from '../sync-conflict-handler-assets/syncAssets'; import inquirer from 'inquirer'; -import fs, { createSymlink } from 'fs-extra'; +import fs from 'fs-extra'; import path from 'path'; import { rootAssetDir } from '../aws-constants'; import { collectDirectivesByTypeNames, readProjectConfiguration, ConflictHandlerType } from 'graphql-transformer-core'; @@ -21,7 +21,7 @@ import { $TSContext, open, } from 'amplify-cli-core'; -import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions'; +import { getAppSyncApiKeys } from 'amplify-provider-awscloudformation/lib/utility-functions' const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; diff --git a/packages/amplify-e2e-core/src/categories/api.ts b/packages/amplify-e2e-core/src/categories/api.ts index b623c89948e..6d7e59c3acd 100644 --- a/packages/amplify-e2e-core/src/categories/api.ts +++ b/packages/amplify-e2e-core/src/categories/api.ts @@ -62,7 +62,6 @@ export function addApiWithoutSchema(cwd: string, opts: Partial = {}) { const options = _.assign(defaultOptions, opts); - //const schemaPath = getSchemaPath(schemaFile); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') @@ -95,7 +94,6 @@ export function addApiWithBlankSchema(cwd: string, opts: Partial((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') @@ -227,7 +225,7 @@ export function apiDisableDataStore(cwd: string, settings: any) { }); } -export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { +export function updateAPIWithResolutionStrategyWithoutModels(cwd: string, settings: any) { return new Promise((resolve, reject) => { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') @@ -238,8 +236,31 @@ export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { .wait(/.*Select the default resolution strategy.*/) .sendKeyDown() .sendCarriageReturn() - // .wait(/.*Do you want to override default per model settings?.*/) - // .sendConfirmNo() + .wait(/.*Successfully updated resource.*/) + .sendEof() + .run((err: Error) => { + if (!err) { + resolve(); + } else { + reject(err); + } + }); + }); +} + +export function updateAPIWithResolutionStrategyWithModels(cwd: string, settings: any) { + return new Promise((resolve, reject) => { + spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) + .wait('Please select from one of the below mentioned services:') + .sendCarriageReturn() + .wait(/.*Select a setting to edit.*/) + .sendKeyDown() + .sendCarriageReturn() + .wait(/.*Select the default resolution strategy.*/) + .sendKeyDown() + .sendCarriageReturn() + .wait(/.*Do you want to override default per model settings?.*/) + .sendConfirmNo() .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { diff --git a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts index e25fbae68a8..e680f352e9a 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts @@ -215,7 +215,7 @@ describe('nodejs', () => { expect(functionName).toBeDefined(); expect(region).toBeDefined(); - await addApiWithoutSchema(projRoot,); + await addApiWithoutSchema(projRoot); await updateApiSchema(projRoot, 'lambdaadditionalpermissions', 'simple_model.graphql'); await updateFunction( projRoot, @@ -381,7 +381,7 @@ describe('nodejs', () => { it('function dependencies should be preserved when not editing permissions during `amplify update function`', async () => { await initJSProjectWithProfile(projRoot, { - name: 'functiondependenciespermission' + name: 'functiondependenciespermission', }); await addApiWithoutSchema(projRoot); await updateApiSchema(projRoot, 'functiondependenciespermission', 'two-model-schema.graphql'); From b3052b95f53df55dbf0c36a4248527e0805f4aaa Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 12:11:43 -0700 Subject: [PATCH 07/64] relative import --- .../service-walkthroughs/appSync-walkthrough.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 2538af1d70d..dd8ccf73de9 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -21,7 +21,7 @@ import { $TSContext, open, } from 'amplify-cli-core'; -import { getAppSyncApiKeys } from 'amplify-provider-awscloudformation/lib/utility-functions' +import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions' const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; From 13b7b0f28c4b8792bb2269b3519318ce792270a2 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 12:49:34 -0700 Subject: [PATCH 08/64] fix dependencies --- packages/amplify-category-api/package.json | 1 + .../amplify-provider-awscloudformation/src/utility-functions.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index 9f264fd2278..023e6718ba4 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -64,6 +64,7 @@ "@graphql-tools/merge": "^6.0.18", "amplify-cli-core": "1.26.0", "amplify-util-headless-input": "1.5.3", + "amplify-provider-awscloudformation": "4.56.1", "chalk": "^4.1.1", "constructs": "^3.2.0", "fs-extra": "^8.1.0", diff --git a/packages/amplify-provider-awscloudformation/src/utility-functions.js b/packages/amplify-provider-awscloudformation/src/utility-functions.js index 03c6e69b7e1..add06204706 100644 --- a/packages/amplify-provider-awscloudformation/src/utility-functions.js +++ b/packages/amplify-provider-awscloudformation/src/utility-functions.js @@ -15,6 +15,7 @@ const { pagedAWSCall } = require('./aws-utils/paged-call'); const { fileLogger } = require('./utils/aws-logger'); const logger = fileLogger('utility-functions'); const { getAccountId } = require('./amplify-sts'); +const AWS = require('aws-sdk'); module.exports = { zipFiles: (context, [srcDir, dstZipFilePath]) => { From 17c8e7402fe15419c604ee45ac6b5ebb7ea69992 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 13:23:19 -0700 Subject: [PATCH 09/64] fix lint comments --- packages/amplify-e2e-tests/src/__tests__/function_5.test.ts | 2 +- .../__tests__/update_tests/function_migration_update.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts index 4782d421d95..9bb8ebdd115 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts @@ -85,7 +85,7 @@ describe('test dependency in root stack', () => { it('init a project with api and function and update the @model and add function access to @model ', async () => { const projectName = 'mytestapi'; await initJSProjectWithProfile(projRoot, { - name: projectName + name: projectName, }); await addApiWithoutSchema(projRoot); await updateApiSchema(projRoot, projectName, 'simple_model.graphql'); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts index 87cd42ee896..8e0adf6f47f 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts @@ -36,7 +36,7 @@ describe('amplify function migration', () => { it('existing lambda updated with additional permissions should be able to scan ddb', async () => { await initJSProjectWithProfile(projRoot, { - name: 'lambdapermissionscanddb' + name: 'lambdapermissionscanddb', }); const random = Math.floor(Math.random() * 10000); From 3467e97cfdb720e4cfc6cca84d9569ba40596752 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 15:00:29 -0700 Subject: [PATCH 10/64] remove unused code --- .../service-walkthroughs/appSync-walkthrough.ts | 16 ---------------- .../src/provider-utils/supported-services.ts | 4 ++++ 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index dd8ccf73de9..e6de25750f0 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -349,22 +349,6 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen const { amplify } = context; const { inputs } = serviceMetadata; - const defaultValuesSrc = `${__dirname}/../default-values/${defaultValuesFilename}`; - const { getAllDefaults } = require(defaultValuesSrc); - const allDefaultValues = getAllDefaults(amplify.getProjectDetails()); - - const resourceQuestions = [ - { - type: inputs[1].type, - name: inputs[1].key, - message: inputs[1].question, - validate: amplify.inputValidation(inputs[1]), - default: () => { - const defaultValue = allDefaultValues[inputs[1].key]; - return defaultValue; - }, - }, - ]; const basicInfoAnswers = await serviceApiInputWalkthrough(context, defaultValuesFilename, serviceMetadata); let schemaContent = ''; diff --git a/packages/amplify-category-api/src/provider-utils/supported-services.ts b/packages/amplify-category-api/src/provider-utils/supported-services.ts index 9bf9cbba01e..d5fe5482aa2 100644 --- a/packages/amplify-category-api/src/provider-utils/supported-services.ts +++ b/packages/amplify-category-api/src/provider-utils/supported-services.ts @@ -52,6 +52,10 @@ export const supportedServices = { name: 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)', value: 'single-object-auth-schema.graphql', }, + { + name: 'Blank Schema', + value: 'blank-schema.graphql', + }, ], required: true, }, From 69deb85d1101dfcdd705ce5e15908cac2cadb3b6 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 17:29:28 -0700 Subject: [PATCH 11/64] updated v2 templates --- .../many-relationship-schema-v2.graphql | 18 ++++++++ .../single-object-auth-schema-v2.graphql | 15 +++++++ .../single-object-schema-v2.graphql | 5 +++ .../appSync-walkthrough.ts | 43 ++++++++++++++++++- 4 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql new file mode 100644 index 00000000000..2619b187297 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql @@ -0,0 +1,18 @@ +type Blog @model { + id: ID! + name: String! + posts: [Post] @hasMany +} + +type Post @model { + id: ID! + title: String! + blog: Blog @belongsTo + comments: [Comment] @hasMany +} + +type Comment @model { + id: ID! + post: Post @belongsTo + content: String! +} diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql new file mode 100644 index 00000000000..0faf0997d4a --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql @@ -0,0 +1,15 @@ +type Task + @model + @auth(rules: [ + { allow: groups, groups: ["Managers"], operations: [create, update, read, delete] } + { allow: groups, groups: ["Employees"], operations: [read] } ]) { + id: ID! + title: String! + description: String + status: String +} + +type PrivateNote @model @auth(rules: [{ allow: owner }]) { + id: ID! + content: String! +} diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql new file mode 100644 index 00000000000..74b097ceae9 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql @@ -0,0 +1,5 @@ +type Todo @model { + id: ID! + name: String! + description: String +} diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index e6de25750f0..cd5565a890f 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -66,6 +66,44 @@ const conflictResolutionHanlderChoices = [ }, ]; +const schemaTemplatesV1 = [ + { + name: 'Single object with fields (e.g., “Todo” with ID, name, description)', + value: 'single-object-schema.graphql', + }, + { + name: 'One-to-many relationship (e.g., “Blogs” with “Posts” and “Comments”)', + value: 'many-relationship-schema.graphql', + }, + { + name: 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)', + value: 'single-object-auth-schema.graphql', + }, + { + name: 'Blank Schema', + value: 'blank-schema.graphql', + }, +]; + +const schemaTemplatesV2 = [ + { + name: 'Single object with fields (e.g., “Todo” with ID, name, description)', + value: 'single-object-schema-v2.graphql', + }, + { + name: 'One-to-many relationship (e.g., “Blogs” with “Posts” and “Comments”)', + value: 'many-relationship-schema-v2.graphql', + }, + { + name: 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)', + value: 'single-object-auth-schema-v2.graphql', + }, + { + name: 'Blank Schema', + value: 'blank-schema.graphql', + }, +]; + export const openConsole = async (context: $TSContext) => { const amplifyMeta = stateManager.getMeta(); const categoryAmplifyMeta = amplifyMeta[category]; @@ -355,11 +393,12 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen let askToEdit = true; // Schema template selection + const schemaTemplateOptions = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer') ? schemaTemplatesV2 : schemaTemplatesV1; const templateSelectionQuestion = { type: inputs[4].type, name: inputs[4].key, message: inputs[4].question, - choices: inputs[4].options.filter(templateSchemaFilter(basicInfoAnswers.output.authConfig)), + choices: schemaTemplateOptions.filter(templateSchemaFilter(basicInfoAnswers.output.authConfig)), validate: amplify.inputValidation(inputs[4]), }; @@ -903,7 +942,7 @@ const buildPolicyResource = (resourceName: string, path: string | null) => { const templateSchemaFilter = authConfig => { const authIncludesCognito = getAuthTypes(authConfig).includes('AMAZON_COGNITO_USER_POOLS'); return (templateOption: ListChoiceOptions): boolean => - authIncludesCognito || templateOption.value !== 'single-object-auth-schema.graphql'; + authIncludesCognito || templateOption.name !== 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)'; }; const getAuthTypes = authConfig => { From 971eda80b05c1d10a05c63c8394ade6ed736438a Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 17:42:55 -0700 Subject: [PATCH 12/64] remove unused import --- .../service-walkthroughs/appSync-walkthrough.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index cd5565a890f..d343315290a 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -4,7 +4,7 @@ import inquirer from 'inquirer'; import fs from 'fs-extra'; import path from 'path'; import { rootAssetDir } from '../aws-constants'; -import { collectDirectivesByTypeNames, readProjectConfiguration, ConflictHandlerType } from 'graphql-transformer-core'; +import { collectDirectivesByTypeNames, readProjectConfiguration } from 'graphql-transformer-core'; import { category } from '../../../category-constants'; import { UpdateApiRequest } from '../../../../../amplify-headless-interface/lib/interface/api/update'; import { authConfigToAppSyncAuthType } from '../utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; From 666f944dcce8724900767669012a47a8531aeb09 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 21:20:56 -0700 Subject: [PATCH 13/64] change to use executeProviderUtils --- packages/amplify-category-api/package.json | 1 - .../service-walkthroughs/appSync-walkthrough.ts | 16 ++++++++++------ .../src/utility-functions.js | 1 - 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index 023e6718ba4..9f264fd2278 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -64,7 +64,6 @@ "@graphql-tools/merge": "^6.0.18", "amplify-cli-core": "1.26.0", "amplify-util-headless-input": "1.5.3", - "amplify-provider-awscloudformation": "4.56.1", "chalk": "^4.1.1", "constructs": "^3.2.0", "fs-extra": "^8.1.0", diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index d343315290a..8f3e9b9d45b 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -21,7 +21,6 @@ import { $TSContext, open, } from 'amplify-cli-core'; -import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions' const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; @@ -476,6 +475,12 @@ export const updateWalkthrough = async (context): Promise => { }; async function displayApiInformation(context, resource, project) { + let authModes: string[] = []; + authModes.push(`- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`); + await resource.output.authConfig.additionalAuthenticationProviders.map(async (authMode) => { + authModes.push(`- ${await displayAuthMode(context, resource, authMode.authenticationType)}`); + }); + context.print.info(''); context.print.success('General information'); @@ -484,10 +489,7 @@ async function displayApiInformation(context, resource, project) { context.print.info(''); context.print.success('Authorization modes'); - context.print.info(`- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`); - await resource.output.authConfig.additionalAuthenticationProviders.map(async (authMode) => { - context.print.info(`- ${await displayAuthMode(context, resource, authMode.authenticationType)}`); - }); + authModes.forEach(authMode => context.print.info(authMode)); context.print.info(''); context.print.success('Conflict detection'); @@ -502,7 +504,9 @@ async function displayApiInformation(context, resource, project) { async function displayAuthMode(context, resource, authMode) { if(authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { - let { apiKeys } = await getAppSyncApiKeys(context, {apiId: resource.output.GraphQLAPIIdOutput}); + let { apiKeys } = await context.amplify.executeProviderUtils(context, 'awscloudformation', 'getAppSyncApiKeys', { + apiId: resource.output.GraphQLAPIIdOutput, + }); let apiKeyExpires = apiKeys.find(key => key.id == resource.output.GraphQLAPIKeyOutput)?.expires; if(!apiKeyExpires) { return authProviderChoices.find(choice => choice.value === authMode).name; diff --git a/packages/amplify-provider-awscloudformation/src/utility-functions.js b/packages/amplify-provider-awscloudformation/src/utility-functions.js index add06204706..03c6e69b7e1 100644 --- a/packages/amplify-provider-awscloudformation/src/utility-functions.js +++ b/packages/amplify-provider-awscloudformation/src/utility-functions.js @@ -15,7 +15,6 @@ const { pagedAWSCall } = require('./aws-utils/paged-call'); const { fileLogger } = require('./utils/aws-logger'); const logger = fileLogger('utility-functions'); const { getAccountId } = require('./amplify-sts'); -const AWS = require('aws-sdk'); module.exports = { zipFiles: (context, [srcDir, dstZipFilePath]) => { From 424c9c05680415e79b2a28468658abcecd9d8dd0 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Mon, 30 Aug 2021 12:16:38 -0700 Subject: [PATCH 14/64] fixed formatting --- .../service-walkthroughs/appSync-walkthrough.ts | 12 ++++-------- .../src/collectDirectives.ts | 4 +++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 8f3e9b9d45b..4cc08bb3e0b 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -224,7 +224,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile // // Repeat prompt until user selects Continue // - while(!continuePrompt) { + while (!continuePrompt) { const getAuthModeChoice = () => { if (authConfig.defaultAuthentication.authenticationType === 'API_KEY') { @@ -250,7 +250,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile value: 'CONFLICT_DETECTION', }); - if(resolverConfig?.project) { + if (resolverConfig?.project) { basicInfoQuestionChoices.push({ name: `Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, value: 'CONFLICT_STRATEGY', @@ -353,9 +353,6 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model const { updateOption } = await inquirer.prompt([updateOptionQuestion]); if (updateOption === 'ENABLE_CONFLICT') { - // resolverConfig = { - // project: { ConflictHandler: ConflictHandlerType.AUTOMERGE, ConflictDetection: 'VERSION' }, - // }; resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); } else if (updateOption === 'DISABLE_CONFLICT') { resolverConfig = {}; @@ -370,7 +367,6 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model authConfig, resolverConfig, }; - }; export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { @@ -503,12 +499,12 @@ async function displayApiInformation(context, resource, project) { } async function displayAuthMode(context, resource, authMode) { - if(authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { + if (authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { let { apiKeys } = await context.amplify.executeProviderUtils(context, 'awscloudformation', 'getAppSyncApiKeys', { apiId: resource.output.GraphQLAPIIdOutput, }); let apiKeyExpires = apiKeys.find(key => key.id == resource.output.GraphQLAPIKeyOutput)?.expires; - if(!apiKeyExpires) { + if (!apiKeyExpires) { return authProviderChoices.find(choice => choice.value === authMode).name; } let apiKeyExpiresDate = new Date(apiKeyExpires * 1000); diff --git a/packages/graphql-transformer-core/src/collectDirectives.ts b/packages/graphql-transformer-core/src/collectDirectives.ts index ef4cec856e7..4cd2c103b38 100644 --- a/packages/graphql-transformer-core/src/collectDirectives.ts +++ b/packages/graphql-transformer-core/src/collectDirectives.ts @@ -62,7 +62,9 @@ export function collectDirectivesByTypeNames(sdl: string) { } export function collectDirectivesByType(sdl: string): Object { - if(!sdl) return {}; + if (!sdl) { + return {}; + } const doc = parse(sdl); // defined types with directives list let types = {}; From 94f6b045fd4e11982821cca246acd3a7280218e2 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 8 Sep 2021 14:36:49 -0700 Subject: [PATCH 15/64] several minor tweaks to add and update api workflow --- .../appSync-walkthrough.ts | 86 ++++++++++++------- .../utils/edit-schema-flow.ts | 2 +- packages/amplify-category-auth/src/index.js | 4 +- .../handlers/resource-handlers.ts | 4 +- .../provider-utils/awscloudformation/index.js | 4 +- .../utils/message-printer.ts | 7 +- 6 files changed, 68 insertions(+), 39 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 4cc08bb3e0b..2b9b50e5884 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -10,6 +10,7 @@ import { UpdateApiRequest } from '../../../../../amplify-headless-interface/lib/ import { authConfigToAppSyncAuthType } from '../utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; import { resolverConfigToConflictResolution } from '../utils/resolver-config-to-conflict-resolution-bi-di-mapper'; import _ from 'lodash'; +import chalk from 'chalk'; import { getAppSyncAuthConfig, checkIfAuthExists, authConfigHasApiKey } from '../utils/amplify-meta-utils'; import { ResourceAlreadyExistsError, @@ -226,33 +227,41 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile // while (!continuePrompt) { - const getAuthModeChoice = () => { + const getAuthModeChoice = async () => { if (authConfig.defaultAuthentication.authenticationType === 'API_KEY') { - return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (Expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; + return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (default, expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; } - return authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name; + return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (default)`; }; + const getAdditionalAuthModeChoices = async () => { + let additionalAuthModesText = ''; + authConfig.additionalAuthenticationProviders.map(async (authMode) => { + additionalAuthModesText += `, ${authProviderChoices.find(choice => choice.value === authMode.authenticationType).name}` + }); + return additionalAuthModesText; + } + const basicInfoQuestionChoices = []; basicInfoQuestionChoices.push({ - name: `Name: ${resourceAnswers[inputs[1].key]}`, + name: chalk`{bold Name:} ${resourceAnswers[inputs[1].key]}`, value: 'API_NAME', }); basicInfoQuestionChoices.push({ - name: `Authorization modes: ${getAuthModeChoice()}`, + name: chalk`{bold Authorization modes:} ${await getAuthModeChoice()}${await getAdditionalAuthModeChoices()}`, value: 'API_AUTH_MODE', }); basicInfoQuestionChoices.push({ - name: `Conflict detection (required for DataStore): ${resolverConfig?.project ? 'Enabled' : 'Disabled'}`, + name: chalk`{bold Conflict detection (required for DataStore):} ${resolverConfig?.project ? 'Enabled' : 'Disabled'}`, value: 'CONFLICT_DETECTION', }); if (resolverConfig?.project) { basicInfoQuestionChoices.push({ - name: `Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, + name: chalk`{bold Conflict resolution strategy:} ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, value: 'CONFLICT_STRATEGY', }); } @@ -296,7 +305,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile ({ authConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); break; case 'CONFLICT_DETECTION': - resolverConfig = await askResolverConflictQuestion(context, defaultAuthType); + resolverConfig = await askResolverConflictQuestion(context, resolverConfig, defaultAuthType); break; case 'CONFLICT_STRATEGY': resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); @@ -481,7 +490,9 @@ async function displayApiInformation(context, resource, project) { context.print.success('General information'); context.print.info('- Name: '.concat(resource.resourceName)); - context.print.info('- API endpoint: '.concat(resource?.output?.GraphQLAPIEndpointOutput ? resource?.output?.GraphQLAPIEndpointOutput : 'Not available')); + if (resource?.output?.GraphQLAPIEndpointOutput) { + context.print.info(`- API endpoint: ${resource?.output?.GraphQLAPIEndpointOutput}`); + } context.print.info(''); context.print.success('Authorization modes'); @@ -492,7 +503,7 @@ async function displayApiInformation(context, resource, project) { if (project.config && !_.isEmpty(project.config.ResolverConfig)) { context.print.info(`- Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name}`); } else { - context.print.info('- Not configured'); + context.print.info('- Disabled'); } context.print.info(''); @@ -518,14 +529,14 @@ async function askAdditionalQuestions(context, authConfig, defaultAuthType, mode return { authConfig }; } -async function askResolverConflictQuestion(context, modelTypes?) { - let resolverConfig: any = {}; +async function askResolverConflictQuestion(context, resolverConfig, modelTypes?) { + let resolverConfigResponse: any = {}; - if (await context.prompt.confirm('Enable conflict detection?')) { - resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); + if (await context.prompt.confirm('Enable conflict detection?', !resolverConfig?.project)) { + resolverConfigResponse = await askResolverConflictHandlerQuestion(context, modelTypes); } - return resolverConfig; + return resolverConfigResponse; } async function askResolverConflictHandlerQuestion(context, modelTypes?) { @@ -641,7 +652,7 @@ async function askDefaultAuthQuestion(context) { const { defaultAuthType } = await inquirer.prompt([defaultAuthTypeQuestion]); // Get default auth configured - const defaultAuth = await askAuthQuestions(defaultAuthType, context); + const defaultAuth = await askAuthQuestions(defaultAuthType, context, false, currentAuthConfig?.defaultAuthentication); return { authConfig: { @@ -674,7 +685,7 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut for (let i = 0; i < additionalProvidersAnswer.authType.length; i += 1) { const authProvider = additionalProvidersAnswer.authType[i]; - const config = await askAuthQuestions(authProvider, context, true); + const config = await askAuthQuestions(authProvider, context, true, currentAuthConfig?.additionalAuthenticationProviders?.find(authSetting => authSetting.authenticationType == authProvider)); authConfig.additionalAuthenticationProviders.push(config); } @@ -686,12 +697,7 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut return authConfig; } -export async function addAdditionalAuthMode(context, authType) { - const currentAuthConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); - currentAuthConfig.additionalAuthenticationProviders.push(askAuthQuestions(authType, context)); -} - -export async function askAuthQuestions(authType, context, printLeadText = false) { +export async function askAuthQuestions(authType, context, printLeadText = false, authSettings) { if (authType === 'AMAZON_COGNITO_USER_POOLS') { if (printLeadText) { context.print.info('Cognito UserPool configuration'); @@ -707,7 +713,7 @@ export async function askAuthQuestions(authType, context, printLeadText = false) context.print.info('API key configuration'); } - const apiKeyConfig = await askApiKeyQuestions(); + const apiKeyConfig = await askApiKeyQuestions(authSettings); return apiKeyConfig; } @@ -723,7 +729,7 @@ export async function askAuthQuestions(authType, context, printLeadText = false) context.print.info('OpenID Connect configuration'); } - const openIDConnectConfig = await askOpenIDConnectQuestions(); + const openIDConnectConfig = await askOpenIDConnectQuestions(authSettings); return openIDConnectConfig; } @@ -736,9 +742,8 @@ export async function askAuthQuestions(authType, context, printLeadText = false) async function askUserPoolQuestions(context) { let authResourceName = checkIfAuthExists(context); - if (!authResourceName) { - authResourceName = await context.amplify.invokePluginMethod(context, 'auth', undefined, 'add', [context]); + authResourceName = await context.amplify.invokePluginMethod(context, 'auth', undefined, 'add', [context, true]); } else { context.print.info('Use a Cognito user pool configured as a part of this project.'); } @@ -754,18 +759,25 @@ async function askUserPoolQuestions(context) { }; } -async function askApiKeyQuestions() { +async function askApiKeyQuestions(authSettings) { + let defaultValues = { + apiKeyExpirationDays: 7, + description: undefined, + }; + Object.assign(defaultValues, authSettings?.apiKeyConfig); + const apiKeyQuestions = [ { type: 'input', name: 'description', message: 'Enter a description for the API key:', + default: defaultValues.description, }, { type: 'input', name: 'apiKeyExpirationDays', message: 'After how many days from now the API key should expire (1-365):', - default: 7, + default: defaultValues.apiKeyExpirationDays, validate: validateDays, // adding filter to ensure parsing input as int -> https://github.com/SBoudrias/Inquirer.js/issues/866 filter: value => (isNaN(parseInt(value, 10)) ? value : parseInt(value, 10)), @@ -780,35 +792,49 @@ async function askApiKeyQuestions() { }; } -async function askOpenIDConnectQuestions() { +async function askOpenIDConnectQuestions(authSettings) { + let defaultValues = { + authTTL: undefined, + clientId: undefined, + iatTTL: undefined, + issuerUrl: undefined, + name: undefined, + }; + Object.assign(defaultValues, authSettings?.openIDConnectConfig); + const openIDConnectQuestions = [ { type: 'input', name: 'name', message: 'Enter a name for the OpenID Connect provider:', + default: defaultValues.name, }, { type: 'input', name: 'issuerUrl', message: 'Enter the OpenID Connect provider domain (Issuer URL):', validate: validateIssuerUrl, + default: defaultValues.issuerUrl, }, { type: 'input', name: 'clientId', message: 'Enter the Client Id from your OpenID Client Connect application (optional):', + default: defaultValues.clientId, }, { type: 'input', name: 'iatTTL', message: 'Enter the number of milliseconds a token is valid after being issued to a user:', validate: validateTTL, + default: defaultValues.iatTTL, }, { type: 'input', name: 'authTTL', message: 'Enter the number of milliseconds a token is valid after being authenticated:', validate: validateTTL, + default: defaultValues.authTTL, }, ]; diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts index 96dbb2acfd8..11964238731 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts @@ -8,7 +8,7 @@ export const editSchemaFlow = async (context: any, apiName: string) => { type: 'confirm', name: 'editNow', message: 'Do you want to edit the schema now?', - default: false, + default: true, }; if (!(await inquirer.prompt(prompt)).editNow) return; diff --git a/packages/amplify-category-auth/src/index.js b/packages/amplify-category-auth/src/index.js index 5253887f6f5..44cb5ddf408 100644 --- a/packages/amplify-category-auth/src/index.js +++ b/packages/amplify-category-auth/src/index.js @@ -31,7 +31,7 @@ const { } = require('./provider-utils/awscloudformation/utils/auth-sms-workflow-helper'); // this function is being kept for temporary compatability. -async function add(context) { +async function add(context, skipNextSteps = false) { const { amplify } = context; const servicesMetadata = require('./provider-utils/supported-services').supportedServices; const existingAuth = amplify.getProjectDetails().amplifyMeta.auth || {}; @@ -51,7 +51,7 @@ async function add(context) { context.print.error('Provider not configured for this category'); return; } - return providerController.addResource(context, result.service); + return providerController.addResource(context, result.service, skipNextSteps); }) .catch(err => { context.print.info(err.stack); diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts index 08bed5f9eeb..d4c99a4c6dc 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts @@ -11,7 +11,7 @@ import { doesConfigurationIncludeSMS } from '../utils/auth-sms-workflow-helper'; * The consumer returns the resourceName of the generated resource. * @param context The amplify context */ -export const getAddAuthHandler = (context: any) => async (request: ServiceQuestionsResult) => { +export const getAddAuthHandler = (context: any, skipNextSteps: boolean = false) => async (request: ServiceQuestionsResult) => { const serviceMetadata = supportedServices[request.serviceName]; const { cfnFilename, defaultValuesFilename, provider } = serviceMetadata; @@ -26,7 +26,7 @@ export const getAddAuthHandler = (context: any) => async (request: ServiceQuesti await getPostAddAuthMetaUpdater(context, { service: requestWithDefaults.serviceName, providerName: provider })( requestWithDefaults.resourceName!, ); - await getPostAddAuthMessagePrinter(context.print)(requestWithDefaults.resourceName!); + await getPostAddAuthMessagePrinter(context.print)(requestWithDefaults.resourceName!, skipNextSteps); if (doesConfigurationIncludeSMS(request)) { await printSMSSandboxWarning(context.print); diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js b/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js index 8f0c01c5f4d..e0576999184 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js @@ -14,10 +14,10 @@ function serviceQuestions(context, defaultValuesFilename, stringMapsFilename, se return serviceWalkthrough(context, defaultValuesFilename, stringMapsFilename, serviceMetadata); } -async function addResource(context, service) { +async function addResource(context, service, skipNextSteps = false) { const serviceMetadata = supportedServices[service]; const { defaultValuesFilename, stringMapsFilename, serviceWalkthroughFilename } = serviceMetadata; - return getAddAuthHandler(context)( + return getAddAuthHandler(context, skipNextSteps)( await serviceQuestions(context, defaultValuesFilename, stringMapsFilename, serviceWalkthroughFilename, serviceMetadata), ); } diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts index b5c0c0148a8..9b3f9a71bae 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts @@ -5,9 +5,12 @@ import { BannerMessage } from 'amplify-cli-core'; * A factory function that returns a function that prints the "success message" after adding auth * @param print The amplify print object */ -export const getPostAddAuthMessagePrinter = (print: any) => (resourceName: string) => { +export const getPostAddAuthMessagePrinter = (print: any) => (resourceName: string, skipNextSteps: boolean = false) => { print.success(`Successfully added auth resource ${resourceName} locally`); - printCommonText(print); + + if (!skipNextSteps) { + printCommonText(print); + } }; /** From f829abc564ceb715057280150c16a417e688043d Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 8 Sep 2021 17:04:41 -0700 Subject: [PATCH 16/64] update conflict detection label --- .../service-walkthroughs/appSync-walkthrough.ts | 2 +- .../amplify-provider-awscloudformation/src/push-resources.ts | 2 +- .../src/transform-graphql-schema.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 2b9b50e5884..831d5e0393a 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -347,7 +347,7 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model }); } else { updateChoices.push({ - name: 'Enable conflict detection', + name: 'Enable conflict detection (required for DataStore)', value: 'ENABLE_CONFLICT', }); } diff --git a/packages/amplify-provider-awscloudformation/src/push-resources.ts b/packages/amplify-provider-awscloudformation/src/push-resources.ts index bfacf65bdeb..8eddef93fbc 100644 --- a/packages/amplify-provider-awscloudformation/src/push-resources.ts +++ b/packages/amplify-provider-awscloudformation/src/push-resources.ts @@ -829,7 +829,7 @@ async function formNestedStack( nestedStack.Description = 'Root Stack for AWS Amplify Console'; } } catch (err) { - console.info('App not deployed yet.'); + // if it is not an AmplifyAdmin app, do nothing } const { amplifyMeta } = projectDetails; diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index adff96c3292..6d770796249 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -150,7 +150,7 @@ function getTransformerFactory(context, resourceDir, authConfig?) { const res = await isAmplifyAdminApp(appId); amplifyAdminEnabled = res.isAdminApp; } catch (err) { - console.info('App not deployed yet.'); + // if it is not an AmplifyAdmin app, do nothing } transformerList.push(new ModelAuthTransformer({ authConfig, addAwsIamAuthInOutputSchema: amplifyAdminEnabled })); From e9da38095a3ef5827b85e2231ef5f6313cedb662 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Thu, 9 Sep 2021 09:40:01 -0700 Subject: [PATCH 17/64] remove app not deployed message --- .../service-walkthroughs/appSync-walkthrough.ts | 8 ++++---- .../src/graphql-transformer/transform-graphql-schema.ts | 2 +- .../src/transform-graphql-schema.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 831d5e0393a..8c29175f156 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -305,10 +305,10 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile ({ authConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); break; case 'CONFLICT_DETECTION': - resolverConfig = await askResolverConflictQuestion(context, resolverConfig, defaultAuthType); + resolverConfig = await askResolverConflictQuestion(context, resolverConfig); break; case 'CONFLICT_STRATEGY': - resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + resolverConfig = await askResolverConflictHandlerQuestion(context); break; case 'CONTINUE': continuePrompt = true; @@ -369,7 +369,7 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); } else if (updateOption === 'CONFLICT_STRATEGY') { - resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); } return { @@ -499,7 +499,7 @@ async function displayApiInformation(context, resource, project) { authModes.forEach(authMode => context.print.info(authMode)); context.print.info(''); - context.print.success('Conflict detection'); + context.print.success('Conflict detection (required for DataStore)'); if (project.config && !_.isEmpty(project.config.ResolverConfig)) { context.print.info(`- Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name}`); } else { diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 57dc5d9f372..6c99ab21d07 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -287,7 +287,7 @@ export async function transformGraphQLSchema(context, options) { }; const transformerOutput = await buildAPIProject(buildConfig); - context.print.success(`\nGraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ + context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); if (!options.dryRun) { diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 6d770796249..0a2b17c38e5 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -489,7 +489,7 @@ export async function transformGraphQLSchema(context, options) { sanityCheckRules: sanityCheckRulesList, }; const transformerOutput = await buildAPIProject(buildConfig); - context.print.success(`\nGraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ + context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); if (!options.dryRun) { From a9e39d7d043f8b16df471bac017b2735652adc34 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Fri, 10 Sep 2021 09:56:27 -0700 Subject: [PATCH 18/64] auto apply auth mode --- packages/amplify-category-api/src/index.ts | 18 +++++++++ .../src/transform-graphql-schema.ts | 39 ++++++++++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/packages/amplify-category-api/src/index.ts b/packages/amplify-category-api/src/index.ts index af7f1625011..ba4fd2d3c06 100644 --- a/packages/amplify-category-api/src/index.ts +++ b/packages/amplify-category-api/src/index.ts @@ -3,6 +3,8 @@ import fs from 'fs-extra'; import path from 'path'; import { run } from './commands/api/console'; import { getCfnApiArtifactHandler } from './provider-utils/awscloudformation/cfn-api-artifact-handler'; +import { askAuthQuestions } from './provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough'; +import { getAppSyncResourceName, getAppSyncAuthConfig } from './provider-utils/awscloudformation//utils/amplify-meta-utils'; export { NETWORK_STACK_LOGICAL_ID } from './category-constants'; export { DEPLOYMENT_MECHANISM } from './provider-utils/awscloudformation/base-api-stack'; @@ -217,3 +219,19 @@ export async function handleAmplifyEvent(context, args) { context.print.info(`${category} handleAmplifyEvent to be implemented`); context.print.info(`Received event args ${args}`); } + +export async function addGraphQLAuthorizationMode(context, args) { + const { authType, printLeadText, authSettings } = args; + const apiName = getAppSyncResourceName(context.amplify.getProjectMeta()); + if (!apiName) { + return; + } + + const authConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); + const addAuthConfig = await askAuthQuestions(authType, context, printLeadText, authSettings); + authConfig.additionalAuthenticationProviders.push(addAuthConfig); + context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); + context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); + + return addAuthConfig; +} \ No newline at end of file diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 0a2b17c38e5..e1df50b5848 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -488,7 +488,33 @@ export async function transformGraphQLSchema(context, options) { featureFlags: ff, sanityCheckRules: sanityCheckRulesList, }; - const transformerOutput = await buildAPIProject(buildConfig); + let transformerOutput; + let authSchemaErrors = false; + do { + try { + transformerOutput = await buildAPIProject(buildConfig); + authSchemaErrors = false; + } catch (err) { + authSchemaErrors = true; + if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_IAM')); + } else if (!context?.parameters?.options?.yes) { + if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS')); + } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); + } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); + } else { + throw err; + } + } else { + throw err; + } + buildConfig.transformersFactory = getTransformerFactory(context, resourceDir, authConfig); + } + } while (authSchemaErrors); + context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); @@ -499,6 +525,17 @@ place .graphql files in a directory at ${schemaDirPath}`); return transformerOutput; } +async function addGraphQLAuthRequirement(context, authType) { + return await context.amplify.invokePluginMethod(context, 'api', undefined, 'addGraphQLAuthorizationMode', [ + context, + { + authType: authType, + printLeadText: true, + authSettings: undefined, + }, + ]); +} + function getProjectBucket(context) { const projectDetails = context.amplify.getProjectDetails(); const projectBucket = projectDetails.amplifyMeta.providers ? projectDetails.amplifyMeta.providers[providerName].DeploymentBucketName : ''; From 96bf925d61571f2525cd6d55bd214bc214f269f6 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Mon, 13 Sep 2021 10:33:02 -0700 Subject: [PATCH 19/64] auto apply authmode for v2 tranformer --- .../transform-graphql-schema.ts | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 6c99ab21d07..307bc91453f 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -285,8 +285,32 @@ export async function transformGraphQLSchema(context, options) { lastDeployedProjectConfig, authConfig, }; - const transformerOutput = await buildAPIProject(buildConfig); + let transformerOutput; + let authSchemaErrors = false; + do { + try { + transformerOutput = await buildAPIProject(buildConfig); + authSchemaErrors = false; + } catch (err) { + authSchemaErrors = true; + if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_IAM')); + } else if (!context?.parameters?.options?.yes) { + if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS')); + } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); + } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); + } else { + throw err; + } + } else { + throw err; + } + } + } while (authSchemaErrors); context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); @@ -297,6 +321,17 @@ place .graphql files in a directory at ${schemaDirPath}`); return transformerOutput; } +async function addGraphQLAuthRequirement(context, authType) { + return await context.amplify.invokePluginMethod(context, 'api', undefined, 'addGraphQLAuthorizationMode', [ + context, + { + authType: authType, + printLeadText: true, + authSettings: undefined, + }, + ]); +} + function getProjectBucket(context) { const projectDetails = context.amplify.getProjectDetails(); const projectBucket = projectDetails.amplifyMeta.providers ? projectDetails.amplifyMeta.providers[providerName].DeploymentBucketName : ''; From 037e8e58e752ed5c47f47f496844132fcba53d99 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 15 Sep 2021 13:24:33 -0700 Subject: [PATCH 20/64] add type amplify_global to v2 schemas --- .../graphql-schemas/many-relationship-schema-v2.graphql | 2 ++ .../graphql-schemas/single-object-auth-schema-v2.graphql | 2 ++ .../graphql-schemas/single-object-schema-v2.graphql | 2 ++ 3 files changed, 6 insertions(+) diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql index 2619b187297..616114a469a 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql @@ -1,3 +1,5 @@ +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! + type Blog @model { id: ID! name: String! diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql index 0faf0997d4a..5467d1b3c07 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql @@ -1,3 +1,5 @@ +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! + type Task @model @auth(rules: [ diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql index 74b097ceae9..bc5c83cec51 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql @@ -1,3 +1,5 @@ +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! + type Todo @model { id: ID! name: String! From 18fcf525d7a4062f6377359d323ce6ce479a9ef3 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Fri, 17 Sep 2021 13:14:38 -0700 Subject: [PATCH 21/64] feat(cli-graphql): Lambda authorizer initial commit --- .../appSync-walkthrough.ts | 132 ++++++++++++++++++ ...nfig-to-app-sync-auth-type-bi-di-mapper.ts | 13 ++ .../src/transformation/transformer-config.ts | 13 +- .../src/utils/authType.ts | 1 + .../src/interface/api/add.ts | 12 +- .../src/ModelAuthTransformer.ts | 4 +- .../graphql-auth-transformer/src/resources.ts | 10 ++ 7 files changed, 180 insertions(+), 5 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 8c29175f156..4cc0d8c8b99 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -28,6 +28,9 @@ const elasticContainerServiceName = 'ElasticContainer'; const providerName = 'awscloudformation'; const graphqlSchemaDir = path.join(rootAssetDir, 'graphql-schemas'); +// keep in sync with ServiceName in amplify-category-function, but probably it will not change +const FunctionServiceNameLambdaFunction = 'Lambda'; + const authProviderChoices = [ { name: 'API key', @@ -45,6 +48,10 @@ const authProviderChoices = [ name: 'OpenID Connect', value: 'OPENID_CONNECT', }, + { + name: 'Lambda', + value: 'AWS_LAMBDA', + }, ]; const conflictResolutionHanlderChoices = [ @@ -734,6 +741,16 @@ export async function askAuthQuestions(authType, context, printLeadText = false, return openIDConnectConfig; } + if (authType === 'AWS_LAMBDA') { + if (printLeadText) { + context.print.info('Lambda Authorizer configuration'); + } + + const lambdaConfig = await askLambdaQuestion(context); + + return lambdaConfig; + } + const errMessage = `Unknown authType: ${authType}`; context.print.error(errMessage); await context.usageData.emitError(new UnknownResourceTypeError(errMessage)); @@ -980,3 +997,118 @@ const getAuthTypes = authConfig => { return [...uniqueAuthTypes.keys()]; }; + + +// Chris P - Added for Lambda Authorizer + +async function askLambdaQuestion(context) { + + const existingFunctions = functionsExist(context); + + const choices = [ + { + name: 'Create a new Lambda function', + value: 'newFunction', + }, + ]; + + if (existingFunctions) { + choices.push({ + name: 'Use a Lambda function already added in the current Amplify project', + value: 'projectFunction', + }); + } + + let defaultFunctionType = 'newFunction'; + + const lambdaAnswer = await inquirer.prompt({ + name: 'functionType', + type: 'list', + message: 'Choose a Lambda source', + choices, + default: defaultFunctionType, + }); + + const { lambdaFunction } = await askLambdaSource(context, lambdaAnswer.functionType); + + const { ttlSeconds } = await inquirer.prompt({ + type: 'input', + name: 'ttlSeconds', + message: 'How long should the authorization response be cached in seconds?', + validate: validateTTL, + default: 300, + }); + + const lambdaAuthorizerConfig = { + lambdaFunction, + ttlSeconds, + } + + return { + authenticationType: 'AWS_LAMBDA', + lambdaAuthorizerConfig, + }; +} + +function functionsExist(context) { + if (!context.amplify.getProjectDetails().amplifyMeta.function) { + return false; + } + + const functionResources = context.amplify.getProjectDetails().amplifyMeta.function; + const lambdaFunctions = []; + Object.keys(functionResources).forEach(resourceName => { + if (functionResources[resourceName].service === FunctionServiceNameLambdaFunction) { + lambdaFunctions.push(resourceName); + } + }); + + if (lambdaFunctions.length === 0) { + return false; + } + + return true; +} + +async function askLambdaSource(context, functionType) { + switch (functionType) { + case 'projectFunction': + return askLambdaFromProject(context); + case 'newFunction': + return newLambdaFunction(context); + default: + throw new Error('Type not supported'); + } +} + +async function newLambdaFunction(context) { + const resourceName = await context.amplify.invokePluginMethod(context, 'function', undefined, 'add', [ + context, + 'awscloudformation', + FunctionServiceNameLambdaFunction, + ]); + + context.print.success('Succesfully added the Lambda function locally'); + + return { lambdaFunction: resourceName }; +} + +async function askLambdaFromProject(context) { + const functionResources = context.amplify.getProjectDetails().amplifyMeta.function; + const lambdaFunctions = []; + Object.keys(functionResources).forEach(resourceName => { + if (functionResources[resourceName].service === FunctionServiceNameLambdaFunction) { + lambdaFunctions.push(resourceName); + } + }); + + const answer = await inquirer.prompt({ + name: 'lambdaFunction', + type: 'list', + message: 'Choose one of the Lambda function', + choices: lambdaFunctions, + default: lambdaFunctions[0], + }); + + return { lambdaFunction: answer.lambdaFunction }; +} \ No newline at end of file diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts index d52094eae50..06cacf64fd4 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts @@ -3,6 +3,7 @@ import { AppSyncAPIKeyAuthType, AppSyncCognitoUserPoolsAuthType, AppSyncOpenIDConnectAuthType, + AppSyncLambdaAuthType, } from 'amplify-headless-interface'; import _ from 'lodash'; @@ -47,6 +48,11 @@ const authConfigToAppSyncAuthTypeMap: Record AppSyn openIDAuthTTL: authConfig.openIDConnectConfig.authTTL, openIDIatTTL: authConfig.openIDConnectConfig.iatTTL, }), + AWS_LAMBDA: authConfig => ({ + mode: 'AWS_LAMBDA', + lambdaFunction: authConfig.lambdaAuthorizerConfig.lambdaFunction, + ttlSeconds: authConfig.lambdaAuthorizerConfig.ttlSeconds, + }), }; const appSyncAuthTypeToAuthConfigMap: Record any> = { @@ -76,4 +82,11 @@ const appSyncAuthTypeToAuthConfigMap: Record ({ + authenticationType: 'AWS_LAMBDA', + lambdaAuthorizerConfig: { + lambdaFunction: authType.lambdaFunction, + ttlSeconds: authType.ttlSeconds, + }, + }), }; diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts b/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts index 1676436e1e5..55647cd2d0f 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts @@ -5,13 +5,13 @@ export interface TransformMigrationConfig { } // Auth Config -export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT'; +export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT' | 'AWS_LAMBDA'; export type AppSyncAuthConfiguration = { defaultAuthentication: AppSyncAuthConfigurationEntry; additionalAuthenticationProviders: Array; }; -export type AppSyncAuthConfigurationEntry = AppSyncAuthConfigurationUserPoolEntry | AppSyncAuthConfigurationAPIKeyEntry | AppSyncAuthConfigurationIAMEntry | AppSyncAuthConfigurationOIDCEntry; +export type AppSyncAuthConfigurationEntry = AppSyncAuthConfigurationUserPoolEntry | AppSyncAuthConfigurationAPIKeyEntry | AppSyncAuthConfigurationIAMEntry | AppSyncAuthConfigurationOIDCEntry | AppSyncAuthConfigurationLambdaEntry; export type AppSyncAuthConfigurationAPIKeyEntry = { authenticationType: 'API_KEY'; apiKeyConfig: ApiKeyConfig; @@ -29,6 +29,11 @@ export type AppSyncAuthConfigurationOIDCEntry = { openIDConnectConfig: OpenIDConnectConfig; }; +export type AppSyncAuthConfigurationLambdaEntry = { + authenticationType: 'AWS_LAMBDA'; + openIDConnectConfig: LambdaConnectConfig; +}; + export type ApiKeyConfig = { description?: string; apiKeyExpirationDays: number; @@ -43,6 +48,10 @@ export type OpenIDConnectConfig = { iatTTL?: number; authTTL?: number; }; +export type LambdaConnectConfig = { + lambdaFunction: string; + ttlSecond?: number; +}; // Sync Config export const enum ConflictHandlerType { diff --git a/packages/amplify-graphql-transformer-core/src/utils/authType.ts b/packages/amplify-graphql-transformer-core/src/utils/authType.ts index cf936bb44fa..34200445dca 100644 --- a/packages/amplify-graphql-transformer-core/src/utils/authType.ts +++ b/packages/amplify-graphql-transformer-core/src/utils/authType.ts @@ -9,6 +9,7 @@ const authTypeMap: Record = { AMAZON_COGNITO_USER_POOLS: AuthorizationType.USER_POOL, AWS_IAM: AuthorizationType.IAM, OPENID_CONNECT: AuthorizationType.OIDC, + AWS_LAMBDA: AuthorizationType.API_KEY, }; export function adoptAuthModes(stack: StackManager, authConfig: AppSyncAuthConfiguration): AuthorizationConfig { return { diff --git a/packages/amplify-headless-interface/src/interface/api/add.ts b/packages/amplify-headless-interface/src/interface/api/add.ts index 51f44124538..a321b670adc 100644 --- a/packages/amplify-headless-interface/src/interface/api/add.ts +++ b/packages/amplify-headless-interface/src/interface/api/add.ts @@ -122,7 +122,8 @@ export type AppSyncAuthType = | AppSyncAPIKeyAuthType | AppSyncAWSIAMAuthType | AppSyncCognitoUserPoolsAuthType - | AppSyncOpenIDConnectAuthType; + | AppSyncOpenIDConnectAuthType + | AppSyncLambdaAuthType; /** * Specifies that the AppSync API should be secured using an API key. @@ -162,3 +163,12 @@ export interface AppSyncOpenIDConnectAuthType { openIDAuthTTL?: string; openIDIatTTL?: string; } + +/** + * Specifies that the AppSync API should be secured using Lambda. + */ + export interface AppSyncLambdaAuthType { + mode: 'AWS_LAMBDA'; + lambdaFunction: string; + ttlSeconds?: string; +} \ No newline at end of file diff --git a/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts b/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts index cf2fab44ac3..f983c48197b 100644 --- a/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts +++ b/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts @@ -84,7 +84,7 @@ import { OWNER_AUTH_STRATEGY, GROUPS_AUTH_STRATEGY, DEFAULT_OWNER_FIELD, AUTH_NO * attributes of the records using conditional expressions. This will likely * be via a new argument such as "groupsField". */ -export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT'; +export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT' | 'AWS_LAMBDA'; export type AppSyncAuthConfiguration = { defaultAuthentication: AppSyncAuthConfigurationEntry; additionalAuthenticationProviders: Array; @@ -122,7 +122,7 @@ const validateAuthModes = (authConfig: AppSyncAuthConfiguration) => { for (let i = 0; i < authModes.length; i++) { const mode = authModes[i]; - if (mode !== 'API_KEY' && mode !== 'AMAZON_COGNITO_USER_POOLS' && mode !== 'AWS_IAM' && mode !== 'OPENID_CONNECT') { + if (mode !== 'API_KEY' && mode !== 'AMAZON_COGNITO_USER_POOLS' && mode !== 'AWS_IAM' && mode !== 'OPENID_CONNECT' && mode !== 'AWS_LAMBDA') { throw new Error(`Invalid auth mode ${mode}`); } } diff --git a/packages/graphql-auth-transformer/src/resources.ts b/packages/graphql-auth-transformer/src/resources.ts index c6ad8ddccad..425982f2964 100644 --- a/packages/graphql-auth-transformer/src/resources.ts +++ b/packages/graphql-auth-transformer/src/resources.ts @@ -201,6 +201,16 @@ export class ResourceFactory { OpenIDConnectConfig: this.assignOpenIDConnectConfig(sourceProvider.openIDConnectConfig), }; break; + case 'AWS_LAMBDA': + provider = { + AuthenticationType: 'API_KEY', + // AuthenticationType: 'AWS_LAMBDA', + // LambdaAuthorizerConfig: { + // AuthorizerUri: sourceProvider.lambdaAuthorizerConfig.lambdaFunction, + // AuthorizerResultTtlInSeconds: sourceProvider.lambdaAuthorizerConfig.ttlSeconds, + // }, + }; + break; } additionalAuthenticationProviders.push(provider); From cd1759885ae6e59efd724e4e68cdb5d00ecb09ff Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Mon, 20 Sep 2021 09:47:08 -0700 Subject: [PATCH 22/64] handle v2 auth type --- .../src/transformation/transformer-config.ts | 2 +- .../src/utils/authType.ts | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts b/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts index 55647cd2d0f..a4f7690d257 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts @@ -31,7 +31,7 @@ export type AppSyncAuthConfigurationOIDCEntry = { export type AppSyncAuthConfigurationLambdaEntry = { authenticationType: 'AWS_LAMBDA'; - openIDConnectConfig: LambdaConnectConfig; + lambdaConnectConfig: LambdaConnectConfig; }; export type ApiKeyConfig = { diff --git a/packages/amplify-graphql-transformer-core/src/utils/authType.ts b/packages/amplify-graphql-transformer-core/src/utils/authType.ts index 34200445dca..0b86390a0c9 100644 --- a/packages/amplify-graphql-transformer-core/src/utils/authType.ts +++ b/packages/amplify-graphql-transformer-core/src/utils/authType.ts @@ -54,6 +54,18 @@ export function adoptAuthMode(stackManager: StackManager, entry: AppSyncAuthConf tokenExpiryFromIssue: strToNumber(entry.openIDConnectConfig!.iatTTL), }, }; + case 'AWS_LAMBDA': + // case AuthorizationType.AWS_LAMBDA: + // return { + // authorizationType: authType, + // lambdaConnectConfig: { + // lambdaFunction: entry.lambdaConnectConfig!.lambdaFunction, + // ttlSeconds: entry.lambdaConnectConfig!.ttlSeconds, + // }, + // }; + return { + authorizationType: authType, + }; default: throw new Error('Invalid auth config'); } From 8bd4416b17ef14885e79851055e56d8815cf9640 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 21 Sep 2021 14:19:34 -0700 Subject: [PATCH 23/64] update cdk to 1.123.0 --- packages/amplify-category-api/package.json | 88 +- packages/amplify-category-auth/package.json | 2 +- packages/amplify-cli/package.json | 2 +- .../package.json | 6 +- .../package.json | 4 +- .../package.json | 8 +- .../package.json | 48 +- .../package.json | 10 +- .../package.json | 8 +- .../package.json | 16 +- .../package.json | 50 +- .../package.json | 32 +- .../package.json | 76 +- .../package.json | 2 +- .../resources/jsonServer/package.json | 8 +- yarn.lock | 1388 +++++++++-------- 16 files changed, 887 insertions(+), 861 deletions(-) diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index 6c42be1830a..e425f445901 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -17,50 +17,50 @@ "test": "jest" }, "dependencies": { - "@aws-cdk/assets": "~1.119.0", - "@aws-cdk/aws-apigateway": "~1.119.0", - "@aws-cdk/aws-apigatewayv2": "~1.119.0", - "@aws-cdk/aws-applicationautoscaling": "~1.119.0", - "@aws-cdk/aws-autoscaling": "~1.119.0", - "@aws-cdk/aws-autoscaling-common": "~1.119.0", - "@aws-cdk/aws-autoscaling-hooktargets": "~1.119.0", - "@aws-cdk/aws-certificatemanager": "~1.119.0", - "@aws-cdk/aws-cloudformation": "~1.119.0", - "@aws-cdk/aws-cloudfront": "~1.119.0", - "@aws-cdk/aws-cloudwatch": "~1.119.0", - "@aws-cdk/aws-codebuild": "~1.119.0", - "@aws-cdk/aws-codeguruprofiler": "~1.119.0", - "@aws-cdk/aws-codepipeline": "~1.119.0", - "@aws-cdk/aws-codepipeline-actions": "~1.119.0", - "@aws-cdk/aws-cognito": "~1.119.0", - "@aws-cdk/aws-ec2": "~1.119.0", - "@aws-cdk/aws-ecr": "~1.119.0", - "@aws-cdk/aws-ecr-assets": "~1.119.0", - "@aws-cdk/aws-ecs": "~1.119.0", - "@aws-cdk/aws-efs": "~1.119.0", - "@aws-cdk/aws-elasticloadbalancing": "~1.119.0", - "@aws-cdk/aws-elasticloadbalancingv2": "~1.119.0", - "@aws-cdk/aws-events": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", - "@aws-cdk/aws-kms": "~1.119.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/aws-logs": "~1.119.0", - "@aws-cdk/aws-route53": "~1.119.0", - "@aws-cdk/aws-route53-targets": "~1.119.0", - "@aws-cdk/aws-s3": "~1.119.0", - "@aws-cdk/aws-s3-assets": "~1.119.0", - "@aws-cdk/aws-sam": "~1.119.0", - "@aws-cdk/aws-secretsmanager": "~1.119.0", - "@aws-cdk/aws-servicediscovery": "~1.119.0", - "@aws-cdk/aws-sns": "~1.119.0", - "@aws-cdk/aws-sns-subscriptions": "~1.119.0", - "@aws-cdk/aws-sqs": "~1.119.0", - "@aws-cdk/aws-ssm": "~1.119.0", - "@aws-cdk/cloud-assembly-schema": "~1.119.0", - "@aws-cdk/core": "~1.119.0", - "@aws-cdk/custom-resources": "~1.119.0", - "@aws-cdk/cx-api": "~1.119.0", - "@aws-cdk/region-info": "~1.119.0", + "@aws-cdk/assets": "~1.123.0", + "@aws-cdk/aws-apigateway": "~1.123.0", + "@aws-cdk/aws-apigatewayv2": "~1.123.0", + "@aws-cdk/aws-applicationautoscaling": "~1.123.0", + "@aws-cdk/aws-autoscaling": "~1.123.0", + "@aws-cdk/aws-autoscaling-common": "~1.123.0", + "@aws-cdk/aws-autoscaling-hooktargets": "~1.123.0", + "@aws-cdk/aws-certificatemanager": "~1.123.0", + "@aws-cdk/aws-cloudformation": "~1.123.0", + "@aws-cdk/aws-cloudfront": "~1.123.0", + "@aws-cdk/aws-cloudwatch": "~1.123.0", + "@aws-cdk/aws-codebuild": "~1.123.0", + "@aws-cdk/aws-codeguruprofiler": "~1.123.0", + "@aws-cdk/aws-codepipeline": "~1.123.0", + "@aws-cdk/aws-codepipeline-actions": "~1.123.0", + "@aws-cdk/aws-cognito": "~1.123.0", + "@aws-cdk/aws-ec2": "~1.123.0", + "@aws-cdk/aws-ecr": "~1.123.0", + "@aws-cdk/aws-ecr-assets": "~1.123.0", + "@aws-cdk/aws-ecs": "~1.123.0", + "@aws-cdk/aws-efs": "~1.123.0", + "@aws-cdk/aws-elasticloadbalancing": "~1.123.0", + "@aws-cdk/aws-elasticloadbalancingv2": "~1.123.0", + "@aws-cdk/aws-events": "~1.123.0", + "@aws-cdk/aws-iam": "~1.123.0", + "@aws-cdk/aws-kms": "~1.123.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/aws-logs": "~1.123.0", + "@aws-cdk/aws-route53": "~1.123.0", + "@aws-cdk/aws-route53-targets": "~1.123.0", + "@aws-cdk/aws-s3": "~1.123.0", + "@aws-cdk/aws-s3-assets": "~1.123.0", + "@aws-cdk/aws-sam": "~1.123.0", + "@aws-cdk/aws-secretsmanager": "~1.123.0", + "@aws-cdk/aws-servicediscovery": "~1.123.0", + "@aws-cdk/aws-sns": "~1.123.0", + "@aws-cdk/aws-sns-subscriptions": "~1.123.0", + "@aws-cdk/aws-sqs": "~1.123.0", + "@aws-cdk/aws-ssm": "~1.123.0", + "@aws-cdk/cloud-assembly-schema": "~1.123.0", + "@aws-cdk/core": "~1.123.0", + "@aws-cdk/custom-resources": "~1.123.0", + "@aws-cdk/cx-api": "~1.123.0", + "@aws-cdk/region-info": "~1.123.0", "@graphql-tools/merge": "^6.0.18", "@octokit/rest": "^18.0.9", "amplify-cli-core": "1.29.0", diff --git a/packages/amplify-category-auth/package.json b/packages/amplify-category-auth/package.json index 74b3bdbb026..049a9c265bc 100644 --- a/packages/amplify-category-auth/package.json +++ b/packages/amplify-category-auth/package.json @@ -27,7 +27,7 @@ "amplify-headless-interface": "1.10.0", "amplify-util-headless-input": "1.5.4", "amplify-util-import": "1.5.12", - "aws-cdk": "~1.119.0", + "aws-cdk": "~1.123.0", "aws-sdk": "^2.963.0", "chalk": "^4.1.1", "change-case": "^4.1.1", diff --git a/packages/amplify-cli/package.json b/packages/amplify-cli/package.json index 04598c8cd3b..3b623a56037 100644 --- a/packages/amplify-cli/package.json +++ b/packages/amplify-cli/package.json @@ -33,7 +33,7 @@ "node": ">=12.0.0" }, "dependencies": { - "@aws-cdk/cloudformation-diff": "~1.119.0", + "@aws-cdk/cloudformation-diff": "~1.123.0", "amplify-app": "3.0.12", "amplify-category-analytics": "2.21.21", "amplify-category-api": "2.31.23", diff --git a/packages/amplify-graphql-function-transformer/package.json b/packages/amplify-graphql-function-transformer/package.json index 16d3db37ef8..c72cd76b949 100644 --- a/packages/amplify-graphql-function-transformer/package.json +++ b/packages/amplify-graphql-function-transformer/package.json @@ -29,14 +29,14 @@ "dependencies": { "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/core": "~1.119.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/core": "~1.123.0", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", "graphql-transformer-common": "4.19.9" }, "devDependencies": { - "@aws-cdk/assert": "~1.119.0" + "@aws-cdk/assert": "~1.123.0" }, "jest": { "transform": { diff --git a/packages/amplify-graphql-http-transformer/package.json b/packages/amplify-graphql-http-transformer/package.json index 8462f29b506..90aa8832df1 100644 --- a/packages/amplify-graphql-http-transformer/package.json +++ b/packages/amplify-graphql-http-transformer/package.json @@ -29,13 +29,13 @@ "dependencies": { "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/core": "~1.119.0", + "@aws-cdk/core": "~1.123.0", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", "graphql-transformer-common": "4.19.9" }, "devDependencies": { - "@aws-cdk/assert": "~1.119.0" + "@aws-cdk/assert": "~1.123.0" }, "jest": { "transform": { diff --git a/packages/amplify-graphql-index-transformer/package.json b/packages/amplify-graphql-index-transformer/package.json index ff5bb09e8e0..4259c7cc7df 100644 --- a/packages/amplify-graphql-index-transformer/package.json +++ b/packages/amplify-graphql-index-transformer/package.json @@ -30,15 +30,15 @@ "@aws-amplify/graphql-model-transformer": "0.6.2", "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/aws-appsync": "~1.119.0", - "@aws-cdk/aws-dynamodb": "~1.119.0", - "@aws-cdk/core": "~1.119.0", + "@aws-cdk/aws-appsync": "~1.123.0", + "@aws-cdk/aws-dynamodb": "~1.123.0", + "@aws-cdk/core": "~1.123.0", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", "graphql-transformer-common": "4.19.9" }, "devDependencies": { - "@aws-cdk/assert": "~1.119.0" + "@aws-cdk/assert": "~1.123.0" }, "jest": { "transform": { diff --git a/packages/amplify-graphql-model-transformer/package.json b/packages/amplify-graphql-model-transformer/package.json index aef86d67166..359c2ef37f8 100644 --- a/packages/amplify-graphql-model-transformer/package.json +++ b/packages/amplify-graphql-model-transformer/package.json @@ -30,30 +30,30 @@ "dependencies": { "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/assets": "~1.119.0", - "@aws-cdk/aws-applicationautoscaling": "~1.119.0", - "@aws-cdk/aws-autoscaling-common": "~1.119.0", - "@aws-cdk/aws-cloudformation": "~1.119.0", - "@aws-cdk/aws-cloudwatch": "~1.119.0", - "@aws-cdk/aws-codeguruprofiler": "~1.119.0", - "@aws-cdk/aws-dynamodb": "~1.119.0", - "@aws-cdk/aws-ec2": "~1.119.0", - "@aws-cdk/aws-efs": "~1.119.0", - "@aws-cdk/aws-events": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", - "@aws-cdk/aws-kms": "~1.119.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/aws-logs": "~1.119.0", - "@aws-cdk/aws-s3": "~1.119.0", - "@aws-cdk/aws-s3-assets": "~1.119.0", - "@aws-cdk/aws-sns": "~1.119.0", - "@aws-cdk/aws-sqs": "~1.119.0", - "@aws-cdk/aws-ssm": "~1.119.0", - "@aws-cdk/cloud-assembly-schema": "~1.119.0", - "@aws-cdk/core": "~1.119.0", - "@aws-cdk/custom-resources": "~1.119.0", - "@aws-cdk/cx-api": "~1.119.0", - "@aws-cdk/region-info": "~1.119.0", + "@aws-cdk/assets": "~1.123.0", + "@aws-cdk/aws-applicationautoscaling": "~1.123.0", + "@aws-cdk/aws-autoscaling-common": "~1.123.0", + "@aws-cdk/aws-cloudformation": "~1.123.0", + "@aws-cdk/aws-cloudwatch": "~1.123.0", + "@aws-cdk/aws-codeguruprofiler": "~1.123.0", + "@aws-cdk/aws-dynamodb": "~1.123.0", + "@aws-cdk/aws-ec2": "~1.123.0", + "@aws-cdk/aws-efs": "~1.123.0", + "@aws-cdk/aws-events": "~1.123.0", + "@aws-cdk/aws-iam": "~1.123.0", + "@aws-cdk/aws-kms": "~1.123.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/aws-logs": "~1.123.0", + "@aws-cdk/aws-s3": "~1.123.0", + "@aws-cdk/aws-s3-assets": "~1.123.0", + "@aws-cdk/aws-sns": "~1.123.0", + "@aws-cdk/aws-sqs": "~1.123.0", + "@aws-cdk/aws-ssm": "~1.123.0", + "@aws-cdk/cloud-assembly-schema": "~1.123.0", + "@aws-cdk/core": "~1.123.0", + "@aws-cdk/custom-resources": "~1.123.0", + "@aws-cdk/cx-api": "~1.123.0", + "@aws-cdk/region-info": "~1.123.0", "constructs": "^3.3.125", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", diff --git a/packages/amplify-graphql-predictions-transformer/package.json b/packages/amplify-graphql-predictions-transformer/package.json index 2e5da44dea0..08d562f6092 100644 --- a/packages/amplify-graphql-predictions-transformer/package.json +++ b/packages/amplify-graphql-predictions-transformer/package.json @@ -29,16 +29,16 @@ "dependencies": { "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/aws-appsync": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/core": "~1.119.0", + "@aws-cdk/aws-appsync": "~1.123.0", + "@aws-cdk/aws-iam": "~1.123.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/core": "~1.123.0", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", "graphql-transformer-common": "4.19.9" }, "devDependencies": { - "@aws-cdk/assert": "~1.119.0", + "@aws-cdk/assert": "~1.123.0", "bestzip": "^2.1.5" }, "jest": { diff --git a/packages/amplify-graphql-relational-transformer/package.json b/packages/amplify-graphql-relational-transformer/package.json index ad529b9c2c8..26c9b07fc2b 100644 --- a/packages/amplify-graphql-relational-transformer/package.json +++ b/packages/amplify-graphql-relational-transformer/package.json @@ -29,9 +29,9 @@ "dependencies": { "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/aws-appsync": "~1.119.0", - "@aws-cdk/aws-dynamodb": "~1.119.0", - "@aws-cdk/core": "~1.119.0", + "@aws-cdk/aws-appsync": "~1.123.0", + "@aws-cdk/aws-dynamodb": "~1.123.0", + "@aws-cdk/core": "~1.123.0", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", "graphql-transformer-common": "4.19.9" @@ -39,7 +39,7 @@ "devDependencies": { "@aws-amplify/graphql-index-transformer": "0.3.2", "@aws-amplify/graphql-model-transformer": "0.6.2", - "@aws-cdk/assert": "~1.119.0" + "@aws-cdk/assert": "~1.123.0" }, "jest": { "transform": { diff --git a/packages/amplify-graphql-searchable-transformer/package.json b/packages/amplify-graphql-searchable-transformer/package.json index 24db5d27d4c..e6ac48c0885 100644 --- a/packages/amplify-graphql-searchable-transformer/package.json +++ b/packages/amplify-graphql-searchable-transformer/package.json @@ -29,19 +29,19 @@ "dependencies": { "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/aws-appsync": "~1.119.0", - "@aws-cdk/aws-dynamodb": "~1.119.0", - "@aws-cdk/aws-ec2": "~1.119.0", - "@aws-cdk/aws-elasticsearch": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/core": "~1.119.0", + "@aws-cdk/aws-appsync": "~1.123.0", + "@aws-cdk/aws-dynamodb": "~1.123.0", + "@aws-cdk/aws-ec2": "~1.123.0", + "@aws-cdk/aws-elasticsearch": "~1.123.0", + "@aws-cdk/aws-iam": "~1.123.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/core": "~1.123.0", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", "graphql-transformer-common": "4.19.9" }, "devDependencies": { - "@aws-cdk/assert": "~1.119.0", + "@aws-cdk/assert": "~1.123.0", "@types/fs-extra": "^8.0.1", "@types/node": "^10.17.13" }, diff --git a/packages/amplify-graphql-transformer-core/package.json b/packages/amplify-graphql-transformer-core/package.json index 1ff2ec4989c..50559ab7e8b 100644 --- a/packages/amplify-graphql-transformer-core/package.json +++ b/packages/amplify-graphql-transformer-core/package.json @@ -27,31 +27,31 @@ }, "dependencies": { "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/assets": "~1.119.0", - "@aws-cdk/aws-applicationautoscaling": "~1.119.0", - "@aws-cdk/aws-appsync": "~1.119.0", - "@aws-cdk/aws-certificatemanager": "~1.119.0", - "@aws-cdk/aws-cloudwatch": "~1.119.0", - "@aws-cdk/aws-codeguruprofiler": "~1.119.0", - "@aws-cdk/aws-cognito": "~1.119.0", - "@aws-cdk/aws-dynamodb": "~1.119.0", - "@aws-cdk/aws-ec2": "~1.119.0", - "@aws-cdk/aws-efs": "~1.119.0", - "@aws-cdk/aws-events": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", - "@aws-cdk/aws-kms": "~1.119.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/aws-logs": "~1.119.0", - "@aws-cdk/aws-route53": "~1.119.0", - "@aws-cdk/aws-s3": "~1.119.0", - "@aws-cdk/aws-s3-assets": "~1.119.0", - "@aws-cdk/aws-sqs": "~1.119.0", - "@aws-cdk/aws-ssm": "~1.119.0", - "@aws-cdk/cloud-assembly-schema": "~1.119.0", - "@aws-cdk/core": "~1.119.0", - "@aws-cdk/custom-resources": "~1.119.0", - "@aws-cdk/cx-api": "~1.119.0", - "@aws-cdk/region-info": "~1.119.0", + "@aws-cdk/assets": "~1.123.0", + "@aws-cdk/aws-applicationautoscaling": "~1.123.0", + "@aws-cdk/aws-appsync": "~1.123.0", + "@aws-cdk/aws-certificatemanager": "~1.123.0", + "@aws-cdk/aws-cloudwatch": "~1.123.0", + "@aws-cdk/aws-codeguruprofiler": "~1.123.0", + "@aws-cdk/aws-cognito": "~1.123.0", + "@aws-cdk/aws-dynamodb": "~1.123.0", + "@aws-cdk/aws-ec2": "~1.123.0", + "@aws-cdk/aws-efs": "~1.123.0", + "@aws-cdk/aws-events": "~1.123.0", + "@aws-cdk/aws-iam": "~1.123.0", + "@aws-cdk/aws-kms": "~1.123.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/aws-logs": "~1.123.0", + "@aws-cdk/aws-route53": "~1.123.0", + "@aws-cdk/aws-s3": "~1.123.0", + "@aws-cdk/aws-s3-assets": "~1.123.0", + "@aws-cdk/aws-sqs": "~1.123.0", + "@aws-cdk/aws-ssm": "~1.123.0", + "@aws-cdk/cloud-assembly-schema": "~1.123.0", + "@aws-cdk/core": "~1.123.0", + "@aws-cdk/custom-resources": "~1.123.0", + "@aws-cdk/cx-api": "~1.123.0", + "@aws-cdk/region-info": "~1.123.0", "change-case": "^4.1.1", "constructs": "^3.3.125", "deep-diff": "^1.0.2", diff --git a/packages/amplify-graphql-transformer-interfaces/package.json b/packages/amplify-graphql-transformer-interfaces/package.json index b9c038f6f78..8c98114bdca 100644 --- a/packages/amplify-graphql-transformer-interfaces/package.json +++ b/packages/amplify-graphql-transformer-interfaces/package.json @@ -26,22 +26,22 @@ "clean": "rimraf ./lib" }, "dependencies": { - "@aws-cdk/aws-appsync": "~1.119.0", - "@aws-cdk/aws-cloudwatch": "~1.119.0", - "@aws-cdk/aws-dynamodb": "~1.119.0", - "@aws-cdk/aws-ec2": "~1.119.0", - "@aws-cdk/aws-elasticsearch": "~1.119.0", - "@aws-cdk/aws-events": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", - "@aws-cdk/aws-kms": "~1.119.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/aws-logs": "~1.119.0", - "@aws-cdk/aws-rds": "~1.119.0", - "@aws-cdk/aws-s3": "~1.119.0", - "@aws-cdk/aws-sam": "~1.119.0", - "@aws-cdk/aws-secretsmanager": "~1.119.0", - "@aws-cdk/core": "~1.119.0", - "@aws-cdk/custom-resources": "~1.119.0", + "@aws-cdk/aws-appsync": "~1.123.0", + "@aws-cdk/aws-cloudwatch": "~1.123.0", + "@aws-cdk/aws-dynamodb": "~1.123.0", + "@aws-cdk/aws-ec2": "~1.123.0", + "@aws-cdk/aws-elasticsearch": "~1.123.0", + "@aws-cdk/aws-events": "~1.123.0", + "@aws-cdk/aws-iam": "~1.123.0", + "@aws-cdk/aws-kms": "~1.123.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/aws-logs": "~1.123.0", + "@aws-cdk/aws-rds": "~1.123.0", + "@aws-cdk/aws-s3": "~1.123.0", + "@aws-cdk/aws-sam": "~1.123.0", + "@aws-cdk/aws-secretsmanager": "~1.123.0", + "@aws-cdk/core": "~1.123.0", + "@aws-cdk/custom-resources": "~1.123.0", "constructs": "^3.3.125", "graphql": "^14.5.8" }, diff --git a/packages/amplify-provider-awscloudformation/package.json b/packages/amplify-provider-awscloudformation/package.json index 1e26903861d..2d32977237b 100644 --- a/packages/amplify-provider-awscloudformation/package.json +++ b/packages/amplify-provider-awscloudformation/package.json @@ -33,44 +33,44 @@ "@aws-amplify/graphql-searchable-transformer": "0.6.0", "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-cdk/assets": "~1.119.0", - "@aws-cdk/aws-apigatewayv2": "~1.119.0", - "@aws-cdk/aws-autoscaling": "~1.119.0", - "@aws-cdk/aws-batch": "~1.119.0", - "@aws-cdk/aws-cloudformation": "~1.119.0", - "@aws-cdk/aws-cloudwatch": "~1.119.0", - "@aws-cdk/aws-codebuild": "~1.119.0", - "@aws-cdk/aws-codecommit": "~1.119.0", - "@aws-cdk/aws-codedeploy": "~1.119.0", - "@aws-cdk/aws-codepipeline": "~1.119.0", - "@aws-cdk/aws-codepipeline-actions": "~1.119.0", - "@aws-cdk/aws-ec2": "~1.119.0", - "@aws-cdk/aws-ecr": "~1.119.0", - "@aws-cdk/aws-ecr-assets": "~1.119.0", - "@aws-cdk/aws-ecs": "~1.119.0", - "@aws-cdk/aws-elasticloadbalancing": "~1.119.0", - "@aws-cdk/aws-elasticloadbalancingv2": "~1.119.0", - "@aws-cdk/aws-events": "~1.119.0", - "@aws-cdk/aws-events-targets": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", - "@aws-cdk/aws-kinesis": "~1.119.0", - "@aws-cdk/aws-kinesisfirehose": "~1.119.0", - "@aws-cdk/aws-kms": "~1.119.0", - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/aws-logs": "~1.119.0", - "@aws-cdk/aws-route53": "~1.119.0", - "@aws-cdk/aws-s3": "~1.119.0", - "@aws-cdk/aws-s3-assets": "~1.119.0", - "@aws-cdk/aws-secretsmanager": "~1.119.0", - "@aws-cdk/aws-servicecatalog": "~1.119.0", - "@aws-cdk/aws-servicediscovery": "~1.119.0", - "@aws-cdk/aws-sns": "~1.119.0", - "@aws-cdk/aws-sns-subscriptions": "~1.119.0", - "@aws-cdk/aws-sqs": "~1.119.0", - "@aws-cdk/aws-stepfunctions": "~1.119.0", - "@aws-cdk/core": "~1.119.0", - "@aws-cdk/custom-resources": "~1.119.0", - "@aws-cdk/region-info": "~1.119.0", + "@aws-cdk/assets": "~1.123.0", + "@aws-cdk/aws-apigatewayv2": "~1.123.0", + "@aws-cdk/aws-autoscaling": "~1.123.0", + "@aws-cdk/aws-batch": "~1.123.0", + "@aws-cdk/aws-cloudformation": "~1.123.0", + "@aws-cdk/aws-cloudwatch": "~1.123.0", + "@aws-cdk/aws-codebuild": "~1.123.0", + "@aws-cdk/aws-codecommit": "~1.123.0", + "@aws-cdk/aws-codedeploy": "~1.123.0", + "@aws-cdk/aws-codepipeline": "~1.123.0", + "@aws-cdk/aws-codepipeline-actions": "~1.123.0", + "@aws-cdk/aws-ec2": "~1.123.0", + "@aws-cdk/aws-ecr": "~1.123.0", + "@aws-cdk/aws-ecr-assets": "~1.123.0", + "@aws-cdk/aws-ecs": "~1.123.0", + "@aws-cdk/aws-elasticloadbalancing": "~1.123.0", + "@aws-cdk/aws-elasticloadbalancingv2": "~1.123.0", + "@aws-cdk/aws-events": "~1.123.0", + "@aws-cdk/aws-events-targets": "~1.123.0", + "@aws-cdk/aws-iam": "~1.123.0", + "@aws-cdk/aws-kinesis": "~1.123.0", + "@aws-cdk/aws-kinesisfirehose": "~1.123.0", + "@aws-cdk/aws-kms": "~1.123.0", + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/aws-logs": "~1.123.0", + "@aws-cdk/aws-route53": "~1.123.0", + "@aws-cdk/aws-s3": "~1.123.0", + "@aws-cdk/aws-s3-assets": "~1.123.0", + "@aws-cdk/aws-secretsmanager": "~1.123.0", + "@aws-cdk/aws-servicecatalog": "~1.123.0", + "@aws-cdk/aws-servicediscovery": "~1.123.0", + "@aws-cdk/aws-sns": "~1.123.0", + "@aws-cdk/aws-sns-subscriptions": "~1.123.0", + "@aws-cdk/aws-sqs": "~1.123.0", + "@aws-cdk/aws-stepfunctions": "~1.123.0", + "@aws-cdk/core": "~1.123.0", + "@aws-cdk/custom-resources": "~1.123.0", + "@aws-cdk/region-info": "~1.123.0", "@octokit/rest": "^18.0.9", "amplify-cli-core": "1.29.0", "amplify-cli-logger": "1.1.0", diff --git a/packages/graphql-transformers-e2e-tests/package.json b/packages/graphql-transformers-e2e-tests/package.json index ce5e64be060..516c493f792 100644 --- a/packages/graphql-transformers-e2e-tests/package.json +++ b/packages/graphql-transformers-e2e-tests/package.json @@ -37,7 +37,7 @@ "@types/node": "^12.12.6", "aws-amplify": "^4.2.8", "aws-appsync": "^4.1.1", - "aws-cdk": "~1.119.0", + "aws-cdk": "~1.123.0", "aws-sdk": "^2.963.0", "execa": "^5.1.1", "fs-extra": "^8.1.0", diff --git a/packages/graphql-transformers-e2e-tests/resources/jsonServer/package.json b/packages/graphql-transformers-e2e-tests/resources/jsonServer/package.json index 9d834062ff5..f1ca5c285e6 100644 --- a/packages/graphql-transformers-e2e-tests/resources/jsonServer/package.json +++ b/packages/graphql-transformers-e2e-tests/resources/jsonServer/package.json @@ -3,14 +3,14 @@ "private": true, "version": "1.0.0", "devDependencies": { - "aws-cdk": "~1.119.0", + "aws-cdk": "~1.123.0", "@types/node": "^12.12.6", "typescript": "^3.8.3" }, "dependencies": { - "@aws-cdk/aws-lambda": "~1.119.0", - "@aws-cdk/aws-apigateway": "~1.119.0", - "@aws-cdk/core": "~1.119.0" + "@aws-cdk/aws-lambda": "~1.123.0", + "@aws-cdk/aws-apigateway": "~1.123.0", + "@aws-cdk/core": "~1.123.0" }, "resolutions": { "proxy-agent": "^5.0.0" diff --git a/yarn.lock b/yarn.lock index c819378a89a..f7aa0f9aab1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -244,790 +244,792 @@ dependencies: "@aws-amplify/core" "4.2.8" -"@aws-cdk/assert@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.119.0.tgz#94b8359206c9d71669f117510c1933a6b504e790" - integrity sha512-emhl8Ee9cyr6PR4JVqoh18Cevf56hvkB9O6IRNO8sHA2wZSAaXqzLAXUjuOiI3WDNBONW/z3LSkeD6LZKsPkug== - dependencies: - "@aws-cdk/cloudformation-diff" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/assert@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.123.0.tgz#da6b41334ff2616600e17872ce88dc272ca41252" + integrity sha512-lisfqoGTPMz6iLRv1WcZkrstPO51dgp9QFffClOh9oYzZ916XDP5arQ7AFA9PkGTZY88dxrGKJFAI8kw9em4tA== + dependencies: + "@aws-cdk/cloudformation-diff" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/assets@1.119.0", "@aws-cdk/assets@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.119.0.tgz#b9be641fd19b1b91335318d48eaca0ee4aeb6186" - integrity sha512-xDApr9o5Dpdpp9H9SZE4KN9OfddvR3d7xotJficaPZTVFclH5xCdH3T3m9VxpZq19Prrg6Cs3nsZxPB29o3VLw== +"@aws-cdk/assets@1.123.0", "@aws-cdk/assets@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.123.0.tgz#92b1d1cc14e35181833c5f078286a785f9f92b6d" + integrity sha512-LS/XdiLXKm6BhSVxiWZffa8r8ALM4Z4MGm2ZudWXqDQ6TJXAKb5sYMkC8slxtxrI/fl4yz3OXHXeH0w/Re/q3w== dependencies: - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-apigateway@1.119.0", "@aws-cdk/aws-apigateway@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.119.0.tgz#7b0604c5507e2546186259b785d32985702f9e5d" - integrity sha512-lJTE5EqvpGNsnWdihaGHzcnFH4pHQn8yyLxxmprVZDCDoR6xIb63HkxYb0AIO8KahqeBdpHCixhv8r6GkQ5a+w== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-cognito" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-apigateway@1.123.0", "@aws-cdk/aws-apigateway@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.123.0.tgz#b68b2c4d9384c6acf326bbb3c2eec94d85641f18" + integrity sha512-JfH9a6FSRrBOBD9e2KZmCdNobcKda3dT+xwnm1sh6vNpI9zX3zr6V1o6zEZJdv049lhTBv/ZQNAPSO1+luNsLQ== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-cognito" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-apigatewayv2@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.119.0.tgz#d9dc9920cc6bc07b842a77dcaaa91174918d37c7" - integrity sha512-lHUmU+d6uFTuw0OUl720cBoeerK6KZAZnjX1gvhoexC8dd4sq3cEQe0BxfEjNDiyCrkDsKuZ7UkVfOSf2y+5mQ== +"@aws-cdk/aws-apigatewayv2@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.123.0.tgz#dabd3a4504819d1f806ef7c1e16b61feba16bfd8" + integrity sha512-KSBpGah+BfFc6IGbh0ZJs/p6OxQkMG6gLgYr/hO0x0QkhOvaW96qXFlRVmc7oRwjDRdQMF1H/9ZnSOCZJ2fLOA== dependencies: - "@aws-cdk/aws-certificatemanager" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-certificatemanager" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-applicationautoscaling@1.119.0", "@aws-cdk/aws-applicationautoscaling@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.119.0.tgz#01785415038aeb4cbb8f58d56cc4c97398931d6b" - integrity sha512-bDIQ2VK/c0Z7vvAyeWcDtbXoeMICBm+n0aZWdJwXTBP8l6+idaEs/B6XWau5pV/IaPZbwRaaihgf2KoUVCXntg== +"@aws-cdk/aws-applicationautoscaling@1.123.0", "@aws-cdk/aws-applicationautoscaling@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.123.0.tgz#0de835093b23239e61c92fca2f880ce6ebc012ec" + integrity sha512-UoLAVjF089234o38aT+76pxNFSJ0lvzPh17GFHrQrxlSMjTQCdFgQRO3U711dLJ07zdmzKgHmGgRUCGsDfRA/A== dependencies: - "@aws-cdk/aws-autoscaling-common" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-autoscaling-common" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-appsync@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-appsync/-/aws-appsync-1.119.0.tgz#72598416473d485e03e2cc5f62ef3b2d2533a4b4" - integrity sha512-/nxRjHLve5CO9/DD1ToVK+f/6Mwbf8AN7Efb52PhBKGR0ORm/DAcnsjXUtPK9wr7CvnRLS24jOSRQEvqSof5PA== - dependencies: - "@aws-cdk/aws-cognito" "1.119.0" - "@aws-cdk/aws-dynamodb" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-elasticsearch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-rds" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/aws-secretsmanager" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-appsync@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-appsync/-/aws-appsync-1.123.0.tgz#f15311c97d9387f1fd1f357346ba0d4f2c5f078c" + integrity sha512-85iDocW+pS8amVwpcaGEOzGQm5ufTUEMQVjlJlnK7YgBWQPhemxr6Mhik2A/HIynuUPELEb3DMAKUTs77lkwaw== + dependencies: + "@aws-cdk/aws-cognito" "1.123.0" + "@aws-cdk/aws-dynamodb" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-elasticsearch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-rds" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/aws-secretsmanager" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-autoscaling-common@1.119.0", "@aws-cdk/aws-autoscaling-common@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.119.0.tgz#9efef6ceff895ec49506d0a464817acae4f36632" - integrity sha512-0N2qBAXO/eS6So5FKR06WsNm1E2IsuvZe7RyuWS7ufNeBup31aVFrCFYAsSvtnjnwFvDkD5x1T26PH5b3OSB+w== +"@aws-cdk/aws-autoscaling-common@1.123.0", "@aws-cdk/aws-autoscaling-common@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.123.0.tgz#907d3c2f5412a1ea12385fc6eec88fffdfb19863" + integrity sha512-O+TbFW6JB/RxZP45UrWuJ3rEw+VoR5fSv/RKPBV3WsOmONAypQg3H75YnOYlENDF3Wpivq/N3WTz7ubh2NUbbQ== dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-autoscaling-hooktargets@1.119.0", "@aws-cdk/aws-autoscaling-hooktargets@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.119.0.tgz#58aacc594c5e4746be71e1f98845a84c4fe498ed" - integrity sha512-Vdkoox4aNOSoIYyYepyRsRrVC+H10W6trFJ2CsQ8acMwUZa9CBqpgxqbIM/OiYTn65LqbkhpP9x78dEJxhUWsg== - dependencies: - "@aws-cdk/aws-autoscaling" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/aws-sns-subscriptions" "1.119.0" - "@aws-cdk/aws-sqs" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-autoscaling-hooktargets@1.123.0", "@aws-cdk/aws-autoscaling-hooktargets@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.123.0.tgz#04d9de9b20605b7c7c9c67c0b1b81e5c04319caa" + integrity sha512-lk/y9Ha3viU7H/3g0HuDlI/HO8NAS3f4NrFdTmkWaSBaQjOr8GxngHzLPYYVAu1YmNhMW/U25qmHw4QqMsIrAA== + dependencies: + "@aws-cdk/aws-autoscaling" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/aws-sns-subscriptions" "1.123.0" + "@aws-cdk/aws-sqs" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-autoscaling@1.119.0", "@aws-cdk/aws-autoscaling@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.119.0.tgz#69d4be1977d40c9233896cc8d1f040cc7e993c89" - integrity sha512-1aWYrz1vpE/ptcKNJWwXKbYzlNDnJWxLz/tLQ0nMpt6sk523pMtLzq1erFP1dqeI2m3D349G4wd0JpYtPpvvIw== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-elasticloadbalancing" "1.119.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-autoscaling@1.123.0", "@aws-cdk/aws-autoscaling@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.123.0.tgz#773563e4bcfb8ad4992c8e881455c9d1eb1d4b54" + integrity sha512-tCspXmUeKZsA0FoDsTTS+VTmP8xXO3+RFKfwIlXefbopZN24bCO9AeCSnvoheCtyWP+En+43ByRhhTgI0R+f3A== + dependencies: + "@aws-cdk/aws-autoscaling-common" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-elasticloadbalancing" "1.123.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-batch@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch/-/aws-batch-1.119.0.tgz#917f0eafd29e70427accbbe86bad6074bf48dd00" - integrity sha512-pDiNLO9evxkRXA+FyugeVnwA+cvq9NFfaYy1pgLC6Mhy/noNUkgk6N4KVMH5ZApl+oIDfOs6xXvGHc2SDK1RJA== - dependencies: - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-ecr" "1.119.0" - "@aws-cdk/aws-ecs" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-secretsmanager" "1.119.0" - "@aws-cdk/aws-ssm" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-batch@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch/-/aws-batch-1.123.0.tgz#f96bbdcae3d08b4008a15aa2f8485247987ef592" + integrity sha512-H9gcljIvmX5BA24cEbH84YUWSbfUyhWkM1SXgwn5uYH0MnrmRiXsSGhoenSq6Q0PZNXpugNzbllezZdyuDZPxA== + dependencies: + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-ecr" "1.123.0" + "@aws-cdk/aws-ecs" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-secretsmanager" "1.123.0" + "@aws-cdk/aws-ssm" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-certificatemanager@1.119.0", "@aws-cdk/aws-certificatemanager@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.119.0.tgz#317fab781ac2bd848077ca7176e63a2bd66d84d4" - integrity sha512-lWOJaJkk7ztsB+wwWT8cCNbWmSi5Oi8aj8LeuXT5QuGQ5XqtdiO4qdzJO+eYgiQpW+85gAJMvzdpNf6kDL8FGA== +"@aws-cdk/aws-certificatemanager@1.123.0", "@aws-cdk/aws-certificatemanager@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.123.0.tgz#c56d9c21eea181d54ddf6414ef153bc3b1348c61" + integrity sha512-iY/aqr9h6nCEmbxLMO7cpJH9nJ55UDlSWOdF7ig6rokmapQKcM8XiImaJryTwnicv3y2zIgVJYrGdkKHT0tjZw== dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-route53" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-route53" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-cloudformation@1.119.0", "@aws-cdk/aws-cloudformation@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.119.0.tgz#8c3c65bec35d5085a8e0c4d2f9f42cf8416c5cc0" - integrity sha512-H2T3UCiHgCc78JGKsMN9X9DRShANO0w2zCIm/mn6gfAqppLjV+lK6TTNamkz5P+DgQ6rw+aMj1GKuVdJa+8Shw== - dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-cloudformation@1.123.0", "@aws-cdk/aws-cloudformation@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.123.0.tgz#28efba3e8c5972cc1f46cef986e227fd47a460b2" + integrity sha512-4pvMduZuG5E7h2H7ur1x47BIMPLMGN5g13X4x5lfKc7Jrxh1gR2JplcFMXop3/0isdywS7rTnQfN5IuLX4Gk7Q== + dependencies: + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-cloudfront@1.119.0", "@aws-cdk/aws-cloudfront@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.119.0.tgz#cca6d4f7cf28599762b22ed78068907fe51f6dc7" - integrity sha512-Q5wE2gWvKWJlVMFsYs6BhaesYH5xkg7RZwmi1ndYs+SGTEjYVxtxf2xXHBM/yHzRTzF+6Jm1TJsnzjYP3zaS4g== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-ssm" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-cloudfront@1.123.0", "@aws-cdk/aws-cloudfront@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.123.0.tgz#f85f5c3d7ce385fbabffe5e0333f38b76d63e664" + integrity sha512-jQaKVFvV74+y/UXosHTDoqSaB8VL0d+1umkkNSWyxYEO+aZgXO6shTkBTkfDDfwkonJp/OhgOVSIXlzFSWD7rQ== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-ssm" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-cloudwatch@1.119.0", "@aws-cdk/aws-cloudwatch@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.119.0.tgz#a44a8ff16d265baa216b10b57e0da8c56af6ade6" - integrity sha512-0keohkpjehJIQBsNIH+rH0HC5Ze/7XIdTuEaQBGZ/1m4cmWl5eFyZ6qHtSWVs+OhVXOWMkYU/ZYFT5GfB2f8sA== +"@aws-cdk/aws-cloudwatch@1.123.0", "@aws-cdk/aws-cloudwatch@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.123.0.tgz#20e8ca56221be571f030e5db3df081e22a663f1e" + integrity sha512-k2shLdFiCe60imk/Wj6jNbMeHYFcXlnhfcgImgZahHIYS1oM83iJVApN23O8WQc0IjLuDfUPzVvxsTIUoa9YyQ== dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-codebuild@1.119.0", "@aws-cdk/aws-codebuild@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.119.0.tgz#0fc3567fba01771e258636b17450c5e488f6110d" - integrity sha512-f9UfYoXOnvcACfFnE35GNZGa1RdRn3BwmB85h4Yiom7x2EWE5Edd6INUtJgprk4mDXIDEHzowKS5gWe3dMTUdA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-codecommit" "1.119.0" - "@aws-cdk/aws-codestarnotifications" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-ecr" "1.119.0" - "@aws-cdk/aws-ecr-assets" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/aws-secretsmanager" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/region-info" "1.119.0" +"@aws-cdk/aws-codebuild@1.123.0", "@aws-cdk/aws-codebuild@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.123.0.tgz#3baac4f359946247ded4ebb29d67368201b701ac" + integrity sha512-JAP9QZWGTKXnMLltHRtirsPNdHlTKhahbYoUmIWRiyw6Y0fRlkB1uR7z1nFYcVxZDuGP0+QGNMeaYjf9q9Rgeg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-codecommit" "1.123.0" + "@aws-cdk/aws-codestarnotifications" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-ecr" "1.123.0" + "@aws-cdk/aws-ecr-assets" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/aws-secretsmanager" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/region-info" "1.123.0" constructs "^3.3.69" yaml "1.10.2" -"@aws-cdk/aws-codecommit@1.119.0", "@aws-cdk/aws-codecommit@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.119.0.tgz#3e4e7f8797c650dff6c9b9546df69ce49c645cce" - integrity sha512-4+N/6CTNEeZzcY6qZ5m/KNYSTpTzYXZjg0PbSQMErK9FrRjqZFVhliA0A1s4/Id/4tmYQBKBs0+SUk+fq5dTkA== +"@aws-cdk/aws-codecommit@1.123.0", "@aws-cdk/aws-codecommit@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.123.0.tgz#9b61b646e535a54545931883e99e9ff69b8e8b8e" + integrity sha512-oxS/xWrF9fn3BMybbNnDSf23RcwbMrrh9SoVZKGuj3PDPo0TcZdzAzeWUFmRD4527BMGQpWFF+tEgN7NpEE1jA== dependencies: - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-codestarnotifications" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-codedeploy@1.119.0", "@aws-cdk/aws-codedeploy@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codedeploy/-/aws-codedeploy-1.119.0.tgz#735b9b659f0ff58e0f13bc41768937f929342ead" - integrity sha512-6/0GzUKKNHt9K6trf6metbZxtxxRPIGvSIpHfBt6xB7HBKup+ntf4JWM7066D/zvLxp57LCGnR0/gvvpkkhIPw== - dependencies: - "@aws-cdk/aws-autoscaling" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-elasticloadbalancing" "1.119.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/custom-resources" "1.119.0" +"@aws-cdk/aws-codedeploy@1.123.0", "@aws-cdk/aws-codedeploy@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codedeploy/-/aws-codedeploy-1.123.0.tgz#1c67210a2f06b617cf8aaa246acf88fc7c7541bf" + integrity sha512-tzbi9xoIZDuCy94MYaKTP86zOL+3iYNL/vLUBY6nQqRlVrIT9ZV++0L9Zn1EAMs0FcAgtIv0/S6dO/0ZwvhH5g== + dependencies: + "@aws-cdk/aws-autoscaling" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-elasticloadbalancing" "1.123.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/custom-resources" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-codeguruprofiler@1.119.0", "@aws-cdk/aws-codeguruprofiler@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.119.0.tgz#30226291555b5549d6bbf86f25a4de187c668e92" - integrity sha512-6Mzx1e9/nELE3jF9+hgYQ/U8jXuT7ebACDyW0qyrAfC2cy6QjYJwDy82f6oAulpClV+LD0oiIoA6kMecbty+xw== +"@aws-cdk/aws-codeguruprofiler@1.123.0", "@aws-cdk/aws-codeguruprofiler@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.123.0.tgz#17555d9cac1b1eafb035f59d4ae86208ffe1eb7a" + integrity sha512-En6eo1CSu6mTFI+ddTH3AXADT3KfZ1nKg2FmZ9aVHdtRIDVTNct0Sx+Bs431WHSY0bTMRA6rXh4CJk5W+H9NuQ== dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-codepipeline-actions@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline-actions/-/aws-codepipeline-actions-1.119.0.tgz#88cfe69b814ef65177aa10975f817272255db136" - integrity sha512-X9OwkjCR2/hh8LxLVECOymIqdUGZ6ev71djbFeuBg0bcB7o/wQop+yJD3mIcoSh+DtUiwnVuNPndXYc+rvnN1Q== - dependencies: - "@aws-cdk/aws-cloudformation" "1.119.0" - "@aws-cdk/aws-codebuild" "1.119.0" - "@aws-cdk/aws-codecommit" "1.119.0" - "@aws-cdk/aws-codedeploy" "1.119.0" - "@aws-cdk/aws-codepipeline" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-ecr" "1.119.0" - "@aws-cdk/aws-ecs" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-events-targets" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/aws-sns-subscriptions" "1.119.0" - "@aws-cdk/aws-stepfunctions" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-codepipeline-actions@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline-actions/-/aws-codepipeline-actions-1.123.0.tgz#2dbd0fd94ae912a08795775cf8509d95e4afeb5f" + integrity sha512-nB3es3w3CcmP3xPoZHZkfXJEmcTRd+rsFcImZVdKpsNiWpcJ0y9/3d6Vn34242iy+bzhscm19oSXyKpKQQlyMg== + dependencies: + "@aws-cdk/aws-cloudformation" "1.123.0" + "@aws-cdk/aws-codebuild" "1.123.0" + "@aws-cdk/aws-codecommit" "1.123.0" + "@aws-cdk/aws-codedeploy" "1.123.0" + "@aws-cdk/aws-codepipeline" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-ecr" "1.123.0" + "@aws-cdk/aws-ecs" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-events-targets" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/aws-sns-subscriptions" "1.123.0" + "@aws-cdk/aws-stepfunctions" "1.123.0" + "@aws-cdk/core" "1.123.0" case "1.6.3" constructs "^3.3.69" -"@aws-cdk/aws-codepipeline@1.119.0", "@aws-cdk/aws-codepipeline@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.119.0.tgz#5d3fbf612e891f0ed979e515e95d178358019a2e" - integrity sha512-Ul6QsgGE2NyjfjU/R4lGAEtTtIYvHAyv1rLJOpjUdiVkBSRmy5yjlcRreJLbmqP6uc2nvgtCVBMBTWUU2oGniQ== - dependencies: - "@aws-cdk/aws-codestarnotifications" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-codepipeline@1.123.0", "@aws-cdk/aws-codepipeline@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.123.0.tgz#ecea904686f5737b101bc5f09019acc0dfad564c" + integrity sha512-in0JEMesILey7iezKNoq1IVA6LKknj8hAKAcc+Vm56YnKdWZ0if7BcxoWl0xusvTuRLsa3UDWjUfTAPMzCmr6g== + dependencies: + "@aws-cdk/aws-codestarnotifications" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-codestarnotifications@1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codestarnotifications/-/aws-codestarnotifications-1.119.0.tgz#e9b70ee7dda8dcbf57c26a47123c8209089a1e68" - integrity sha512-7lFnY+BXRxvBkq5oMgVIJ1Z31A5yE2f51SMJzmQiLRE85OCgyNuGJozgaB9nFAsAGfPDM3cZ2ONnS/fP4kfo1Q== +"@aws-cdk/aws-codestarnotifications@1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codestarnotifications/-/aws-codestarnotifications-1.123.0.tgz#5f2696984463aa6ccc2dc0308ca441d7f363d72a" + integrity sha512-wsFutZrhBzubQq6UhUVw0LF7i/N68kBCfMmbDthtE1s02LC+Rh359Jn6F44M/fesyTU039289XPyTW6dfaPNuQ== dependencies: - "@aws-cdk/core" "1.119.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-cognito@1.119.0", "@aws-cdk/aws-cognito@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.119.0.tgz#46ea7a267fc76d7f95f7fc2c298fc1c2b3254a9c" - integrity sha512-p6NIWqhYFuvNqX20dLLp8b0l90powUClf1MxEm8k6aRx33gIGV71vNENtnVaMPvzSpWMoYAGEAC2v15UCcQyfg== +"@aws-cdk/aws-cognito@1.123.0", "@aws-cdk/aws-cognito@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.123.0.tgz#11db5200f6136ead44f26c9e255691955b1c63f4" + integrity sha512-geAZjtroxSvGRlJ/XmrfvIJXRBS04oQh8mZFCQa3xRf527sB9cQJgLpwySf9a3qo6eN+Rdy9YV/tM9VZrzrlYw== dependencies: - "@aws-cdk/aws-certificatemanager" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/custom-resources" "1.119.0" + "@aws-cdk/aws-certificatemanager" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/custom-resources" "1.123.0" constructs "^3.3.69" punycode "^2.1.1" -"@aws-cdk/aws-dynamodb@1.119.0", "@aws-cdk/aws-dynamodb@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.119.0.tgz#4c8c45b98b4ca6a54ddd8f8f427779f0615f0e70" - integrity sha512-UPiXW7c8biAPOtihulas7NZXm+3+pzEW7sU03Uo5P0Q+SV+TAM0AhyNImUDQ1TN+Ml1vElfsUIxeo5Ukk6+Rmg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kinesis" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/custom-resources" "1.119.0" +"@aws-cdk/aws-dynamodb@1.123.0", "@aws-cdk/aws-dynamodb@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.123.0.tgz#c0688f93001208ddafba14ee73a1b5da244dad58" + integrity sha512-139f53dPDguWMyh6LXcUkyfsCQfUJITI+3MoaLe5pedQLjStKgwoXGdWXezmsFF1vISyPerYtINNTMIk9839lw== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kinesis" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/custom-resources" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-ec2@1.119.0", "@aws-cdk/aws-ec2@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.119.0.tgz#49d88b97564919a0b5241dc01d0dc367683b347f" - integrity sha512-nPtTTIdQR3PQjnUnnuYvGcE4Ng3Eu3ivXRA0Lk4fswGYjxvH9jAOO0NNN60sqMF8Ml8d9Hy/Bpus5ik2BC07Jw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/aws-ssm" "1.119.0" - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" - "@aws-cdk/region-info" "1.119.0" +"@aws-cdk/aws-ec2@1.123.0", "@aws-cdk/aws-ec2@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.123.0.tgz#5a9dcf8ccd8f0b64e34eec822257962d224dcc5e" + integrity sha512-+TGjZi/ljp2mkkQFoFPz4s2MM6zpJG+E0Cidgb10V/MrUvEbU/jh7bUyYbWKpGeH8qB7v6Yx/gPv62hCGxPWPg== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/aws-ssm" "1.123.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" + "@aws-cdk/region-info" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-ecr-assets@1.119.0", "@aws-cdk/aws-ecr-assets@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.119.0.tgz#3a10f325b001d9237758149f25d3b4c383d9f4d9" - integrity sha512-SnFUtIPo9Khj5SqvG2KGNAzju3XUH2gpzkhgCUkhTg+seq80TOAn8MP8osnEBYpD8oLe0F75vqfNenDT+3E16A== - dependencies: - "@aws-cdk/assets" "1.119.0" - "@aws-cdk/aws-ecr" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-ecr-assets@1.123.0", "@aws-cdk/aws-ecr-assets@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.123.0.tgz#2ddb5c2a11fe8dbcef0db906a23cd86da22b5b24" + integrity sha512-oKpfRb/YDBZHLT+/dEN2jx9aiJl8DCE26/bEtCYeX6f6ISJTGpugx2swBHbLeSeVq340ZZWtbSlQpukzhJ4uIA== + dependencies: + "@aws-cdk/assets" "1.123.0" + "@aws-cdk/aws-ecr" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" minimatch "^3.0.4" -"@aws-cdk/aws-ecr@1.119.0", "@aws-cdk/aws-ecr@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.119.0.tgz#e8b8ff7df39e33b4b6510b0e4e2b9169874ddd00" - integrity sha512-H3bWAThlaaxk2Q4YYPxN3uzOkEgFD5g2o334OBCdqQdByRUH6tzUCekwsBoiwPe4DnuwXWz3A3ZwgkiA84w1SA== +"@aws-cdk/aws-ecr@1.123.0", "@aws-cdk/aws-ecr@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.123.0.tgz#83b79d621e33770410ddc5942555b92668f7bb0a" + integrity sha512-ZOUi0+OFL3eTfx08DNQa5kyjAavpi0NIuzC8odx1CW0NGGdeQLiu39HiycA+w/uS6lbxnqCiZiMsgwWRxUU5Dg== dependencies: - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-ecs@1.119.0", "@aws-cdk/aws-ecs@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.119.0.tgz#999fa910fc4b244a9da875ea284aa3a7df97b6d2" - integrity sha512-qunQ2Bwb2ouSrRihMKMCDTm93dKSg3xSONQenu3w0EhDthcoA/aNQ8yXydy8+8GxcWKLrm881QuW4+LkQwc/VA== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.119.0" - "@aws-cdk/aws-autoscaling" "1.119.0" - "@aws-cdk/aws-autoscaling-hooktargets" "1.119.0" - "@aws-cdk/aws-certificatemanager" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-ecr" "1.119.0" - "@aws-cdk/aws-ecr-assets" "1.119.0" - "@aws-cdk/aws-elasticloadbalancing" "1.119.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-route53" "1.119.0" - "@aws-cdk/aws-route53-targets" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/aws-secretsmanager" "1.119.0" - "@aws-cdk/aws-servicediscovery" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/aws-sqs" "1.119.0" - "@aws-cdk/aws-ssm" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-ecs@1.123.0", "@aws-cdk/aws-ecs@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.123.0.tgz#e7525ddf961dd3296a9fdc315cfb82bebd5d53cd" + integrity sha512-E0P5kYYIfd4jnAC1aHALLzYc4AuSYVoPsKaEJcwKxd8kN8Y1bU6zddvs3N+cXnueJMmcauehOGj6BtO0fYa14Q== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.123.0" + "@aws-cdk/aws-autoscaling" "1.123.0" + "@aws-cdk/aws-autoscaling-hooktargets" "1.123.0" + "@aws-cdk/aws-certificatemanager" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-ecr" "1.123.0" + "@aws-cdk/aws-ecr-assets" "1.123.0" + "@aws-cdk/aws-elasticloadbalancing" "1.123.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-route53" "1.123.0" + "@aws-cdk/aws-route53-targets" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/aws-secretsmanager" "1.123.0" + "@aws-cdk/aws-servicediscovery" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/aws-sqs" "1.123.0" + "@aws-cdk/aws-ssm" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-efs@1.119.0", "@aws-cdk/aws-efs@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.119.0.tgz#6a6ca852bbd769aabc298a546122fe728db1ccf1" - integrity sha512-sCt+0dQzkPOt0kaMPJi8QF3zFblseuLiMYsY2W8V0uNeUWEsE6fZTBXEe7GP5nwOgQ77esnckMx3JmsYUeABuQ== - dependencies: - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-efs@1.123.0", "@aws-cdk/aws-efs@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.123.0.tgz#7b24cf9bd7639810063cf589a61900dcdeab5bab" + integrity sha512-Bgt5MBQeb7Grywfa0MOyFpgB078xI7QKaGr4lVe+diYfF8fPb3U2s+D62GnhMiRF5CXSKov7aWXhOv5v9c+PmA== + dependencies: + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-elasticloadbalancing@1.119.0", "@aws-cdk/aws-elasticloadbalancing@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.119.0.tgz#94308c5fc703a5037aaa5017373133946b1be75c" - integrity sha512-WuvlgFgDHoSnM6P2ESEGkUoRBzFnskXYF9V87YqIWaLv47tHCiM/Tx05Kz/u7+aF5h+RvJUdkygD6xYQcf1zHQ== +"@aws-cdk/aws-elasticloadbalancing@1.123.0", "@aws-cdk/aws-elasticloadbalancing@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.123.0.tgz#76c916310aa5e262f52fcf36066190cfdc4dcdd6" + integrity sha512-dELAA/EB6tepkks2JgPb75Y9IyTmNo17lfvQvv2XX/L6unEi9QQQa3SEfQMnT4umKCE/Iuc7s81Ar6i6J35hRQ== dependencies: - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-elasticloadbalancingv2@1.119.0", "@aws-cdk/aws-elasticloadbalancingv2@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.119.0.tgz#f107b9d7b571ce2f703cfbcf9f74ea29a55184bb" - integrity sha512-FpWayd/RD/geGqWSXNGxQ2NpI7zwLLMbEZZlrX8KKAe+a23ADbNvgbPCeqCptmX+LPWv+F50e4dtqBIjRp9a7w== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" - "@aws-cdk/region-info" "1.119.0" +"@aws-cdk/aws-elasticloadbalancingv2@1.123.0", "@aws-cdk/aws-elasticloadbalancingv2@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.123.0.tgz#61c8a294f01967649224568d37a8c1ba8a3ae942" + integrity sha512-pazT7qEDPNfZ/4ncwZAydkp9d4tBABUk9lvlpoYghoyBmvofaVq8lltrRwkwcvcT+m+8UOPJzXCzBWWvcCwwTg== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" + "@aws-cdk/region-info" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-elasticsearch@1.119.0", "@aws-cdk/aws-elasticsearch@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticsearch/-/aws-elasticsearch-1.119.0.tgz#1b28703feaa0bf828d34ee4868e00250dcd1dd98" - integrity sha512-8BngKp7EmgvA5u7JUQE7eIxq9c8Zj+tfB+x/iKMvGnSApZN/9tfa+rRikhyFt+wZeyalidbgal5FcFlMkTHujQ== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-route53" "1.119.0" - "@aws-cdk/aws-secretsmanager" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/custom-resources" "1.119.0" +"@aws-cdk/aws-elasticsearch@1.123.0", "@aws-cdk/aws-elasticsearch@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticsearch/-/aws-elasticsearch-1.123.0.tgz#9f0d76e36f8562cba81905df34f9790cc818f413" + integrity sha512-Onimp64Qz5OI1jhnz22bafzhK532waY6IlfucaHL2TA++PhZcm0NLjKVLXQUGwmEs0u+wHu23q3wd5eUdQph/A== + dependencies: + "@aws-cdk/aws-certificatemanager" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-route53" "1.123.0" + "@aws-cdk/aws-secretsmanager" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/custom-resources" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-events-targets@1.119.0", "@aws-cdk/aws-events-targets@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.119.0.tgz#b066299184ac4f79e43e36e201c1a14991e4cd39" - integrity sha512-/ttbEm0H8avd1jTZoOi+3PwjdF52WA2fI14b+MFPCecLWzB/O5yFHg07+SZzrn0HckjQZcVknVm12Q+MKDB9Ig== - dependencies: - "@aws-cdk/aws-apigateway" "1.119.0" - "@aws-cdk/aws-codebuild" "1.119.0" - "@aws-cdk/aws-codepipeline" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-ecs" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kinesis" "1.119.0" - "@aws-cdk/aws-kinesisfirehose" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/aws-sns-subscriptions" "1.119.0" - "@aws-cdk/aws-sqs" "1.119.0" - "@aws-cdk/aws-stepfunctions" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/custom-resources" "1.119.0" +"@aws-cdk/aws-events-targets@1.123.0", "@aws-cdk/aws-events-targets@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.123.0.tgz#58e1e48ffdf04f8345165c6038c610ab5786202e" + integrity sha512-jvpXeKnFvFfKJJB6usW5L7tK4hyOG06JPytLGtZ88cS3EL7N43e0eo7RHNGS/zRec+UfaJge1y8Y6cA+R0s7+w== + dependencies: + "@aws-cdk/aws-apigateway" "1.123.0" + "@aws-cdk/aws-codebuild" "1.123.0" + "@aws-cdk/aws-codepipeline" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-ecs" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kinesis" "1.123.0" + "@aws-cdk/aws-kinesisfirehose" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/aws-sns-subscriptions" "1.123.0" + "@aws-cdk/aws-sqs" "1.123.0" + "@aws-cdk/aws-stepfunctions" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/custom-resources" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-events@1.119.0", "@aws-cdk/aws-events@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.119.0.tgz#343726db0712acf5c7e2a11df858fb8d3c5befa4" - integrity sha512-P15j1U+uQV35nT5yrGIDoix+ItAk93v5nh2BiM6B2/2pZVFeeCveD5f4h3yX9aLFQHDJG1FZPbyUHV9FDs1ZYw== +"@aws-cdk/aws-events@1.123.0", "@aws-cdk/aws-events@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.123.0.tgz#ed3558e7c126b49393cd5f66e0b1a8532dd1b228" + integrity sha512-q3Tqbmti92RphojL0iM4c3MSD9loTS4GTsqZifPUTLYg97Q0lbTe2iqkNZ52+oeSsQrmofwNYFo63XKgf358OA== dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-globalaccelerator@1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-globalaccelerator/-/aws-globalaccelerator-1.119.0.tgz#bfef6b3cba3e2adda8f07d56a5774d938aace983" - integrity sha512-tWKswoktW+vsDs4hMOSqV84SfhKtLFgH79s1Vz4eWM461iAITJ/pExdsVcGmmYMRVBf/SMjOdsP8H7ZdRLGx5w== +"@aws-cdk/aws-globalaccelerator@1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-globalaccelerator/-/aws-globalaccelerator-1.123.0.tgz#6374a6c2675379da9e712b5dc53696e43e438eb7" + integrity sha512-4hqpdu4tv32QhQr5c0AmhtjpjMbpiH6eoIPsk06roc5vcmEuZqeMclqTP9RlAWuXmO7ZaW4WHXrRwYzsqfvDNQ== dependencies: - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/custom-resources" "1.119.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/custom-resources" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-iam@1.119.0", "@aws-cdk/aws-iam@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.119.0.tgz#c796e36c4e54da69b16e6f500806959963aea9dd" - integrity sha512-PsLOeuPlpwLCmiaW2R23/d8jOJD24GVIkh71rShPZEa4mr1qawoSbR1oNRC9n1Z/MX1YnDL/XOC8T5xMD8r54A== +"@aws-cdk/aws-iam@1.123.0", "@aws-cdk/aws-iam@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.123.0.tgz#34190e0d70bb5ab0a64044b1d5a99ad4cde068d7" + integrity sha512-2BCbfeeO0xYn4FdOWboI+88zW+W5Mc2uZnz4elXcNFesY1FTVicqtgL5XdKx/fsYJoCqtmgn5V/960fxUCmWFQ== dependencies: - "@aws-cdk/core" "1.119.0" - "@aws-cdk/region-info" "1.119.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/region-info" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-kinesis@1.119.0", "@aws-cdk/aws-kinesis@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.119.0.tgz#af58aa2f6667a42c48188d4003fdf7ca96eb4fc3" - integrity sha512-XFwV3YIEkaeMdDq/rKqYdz6Bbtn7UZt4tzR2uBgUn4uDFp53uDrvpqokHXuULrnBsDK/uLB8Dk6YILkoObqBcQ== +"@aws-cdk/aws-kinesis@1.123.0", "@aws-cdk/aws-kinesis@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.123.0.tgz#8a18b2700dd99b4208ea22c19d9d475123764171" + integrity sha512-2p065voh8IXYljiZI9y9eiRPuFLZBgQ5PQAuPIU6gmw+t8MX96SuBoQog0hLa+CBXFT28T4Uj2lFPlrXdoKE8g== dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-kinesisfirehose@1.119.0", "@aws-cdk/aws-kinesisfirehose@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesisfirehose/-/aws-kinesisfirehose-1.119.0.tgz#f53339c2f06c521de0ef81850efd268a704f26f1" - integrity sha512-XYcDIonuaGUphch4cVXxvXH7H7V4LFUkrlnOeir0oVhA919EFXT80xIViwrDID3vIWLlHiuzuDb7wPUcg7HunQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kinesis" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/region-info" "1.119.0" +"@aws-cdk/aws-kinesisfirehose@1.123.0", "@aws-cdk/aws-kinesisfirehose@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesisfirehose/-/aws-kinesisfirehose-1.123.0.tgz#d1af1e5514f3787b564b3087ddf631bcb36da944" + integrity sha512-TnLMOlKbDdJVQtvB79wK2snl1K+/YviGmfpK5SCUM9Lv9qb9vFmmTui2d8P1FjSJhNzMt9cTW37Bke9spZnQnQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kinesis" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/region-info" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-kms@1.119.0", "@aws-cdk/aws-kms@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.119.0.tgz#54e1848a88a11bff9853174a7ab677085cbc6246" - integrity sha512-imdS0FG7KDw+48dzx8O3VGo0+LbGN5RdSrZzKHxVALZzCQmQ7xhR7bh52NuqMLJJo4jHgWZFpiQZvHO74K03ZQ== +"@aws-cdk/aws-kms@1.123.0", "@aws-cdk/aws-kms@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.123.0.tgz#55ee72b4f65164e372616dc1b61e09f2cfbdb3f0" + integrity sha512-+5xqRqt6eLll0ENiXC10lXtNAgxomm3Si7wG1lV9ZXc4z6N0x9ksHPDr3mL+RQD73zAkyEyrIKT3Ak/L2BT9sQ== dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-lambda@1.119.0", "@aws-cdk/aws-lambda@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.119.0.tgz#c3aea8fabea2bda34aca40da77a43ad8c3757478" - integrity sha512-BtDVPpM39XH3gxXJrZAFc2bZUTnxgSoenaTYDCm1MlZT3Kdw1chxIuk9sSfTpHKkDmR5nGCYpDLNd31xxHsj0w== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.119.0" - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-codeguruprofiler" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-ecr" "1.119.0" - "@aws-cdk/aws-ecr-assets" "1.119.0" - "@aws-cdk/aws-efs" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/aws-signer" "1.119.0" - "@aws-cdk/aws-sqs" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" - "@aws-cdk/region-info" "1.119.0" +"@aws-cdk/aws-lambda@1.123.0", "@aws-cdk/aws-lambda@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.123.0.tgz#0bddff2cbd7e780370cdf3163b052400d2faff60" + integrity sha512-WXIIaywYugR00lmuIoJqO6Q4O9zOb3EisRk+xy/7x77nUp1LuVEh71Yj3pVhJRmNJ3F4838nyFdb4pGwjIBGTg== + dependencies: + "@aws-cdk/aws-applicationautoscaling" "1.123.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-codeguruprofiler" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-ecr" "1.123.0" + "@aws-cdk/aws-ecr-assets" "1.123.0" + "@aws-cdk/aws-efs" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/aws-signer" "1.123.0" + "@aws-cdk/aws-sqs" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" + "@aws-cdk/region-info" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-logs@1.119.0", "@aws-cdk/aws-logs@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.119.0.tgz#79a0ca461d36e90af338684150324ee9851534d7" - integrity sha512-i/M4Iva0ubxvETQQEzD/IzSo3Lz18ZFbLn8dg1dGtdx6B3/H8o3MbM9bISNLxe69bgQE1EGg4Z0LfkeOzYshJQ== +"@aws-cdk/aws-logs@1.123.0", "@aws-cdk/aws-logs@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.123.0.tgz#488c4dd63b0276d22c368acd1c0bbb787b692301" + integrity sha512-oUxZr3dHgbuTY2JaqRCE/M93jy7o3Go9EAzakv9nhv2u1rQ4CB5QurenrTYzJ0AIxQfk2YNwdW7WA5GkfVUySw== dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-rds@1.119.0", "@aws-cdk/aws-rds@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-rds/-/aws-rds-1.119.0.tgz#532eb77f29ce37107cb9bc444382031f5f74fe83" - integrity sha512-eylvgbM5sviuCl3QdDf5KSdRAq+lTkdjQsqqCWClOFoszv3eqcgLFkiyykmT4nCtWmUtP394RFOxvSIPNFPzKA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/aws-secretsmanager" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-rds@1.123.0", "@aws-cdk/aws-rds@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-rds/-/aws-rds-1.123.0.tgz#a428c2dcbd0fdec268439624dbca5b37399cebbf" + integrity sha512-mCTYXGO6N0dVtplib4WGeXoq5L3fE2awGp7XNFn0+I0qmBO5spYyDHFMm1VtRKa92KmJpS73Epx1vWmr4XINJQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/aws-secretsmanager" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-route53-targets@1.119.0", "@aws-cdk/aws-route53-targets@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.119.0.tgz#e69a042a255878df0eb457f5650738b2519c80be" - integrity sha512-jrIBmjubX4Aa582OpJRqiLev1dYuAv6VoOHmeWDgvN6l6/Ov2NIE1LRyv6Qy+aZVcfWVSaLsLdXUyNZX9xYNnQ== - dependencies: - "@aws-cdk/aws-apigateway" "1.119.0" - "@aws-cdk/aws-cloudfront" "1.119.0" - "@aws-cdk/aws-cognito" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-elasticloadbalancing" "1.119.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.119.0" - "@aws-cdk/aws-globalaccelerator" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-route53" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/region-info" "1.119.0" +"@aws-cdk/aws-route53-targets@1.123.0", "@aws-cdk/aws-route53-targets@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.123.0.tgz#32dcd0b61cbfd314cb881b166be305ad1be6cdb8" + integrity sha512-a1U+gjj4SPgvRshgALW+v2cNssqZ6llAYTgOpSH4iDxYg/znHnQEP/QbEhuwlCnqxwmsvK1hcm3om7T1/MQyfg== + dependencies: + "@aws-cdk/aws-apigateway" "1.123.0" + "@aws-cdk/aws-cloudfront" "1.123.0" + "@aws-cdk/aws-cognito" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-elasticloadbalancing" "1.123.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" + "@aws-cdk/aws-globalaccelerator" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-route53" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/region-info" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-route53@1.119.0", "@aws-cdk/aws-route53@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.119.0.tgz#2e47459fe98d2e08fa2682e6dd30858edab62086" - integrity sha512-1qXrri9RpJHcHPFhIGQIV2PfOA5gITu6pU5hpo4fhsFX9jMjSycOfkhvCvWscU6lGZLZUKI0cklcMmh8XjUH2Q== - dependencies: - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/custom-resources" "1.119.0" +"@aws-cdk/aws-route53@1.123.0", "@aws-cdk/aws-route53@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.123.0.tgz#aff44ab383377be9302b87a10072e4826d0e6cee" + integrity sha512-J3QtyfWIqDTO8smKf9cZ5yOHsNKm88v/cslsCuJ1FtEbJ0xen+fNm6L3pJ5b+yRgjyqUtWBafmbUyJW6WV9WDA== + dependencies: + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/custom-resources" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-s3-assets@1.119.0", "@aws-cdk/aws-s3-assets@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.119.0.tgz#29c02519ce435779570a5c3a561414721b797c08" - integrity sha512-FilMmQv+NczwI10J/p2RQKaP2BNMBvKvjrn73sX9kOJsEYDXZRuaAOf+O2wwjP/9a/6kcjRW6PsO64YMuy58BQ== - dependencies: - "@aws-cdk/assets" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-s3-assets@1.123.0", "@aws-cdk/aws-s3-assets@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.123.0.tgz#895702f77de51924c10555f1391e1eee7c395349" + integrity sha512-7hdQO784fEOBfRWGaaEuFcjBJsOu8lkTCvg2+6XJXq/6QbgO6D6vpvSK41DceOqbL6jwKbqtEUJ1mwypwumflg== + dependencies: + "@aws-cdk/assets" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-s3@1.119.0", "@aws-cdk/aws-s3@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.119.0.tgz#c620a379d0a37691df272c325d51c65f3457bdb0" - integrity sha512-L9SvOiIYlMjz9KyWOruoDb+k8CBSICc52SIN5Vnj+1AMX90w/5xO2/3fBGJYbMOkw5IPiCPs9VJbAgYy+akv8A== +"@aws-cdk/aws-s3@1.123.0", "@aws-cdk/aws-s3@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.123.0.tgz#448cdf0509bb3b40cf1e9e1b6d609201ff48164c" + integrity sha512-NCkfZJUlFYGUeCc+ciFzYyfS0iuvqEydbFx2lcotkc4vYbvn9hfLS/uOSYXPjU+gJXrGaECxlyguLUBfCA2OaA== dependencies: - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-sam@1.119.0", "@aws-cdk/aws-sam@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.119.0.tgz#868de30f90f24bd2b5d697360425e8209d29a055" - integrity sha512-FoaDiVKyeWhvWQeNKWYQxGNj5B6BetfxsKJQLSAUW6riun1MUZh+FaqsLA4j/QyjGLEdQwf2O2jazgJTQItzSg== +"@aws-cdk/aws-sam@1.123.0", "@aws-cdk/aws-sam@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.123.0.tgz#3c202fdbf1743aab80a9fd486de49d9ecd84e7aa" + integrity sha512-tChAy0LR8ERPYuAnOS0QIHEYQBcflw/ccGVwbZu4M4Ae37GirvAVfLhXGKrsG8lorANd8+JF15o7nWswbaJ4Ug== dependencies: - "@aws-cdk/core" "1.119.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-secretsmanager@1.119.0", "@aws-cdk/aws-secretsmanager@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.119.0.tgz#c861b3b3a22c8270338c524cb09ad44c05ca0ce2" - integrity sha512-8Ci5OFahV3L0U3Ur4ZHX56EeqWJGU7WT4eyYvro9puga4JBIVmFFSLB7dNHHGRQj9Mn4mWqFFzT18wVQJ6Uqxw== - dependencies: - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-sam" "1.119.0" - "@aws-cdk/core" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" +"@aws-cdk/aws-secretsmanager@1.123.0", "@aws-cdk/aws-secretsmanager@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.123.0.tgz#1d7e419b8eab750dfe4616100905d79507a2d4ad" + integrity sha512-IU5K+ugKV3JiOAxrcT2ucZyTmTQfaTkMGd6veAtOKIqubyUS1H735LS5YK0P5sgWdewpCYBbYupOtqUVs0GOhQ== + dependencies: + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-sam" "1.123.0" + "@aws-cdk/core" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-servicecatalog@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicecatalog/-/aws-servicecatalog-1.119.0.tgz#eb644bd6ba4e1da6a2fe45ccb0ee53de37c355f4" - integrity sha512-TwyRrwxGkbqoN0WQt53ATJQrBSV9vDpoztk33cLst1e6Lk3NdTWIPxJHA9iCq528U+u200yFJY0LeKFpQP82yA== +"@aws-cdk/aws-servicecatalog@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicecatalog/-/aws-servicecatalog-1.123.0.tgz#9f7047ec9b51dc72d835202b1daf3e898b03ad5f" + integrity sha512-21GhiVE4Xs/sUxL3dc78qNcmgVoxH6IDwI/NUGKA4UqkR6GwwaWXzqCJmoixIJJih1AgAbSRcc6oD3EHyucz4A== dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-s3-assets" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-s3-assets" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-servicediscovery@1.119.0", "@aws-cdk/aws-servicediscovery@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.119.0.tgz#b679352b9de4fa584f7e402a92c6d3bb12f26e76" - integrity sha512-WvRw68miRYf+AArsrxNFCK+o6jiAtH9oVF8iGE0WL1AnsFIqi+2++lEcSk6nk9aYy+k3etMENWOMvgQl3z8veA== +"@aws-cdk/aws-servicediscovery@1.123.0", "@aws-cdk/aws-servicediscovery@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.123.0.tgz#ecdcbd02e7b0295fabc27acaa4235fd0f912945f" + integrity sha512-MJYA1XsvlFWBJmISnZg/1kMCUAggpQlRrAzjNLStk3uw840jJrKEoQWr8MFGeF0IjaBnch0l7D9ke/HXUjAxnw== dependencies: - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.119.0" - "@aws-cdk/aws-route53" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" + "@aws-cdk/aws-route53" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-signer@1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-signer/-/aws-signer-1.119.0.tgz#2a4c8916752293d6b00de544fb6f49134084c6ea" - integrity sha512-MGsRKtWRs5jHYlI87iUevOZhpJu3JKAFd3bwiPfGFNlOs8JuR28y/FNHUHWF0PdNLZ4LHBT6hQgDFIpnmX+9iA== +"@aws-cdk/aws-signer@1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-signer/-/aws-signer-1.123.0.tgz#95e5e901359be5c6416c062f454b412c7dd40ace" + integrity sha512-Pu86iUH20gwqq/UJ8BAvqhyzmd5rBIShQOjvfb6Fz3A5kLqQc1xmAv/NFuBmt5i7TJoNotJKufpGf2VEYCLqXQ== dependencies: - "@aws-cdk/core" "1.119.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-sns-subscriptions@1.119.0", "@aws-cdk/aws-sns-subscriptions@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.119.0.tgz#e31728a53b275431ed1cd212a58c16cc251c5aa5" - integrity sha512-5lzDzg+fqW/Y4JnSnaVQn7quUQhtBbvUDYtFNdAwHyFjmu68fm6S37he4zxnX7oHOCk1byVAsBWbVweed1Y72w== - dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/aws-sqs" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-sns-subscriptions@1.123.0", "@aws-cdk/aws-sns-subscriptions@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.123.0.tgz#85baab711aeede83a864143d22614604d5c9dd32" + integrity sha512-yit596tNvJrmOMvp3ISvmN8KgcW0NVwujmEh9kR1iBCG9VT6fUCFH3/dHVxSSZvRP7js3Ia+F67UHtCxm9/1wQ== + dependencies: + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/aws-sqs" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-sns@1.119.0", "@aws-cdk/aws-sns@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.119.0.tgz#60755782f25cffeaf57d5a63fb9eeec56295d59b" - integrity sha512-u5ZcDr08Jy63PGZAG7czQjM6S4xNuCfce24Di1RSllL8w4fdVTNch1ZlKNlvCOeilK6kMH35MU6AFBrJrfgfwQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-codestarnotifications" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/aws-sqs" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-sns@1.123.0", "@aws-cdk/aws-sns@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.123.0.tgz#ce6c7c621371e97165f67b78f13aef54cec868c5" + integrity sha512-GdvdefdYSVh+3TJPpeJo/fyUBw1UFhHovBTxvdJ+SMPzYvNCEF6sKIssYm9OoupY3dJHwo/fEweiWm4I72IjgA== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-codestarnotifications" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/aws-sqs" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-sqs@1.119.0", "@aws-cdk/aws-sqs@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.119.0.tgz#e28000e1519f8b702d04f541835af70609561221" - integrity sha512-xEdzOp87dGJqU5wU9GpkaeJPQLXUKfLFG7naXEIrOisRtgAq24Nwdr5rWiNUGVIyyiqRrbu85EEZGAL4P4idlg== +"@aws-cdk/aws-sqs@1.123.0", "@aws-cdk/aws-sqs@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.123.0.tgz#97ac620e1c76c8034c53195ec25973dade3658de" + integrity sha512-IE4PhmrdBkrWDP8COioP/YVHSyzM/+XMS5Qlq96nRIS8By690Vskgij+/wSAWU75cvzumLXDtG8mdNnN+UU/0g== dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-ssm@1.119.0", "@aws-cdk/aws-ssm@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.119.0.tgz#649f2072203f760216876d002da72aefeb4b96e3" - integrity sha512-uY7lBSApILpVRxW8x///IFhmEW+M783+uCZjTAlkMtDz9/td8NJ/k0z+VwBHTOSRniW4ASJyBFJs5CJNbAyPgw== +"@aws-cdk/aws-ssm@1.123.0", "@aws-cdk/aws-ssm@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.123.0.tgz#e45c93363121834f8010d037c0a6019d4e35921c" + integrity sha512-RLBkBtJ7fwSkfBy1MW3kS49eLQICS7UgCOb00XWWPtGbCphv4HVQrs6cxf2T8NkCiR1fFlYRPoZizaccORGI7A== dependencies: - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-kms" "1.119.0" - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/core" "1.119.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-kms" "1.123.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/aws-stepfunctions@1.119.0", "@aws-cdk/aws-stepfunctions@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.119.0.tgz#82482a5305b1482c6e28405c5e8289c364998900" - integrity sha512-NtOtCmBa2uXJPZT72iqe+JljKNp3WvRO5r6myEVCY+16W6zy3uQdql3mWbpKq1RMQBGtuTWGknUjQ3aT3nwhFA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.119.0" - "@aws-cdk/aws-events" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-s3" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/aws-stepfunctions@1.123.0", "@aws-cdk/aws-stepfunctions@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.123.0.tgz#cfc844fd6e3e3b56c502b726c846636fad4e5fa2" + integrity sha512-IpTtZ0RYXq+7fT5xKN0MvLh9RkHz/vvPXvantSHhZDttxlKkHsJKa9aNX3l/7G5j2EPqPE9QOuv/T4ZELh2AQQ== + dependencies: + "@aws-cdk/aws-cloudwatch" "1.123.0" + "@aws-cdk/aws-events" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-s3" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/cfnspec@1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.119.0.tgz#1dc98c6f717627dd9fd636dfda06349e81c0d6a8" - integrity sha512-SZ/ZtL2FCsnNd94ukqIcsdE4XnG1x9wtDXGqzGFjm3ik23FaNW7qO5suLyDOdHzDaZk1mPi8MNleFmO2CAQBww== +"@aws-cdk/cfnspec@1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.123.0.tgz#8a82b2dad98604864563bec8a06a4b374bf3b064" + integrity sha512-FjLhH8HfXL+DouVqbunTaqC7yP+S+/Sax4z1FpgieeEGJLPa5QZbQNWg80QhMXUieVLW+Ew0jNSkLnambVcnTA== dependencies: md5 "^2.3.0" -"@aws-cdk/cloud-assembly-schema@1.119.0", "@aws-cdk/cloud-assembly-schema@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.119.0.tgz#b587fc3e6ae65bf5b541a50f6f655704ae56903b" - integrity sha512-4aGGrE3aIufTxoNOWFnJBgcLG+voD6qoYsKmyEAnYT7Ya79mSm/xNPuwAKEMTiO8YKiF9agaEvpVOLyM5+vk9A== +"@aws-cdk/cloud-assembly-schema@1.123.0", "@aws-cdk/cloud-assembly-schema@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.123.0.tgz#3f0b762729543d4c4415dae832b31fc943f33d2c" + integrity sha512-X0c1/fkXYH/goYxqUnswLTEdfgCzv/f7J0JiCVNq+/WhA3N3HWV8o8NdEvLGyCL3ghmwjoZFeBcfmxbOdL/8tQ== dependencies: jsonschema "^1.4.0" semver "^7.3.5" -"@aws-cdk/cloudformation-diff@1.119.0", "@aws-cdk/cloudformation-diff@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.119.0.tgz#3022edf7f691f8b5bd3310f9cd36a09dae84d274" - integrity sha512-GLCSFa/8WWlEOxGEk5AWPhIcKisw5A/6LGUh3v3TVcW5j88e7RRyAjgL6umocmr+8Y3b8GH7b0ivII6V2aWa/w== +"@aws-cdk/cloudformation-diff@1.123.0", "@aws-cdk/cloudformation-diff@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.123.0.tgz#6d013d952e3d08143244b28b19d2392b8bedf657" + integrity sha512-x/pU/6HiRCsfnFixGptep3uCGaupA9bOPwo2cjjTYtQK7vjhpxXKpdAwbNSR2SG0wLp1dqRWhzg2V9C95ZOeoQ== dependencies: - "@aws-cdk/cfnspec" "1.119.0" + "@aws-cdk/cfnspec" "1.123.0" "@types/node" "^10.17.60" colors "^1.4.0" diff "^5.0.0" @@ -1035,46 +1037,46 @@ string-width "^4.2.2" table "^6.7.1" -"@aws-cdk/core@1.119.0", "@aws-cdk/core@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.119.0.tgz#3fe2dcf8274c7d980c46ba1e0a52222b0222dadc" - integrity sha512-gEXTZqyuPBweT2N5EQ114Hk+ANPtr2ZffgTvhnSYI4fNAVuE4bT4r3i1qv5ZNJh9sgXto80EwUW175WzPA8R1w== +"@aws-cdk/core@1.123.0", "@aws-cdk/core@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.123.0.tgz#6c60284b9dfef58577e81c560ded6084b78ec5f9" + integrity sha512-y0PHH8SJX1R5idNHBXrPpj0LurReftvLaYmnvuP+Cf2fM6XEGj3W0JuyOmULrPBoG2YC+NpEeLD1qzGseGLURg== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" - "@aws-cdk/region-info" "1.119.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" + "@aws-cdk/region-info" "1.123.0" "@balena/dockerignore" "^1.0.2" constructs "^3.3.69" fs-extra "^9.1.0" ignore "^5.1.8" minimatch "^3.0.4" -"@aws-cdk/custom-resources@1.119.0", "@aws-cdk/custom-resources@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.119.0.tgz#126aee31f47f83fd427c334de27d2868ac44f2b3" - integrity sha512-PrWVij0jQs943WIhzukFx8xBwSvFQZCTIGPUgjXAhUJXYVpJV6brYtdtNTTXzb5AQkIuk7H9jvy0LPpBKJvDiw== - dependencies: - "@aws-cdk/aws-cloudformation" "1.119.0" - "@aws-cdk/aws-ec2" "1.119.0" - "@aws-cdk/aws-iam" "1.119.0" - "@aws-cdk/aws-lambda" "1.119.0" - "@aws-cdk/aws-logs" "1.119.0" - "@aws-cdk/aws-sns" "1.119.0" - "@aws-cdk/core" "1.119.0" +"@aws-cdk/custom-resources@1.123.0", "@aws-cdk/custom-resources@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.123.0.tgz#9211c7f835d838418e518a0494c99d8ddfb08442" + integrity sha512-I933ZDKxQedPo85tnG7MehITtqV5reblKpeoRCobemFYXW2O+eo8p9gSlpTakYsc9koz6PwxzGmqqbVV4PL5oQ== + dependencies: + "@aws-cdk/aws-cloudformation" "1.123.0" + "@aws-cdk/aws-ec2" "1.123.0" + "@aws-cdk/aws-iam" "1.123.0" + "@aws-cdk/aws-lambda" "1.123.0" + "@aws-cdk/aws-logs" "1.123.0" + "@aws-cdk/aws-sns" "1.123.0" + "@aws-cdk/core" "1.123.0" constructs "^3.3.69" -"@aws-cdk/cx-api@1.119.0", "@aws-cdk/cx-api@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.119.0.tgz#5cfacef4c840135e5d638b9626823cb5a377fe25" - integrity sha512-l+fcXRC2r2WU5GNbkC0CSpxZRfiS58XW+2AeNS++DvjeMhxrngsmEY0yWdKxd6MiVSQVaFDO7o4NbvK9sB6giA== +"@aws-cdk/cx-api@1.123.0", "@aws-cdk/cx-api@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.123.0.tgz#4639f00f98dd02122becff13ea985c98904a1461" + integrity sha512-Vhc7/LJj4b/xIbDuH9+4ycrXMlGS/BjiBWDzbN37NOVVvEdb7+4g0FQ+hcGIFQhWSOGAK5rjpFKQF0jH4XpOIQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.119.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" semver "^7.3.5" -"@aws-cdk/region-info@1.119.0", "@aws-cdk/region-info@~1.119.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.119.0.tgz#2a09551170471fd01e5fc94c45b98f83a26a0aa8" - integrity sha512-wtUNIKNK80d/YDh04imshlvYV/e6+Z0fDrrbfImJzkwwFR3bdAOKafi8Fo2YsjzLYQiqwthVOZFv+Z2Oh6pBGA== +"@aws-cdk/region-info@1.123.0", "@aws-cdk/region-info@~1.123.0": + version "1.123.0" + resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.123.0.tgz#95e6f7d63dc06db672846961a1c8f3bb6d1a32f5" + integrity sha512-JDuA+EaGQcBhWiuFUyBjSZyx1lZhzSGw+VS9brI045aZuMA/ugOH9za3Kb5DcYJiMphGSD+R9gfc3sQmCLP9gQ== "@aws-crypto/crc32@^1.0.0": version "1.1.0" @@ -4349,6 +4351,14 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jsii/check-node@1.33.0": + version "1.33.0" + resolved "https://registry.yarnpkg.com/@jsii/check-node/-/check-node-1.33.0.tgz#55d75cbef1c84e2012c67ab8d6de63f773be4a9b" + integrity sha512-Bajxa09dhkuQ8bM1ve6qtm2oFNhW9/+GaKRh4Deewsk/G86ovLXI/rRS6TfCsSw4E0TGPFWzWy0tBeJuEDo7sw== + dependencies: + chalk "^4.1.2" + semver "^7.3.5" + "@kamilkisiela/graphql-tools@4.0.6": version "4.0.6" resolved "https://registry.yarnpkg.com/@kamilkisiela/graphql-tools/-/graphql-tools-4.0.6.tgz#6dcf4d18bedaf34f6ab1d5bad2414e530d0875d1" @@ -7422,19 +7432,20 @@ aws-appsync@^4.1.1: url "^0.11.0" uuid "3.x" -aws-cdk@~1.119.0: - version "1.119.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.119.0.tgz#e7028c6f3354d1eebc9a1152c17367be0c7ae5e2" - integrity sha512-6FWJiVMtdJDjqlrss5a0+XjCkfnuFZ7XFItmp5EK4YGjFpWI7IjnEOwPvvxg1f6/ejG0cyXhvGEZaOxUnHJv5A== +aws-cdk@~1.123.0: + version "1.123.0" + resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.123.0.tgz#6251404b45d345a4b25cd01258d8866c60048743" + integrity sha512-Qu2fSm8LQ1b37q25aC+FT0+n/5Hm5b/kAU0jOybmy9h9+u/g6AuWqZidOECutpVn9q9OAusJzbL6bWpGbQHO4w== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/cloudformation-diff" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" - "@aws-cdk/region-info" "1.119.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/cloudformation-diff" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" + "@aws-cdk/region-info" "1.123.0" + "@jsii/check-node" "1.33.0" archiver "^5.3.0" - aws-sdk "^2.848.0" + aws-sdk "^2.979.0" camelcase "^6.2.0" - cdk-assets "1.119.0" + cdk-assets "1.123.0" colors "^1.4.0" decamelize "^5.0.0" fs-extra "^9.1.0" @@ -7490,6 +7501,21 @@ aws-sdk@^2.518.0, aws-sdk@^2.814.0, aws-sdk@^2.848.0, aws-sdk@^2.928.0, aws-sdk@ uuid "3.3.2" xml2js "0.4.19" +aws-sdk@^2.979.0: + version "2.992.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.992.0.tgz#3d8f663727cf3ea62a794a7499ae001fe6256abb" + integrity sha512-FP/AOu1nxfaPJ6to05eHriBUzvPiNapEwy96sm5GNOL8/T38k9//H6UhxLJ/46CzxFMH/Mo/WFp0qwpS39ev5A== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -8487,13 +8513,13 @@ caw@^2.0.0: tunnel-agent "^0.6.0" url-to-options "^1.0.1" -cdk-assets@1.119.0: - version "1.119.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.119.0.tgz#879ccf5610a75865d8a3b926e9a35a02fc98b82d" - integrity sha512-FDlQ64iSvorMEqvdlSKG691qNKiRBn759Q/GqpDGkJcDtLkSZO1ZSU7ukCANJZHQQoqrRLxkWK3S7Cdjz2Aj1w== +cdk-assets@1.123.0: + version "1.123.0" + resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.123.0.tgz#4b8a85b2c87045b2db307a6c8a42c48c30045bde" + integrity sha512-9cxisg95hsrwaR+vhP2Y2CGHDiauyQybVQ8+YeHTVJo4PTGrVUou/y1L3wnUmWlS6u10htdSQ3chgoR51bkqpQ== dependencies: - "@aws-cdk/cloud-assembly-schema" "1.119.0" - "@aws-cdk/cx-api" "1.119.0" + "@aws-cdk/cloud-assembly-schema" "1.123.0" + "@aws-cdk/cx-api" "1.123.0" archiver "^5.3.0" aws-sdk "^2.848.0" glob "^7.1.7" From 333e0cbca02b1204e5e93f9160172e11e9208576 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 22 Sep 2021 09:46:28 -0700 Subject: [PATCH 24/64] function arn to appsync push --- .../many-relationship-schema-v2.graphql | 2 -- .../single-object-auth-schema-v2.graphql | 2 -- .../single-object-schema-v2.graphql | 2 -- .../appSync-walkthrough.ts | 13 +++++--- .../handlers/resource-handlers.ts | 2 +- .../utils/message-printer.ts | 2 +- .../src/graphql-api.ts | 32 +++++++++++++++++-- .../src/transformation/transform.ts | 3 +- .../src/transformation/transformer-config.ts | 6 ++-- .../src/utils/authType.ts | 18 ++++------- .../src/ModelAuthTransformer.ts | 5 +++ .../graphql-auth-transformer/src/resources.ts | 10 ------ 12 files changed, 57 insertions(+), 40 deletions(-) diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql index 616114a469a..2619b187297 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql @@ -1,5 +1,3 @@ -type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! - type Blog @model { id: ID! name: String! diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql index 5467d1b3c07..0faf0997d4a 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql @@ -1,5 +1,3 @@ -type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! - type Task @model @auth(rules: [ diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql index bc5c83cec51..74b097ceae9 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql @@ -1,5 +1,3 @@ -type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! - type Todo @model { id: ID! name: String! diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 4cc0d8c8b99..37fbb790ad1 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -48,10 +48,6 @@ const authProviderChoices = [ name: 'OpenID Connect', value: 'OPENID_CONNECT', }, - { - name: 'Lambda', - value: 'AWS_LAMBDA', - }, ]; const conflictResolutionHanlderChoices = [ @@ -648,6 +644,15 @@ async function askDefaultAuthQuestion(context) { const currentAuthConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); const currentDefaultAuth = currentAuthConfig && currentAuthConfig.defaultAuthentication ? currentAuthConfig.defaultAuthentication.authenticationType : undefined; + + const useExperimentalPipelineTransformer = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer'); + if (useExperimentalPipelineTransformer && !authProviderChoices.find(choice => choice.value == 'AWS_LAMBDA')) { + authProviderChoices.push({ + name: 'Lambda', + value: 'AWS_LAMBDA', + }); + } + const defaultAuthTypeQuestion = { type: 'list', name: 'defaultAuthType', diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts index 307fa7e2920..f40a03833c0 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts @@ -11,7 +11,7 @@ import { doesConfigurationIncludeSMS } from '../utils/auth-sms-workflow-helper'; * The consumer returns the resourceName of the generated resource. * @param context The amplify context */ -export const getAddAuthHandler = (context: any) => async (request: ServiceQuestionsResult) => { +export const getAddAuthHandler = (context: any, skipNextSteps: boolean = false) => async (request: ServiceQuestionsResult) => { const serviceMetadata = getSupportedServices()[request.serviceName]; const { cfnFilename, defaultValuesFilename, provider } = serviceMetadata; diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts index 9b3f9a71bae..1db78ebc5c3 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts @@ -5,7 +5,7 @@ import { BannerMessage } from 'amplify-cli-core'; * A factory function that returns a function that prints the "success message" after adding auth * @param print The amplify print object */ -export const getPostAddAuthMessagePrinter = (print: any) => (resourceName: string, skipNextSteps: boolean = false) => { +export const getPostAddAuthMessagePrinter = (print: any, skipNextSteps: boolean = false) => (resourceName: string, skipNextSteps: boolean = false) => { print.success(`Successfully added auth resource ${resourceName} locally`); if (!skipNextSteps) { diff --git a/packages/amplify-graphql-transformer-core/src/graphql-api.ts b/packages/amplify-graphql-transformer-core/src/graphql-api.ts index 71d9fa52dc8..aca56014ebe 100644 --- a/packages/amplify-graphql-transformer-core/src/graphql-api.ts +++ b/packages/amplify-graphql-transformer-core/src/graphql-api.ts @@ -17,6 +17,7 @@ import { Grant, IGrantable, ManagedPolicy, Role, ServicePrincipal } from '@aws-c import { CfnResource, Construct, Duration, Stack } from '@aws-cdk/core'; import { TransformerSchema } from './cdk-compat/schema-asset'; import { DefaultTransformHost } from './transform-host'; +import * as cdk from '@aws-cdk/core'; export interface GraphqlApiProps { /** @@ -113,6 +114,7 @@ export class IamResource implements APIIAMResourceProvider { export type TransformerAPIProps = GraphqlApiProps & { readonly createApiKey?: boolean; readonly host?: TransformHostProvider; + readonly environmentName?: string; }; export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { /** @@ -161,10 +163,17 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { */ public readonly apiKey?: string; + /** + * the amplify environment name + * + * @default - no api key + */ + public readonly environmentName?: string; + private schemaResource: CfnGraphQLSchema; private api: CfnGraphQLApi; private apiKeyResource?: CfnApiKey; - private authorizationConfig?: Required; + private authorizationConfig?: Required; constructor(scope: Construct, id: string, props: TransformerAPIProps) { super(scope, id); @@ -178,7 +187,7 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { const modes = [defaultMode, ...additionalModes]; this.modes = modes.map(mode => mode.authorizationType); - + this.environmentName = props.environmentName; this.validateAuthorizationProps(modes); this.api = new CfnGraphQLApi(this, 'Resource', { @@ -187,6 +196,7 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { logConfig: this.setupLogConfig(props.logConfig), openIdConnectConfig: this.setupOpenIdConnectConfig(defaultMode.openIdConnectConfig), userPoolConfig: this.setupUserPoolConfig(defaultMode.userPoolConfig), + lambdaAuthorizerConfig: this.setupLambdaConfig(defaultMode.lambdaAuthorizerConfig), additionalAuthenticationProviders: this.setupAdditionalAuthorizationModes(additionalModes), xrayEnabled: props.xrayEnabled, }); @@ -329,7 +339,22 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { }; } - private setupAdditionalAuthorizationModes(modes?: AuthorizationMode[]) { + private setupLambdaConfig(config?: any) { + if (!config) return undefined; + return { + authorizerUri: this.lambdaArnKey(config.lambdaFunction), + authorizerResultTtlInSeconds: config.ttlSeconds, + identityValidationExpression: "", + }; + } + + private lambdaArnKey(name: string) { + return this.environmentName ? + `arn:${cdk.Aws.PARTITION}:lambda:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:function:${name}-${this.environmentName}` + : `arn:${cdk.Aws.PARTITION}:lambda:${cdk.Aws.REGION}:${cdk.Aws.ACCOUNT_ID}:function:${name}`; + } + + private setupAdditionalAuthorizationModes(modes?: Array) { if (!modes || modes.length === 0) return undefined; return modes.reduce( (acc, mode) => [ @@ -338,6 +363,7 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { authenticationType: mode.authorizationType, userPoolConfig: this.setupUserPoolConfig(mode.userPoolConfig), openIdConnectConfig: this.setupOpenIdConnectConfig(mode.openIdConnectConfig), + lambdaAuthorizerConfig: this.setupLambdaConfig(mode.lambdaAuthorizerConfig), }, ], [], diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts index 151d942f21d..ab626bb93df 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts @@ -247,7 +247,8 @@ export class GraphQLTransform { const api = new GraphQLApi(rootStack, 'GraphQLAPI', { name: `${apiName}-${envName.valueAsString}`, authorizationConfig, - host: this.options.host + host: this.options.host, + environmentName: envName.valueAsString, }); const authModes = [authorizationConfig.defaultAuthorization, ...(authorizationConfig.additionalAuthorizationModes || [])].map( mode => mode?.authorizationType, diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts b/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts index a4f7690d257..acbc9462fad 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transformer-config.ts @@ -31,7 +31,7 @@ export type AppSyncAuthConfigurationOIDCEntry = { export type AppSyncAuthConfigurationLambdaEntry = { authenticationType: 'AWS_LAMBDA'; - lambdaConnectConfig: LambdaConnectConfig; + lambdaAuthorizerConfig: LambdaAuthorizerConfig; }; export type ApiKeyConfig = { @@ -48,9 +48,9 @@ export type OpenIDConnectConfig = { iatTTL?: number; authTTL?: number; }; -export type LambdaConnectConfig = { +export type LambdaAuthorizerConfig = { lambdaFunction: string; - ttlSecond?: number; + ttlSeconds?: number; }; // Sync Config diff --git a/packages/amplify-graphql-transformer-core/src/utils/authType.ts b/packages/amplify-graphql-transformer-core/src/utils/authType.ts index 0b86390a0c9..41c71486703 100644 --- a/packages/amplify-graphql-transformer-core/src/utils/authType.ts +++ b/packages/amplify-graphql-transformer-core/src/utils/authType.ts @@ -4,12 +4,12 @@ import { Duration, Expiration } from '@aws-cdk/core'; import { AppSyncAuthConfiguration, AppSyncAuthConfigurationEntry, AppSyncAuthMode } from '../transformation'; import { StackManager } from '../transformer-context/stack-manager'; -const authTypeMap: Record = { +const authTypeMap: Record = { API_KEY: AuthorizationType.API_KEY, AMAZON_COGNITO_USER_POOLS: AuthorizationType.USER_POOL, AWS_IAM: AuthorizationType.IAM, OPENID_CONNECT: AuthorizationType.OIDC, - AWS_LAMBDA: AuthorizationType.API_KEY, + AWS_LAMBDA: "AWS_LAMBDA", }; export function adoptAuthModes(stack: StackManager, authConfig: AppSyncAuthConfiguration): AuthorizationConfig { return { @@ -18,7 +18,7 @@ export function adoptAuthModes(stack: StackManager, authConfig: AppSyncAuthConfi }; } -export function adoptAuthMode(stackManager: StackManager, entry: AppSyncAuthConfigurationEntry): AuthorizationMode { +export function adoptAuthMode(stackManager: StackManager, entry: AppSyncAuthConfigurationEntry): AuthorizationMode | any { const authType = authTypeMap[entry.authenticationType]; switch (entry.authenticationType) { case AuthorizationType.API_KEY: @@ -55,16 +55,12 @@ export function adoptAuthMode(stackManager: StackManager, entry: AppSyncAuthConf }, }; case 'AWS_LAMBDA': - // case AuthorizationType.AWS_LAMBDA: - // return { - // authorizationType: authType, - // lambdaConnectConfig: { - // lambdaFunction: entry.lambdaConnectConfig!.lambdaFunction, - // ttlSeconds: entry.lambdaConnectConfig!.ttlSeconds, - // }, - // }; return { authorizationType: authType, + lambdaAuthorizerConfig: { + lambdaFunction: entry.lambdaAuthorizerConfig!.lambdaFunction, + ttlSeconds: strToNumber(entry.lambdaAuthorizerConfig!.ttlSeconds), + }, }; default: throw new Error('Invalid auth config'); diff --git a/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts b/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts index f983c48197b..6f4b85236cd 100644 --- a/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts +++ b/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts @@ -94,6 +94,7 @@ export type AppSyncAuthConfigurationEntry = { apiKeyConfig?: ApiKeyConfig; userPoolConfig?: UserPoolConfig; openIDConnectConfig?: OpenIDConnectConfig; + lambdaAuthorizerConfig?: LambdaAuthorizerConfig; }; export type ApiKeyConfig = { description?: string; @@ -109,6 +110,10 @@ export type OpenIDConnectConfig = { iatTTL?: number; authTTL?: number; }; +export type LambdaAuthorizerConfig = { + lambdaFunction: string; + ttlSeconds?: number; +}; const validateAuthModes = (authConfig: AppSyncAuthConfiguration) => { let additionalAuthModes = []; diff --git a/packages/graphql-auth-transformer/src/resources.ts b/packages/graphql-auth-transformer/src/resources.ts index 425982f2964..c6ad8ddccad 100644 --- a/packages/graphql-auth-transformer/src/resources.ts +++ b/packages/graphql-auth-transformer/src/resources.ts @@ -201,16 +201,6 @@ export class ResourceFactory { OpenIDConnectConfig: this.assignOpenIDConnectConfig(sourceProvider.openIDConnectConfig), }; break; - case 'AWS_LAMBDA': - provider = { - AuthenticationType: 'API_KEY', - // AuthenticationType: 'AWS_LAMBDA', - // LambdaAuthorizerConfig: { - // AuthorizerUri: sourceProvider.lambdaAuthorizerConfig.lambdaFunction, - // AuthorizerResultTtlInSeconds: sourceProvider.lambdaAuthorizerConfig.ttlSeconds, - // }, - }; - break; } additionalAuthenticationProviders.push(provider); From 76aaaa7d8391349047ec0c049f42022a769f2b5a Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 22 Sep 2021 11:20:08 -0700 Subject: [PATCH 25/64] custom lambda authorizer function --- .../appSync-walkthrough.ts | 60 ++++++++++++++++--- 1 file changed, 53 insertions(+), 7 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 37fbb790ad1..d2eca891446 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -3,7 +3,7 @@ import { dataStoreLearnMore } from '../sync-conflict-handler-assets/syncAssets'; import inquirer from 'inquirer'; import fs from 'fs-extra'; import path from 'path'; -import { rootAssetDir } from '../aws-constants'; +import { rootAssetDir, provider } from '../aws-constants'; import { collectDirectivesByTypeNames, readProjectConfiguration } from 'graphql-transformer-core'; import { category } from '../../../category-constants'; import { UpdateApiRequest } from '../../../../../amplify-headless-interface/lib/interface/api/update'; @@ -11,6 +11,7 @@ import { authConfigToAppSyncAuthType } from '../utils/auth-config-to-app-sync-au import { resolverConfigToConflictResolution } from '../utils/resolver-config-to-conflict-resolution-bi-di-mapper'; import _ from 'lodash'; import chalk from 'chalk'; +import uuid from 'uuid'; import { getAppSyncAuthConfig, checkIfAuthExists, authConfigHasApiKey } from '../utils/amplify-meta-utils'; import { ResourceAlreadyExistsError, @@ -1087,11 +1088,12 @@ async function askLambdaSource(context, functionType) { } async function newLambdaFunction(context) { - const resourceName = await context.amplify.invokePluginMethod(context, 'function', undefined, 'add', [ - context, - 'awscloudformation', - FunctionServiceNameLambdaFunction, - ]); + // const resourceName = await context.amplify.invokePluginMethod(context, 'function', undefined, 'add', [ + // context, + // 'awscloudformation', + // FunctionServiceNameLambdaFunction, + // ]); + const resourceName = await createLambdaAuthorizerFunction(context); context.print.success('Succesfully added the Lambda function locally'); @@ -1116,4 +1118,48 @@ async function askLambdaFromProject(context) { }); return { lambdaFunction: answer.lambdaFunction }; -} \ No newline at end of file +} + +async function createLambdaAuthorizerFunction(context) { + const targetDir = context.amplify.pathManager.getBackendDirPath(); + const assetDir = path.normalize(path.join(rootAssetDir, 'sync-conflict-handler')); + const [shortId] = uuid().split('-'); + + const functionName = `graphQlLambdaAuthorizer${shortId}`; + + const functionProps = { + functionName: `${functionName}`, + roleName: `${functionName}LambdaRole`, + }; + + const copyJobs = [ + { + dir: assetDir, + template: 'sync-conflict-handler-index.js.ejs', + target: `${targetDir}/function/${functionName}/src/index.js`, + }, + { + dir: assetDir, + template: 'sync-conflict-handler-package.json.ejs', + target: `${targetDir}/function/${functionName}/src/package.json`, + }, + { + dir: assetDir, + template: 'sync-conflict-handler-template.json.ejs', + target: `${targetDir}/function/${functionName}/${functionName}-cloudformation-template.json`, + }, + ]; + + // copy over the files + await context.amplify.copyBatch(context, copyJobs, functionProps, true); + + const backendConfigs = { + service: FunctionServiceNameLambdaFunction, + providerPlugin: provider, + build: true, + }; + + await context.amplify.updateamplifyMetaAfterResourceAdd('function', functionName, backendConfigs); + + return functionName; +}; \ No newline at end of file From fe1558b4bf28cc7a2a1870efe945a7c435346b2e Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 22 Sep 2021 12:29:22 -0700 Subject: [PATCH 26/64] update lambda authorizer function code --- .../graphql-lambda-authorizer-index.js.ejs | 25 +++ ...graphql-lambda-authorizer-package.json.ejs | 6 + ...raphql-lambda-authorizer-template.json.ejs | 197 ++++++++++++++++++ .../appSync-walkthrough.ts | 11 +- 4 files changed, 234 insertions(+), 5 deletions(-) create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-index.js.ejs create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-package.json.ejs create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-index.js.ejs b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-index.js.ejs new file mode 100644 index 00000000000..20f0971452e --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-index.js.ejs @@ -0,0 +1,25 @@ +// This is sample code. Please update this to suite your schema + +exports.handler = async (event) => { + console.log(`event >`, JSON.stringify(event, null, 2)); + const { + authorizationToken, + requestContext: { apiId, accountId }, + } = event; + const response = { + isAuthorized: authorizationToken === 'custom-authorized', + resolverContext: { + userid: 'user-id', + info: 'contextual information A', + more_info: 'contextual information B', + }, + deniedFields: [ + `arn:aws:appsync:${process.env.AWS_REGION}:${accountId}:apis/${apiId}/types/Event/fields/comments`, + `Mutation.createEvent`, + ], + ttlOverride: 300, + }; + console.log(`response >`, JSON.stringify(response, null, 2)); + return response; +}; + diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-package.json.ejs b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-package.json.ejs new file mode 100644 index 00000000000..084c06bc3d0 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-package.json.ejs @@ -0,0 +1,6 @@ +{ + "name": "<%= props.functionName %>", + "version": "1.0.0", + "description": "Lambda function generated by Amplify for conflict handling", + "main": "index.js" +} diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs new file mode 100644 index 00000000000..f898077cbd3 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs @@ -0,0 +1,197 @@ +{ + "AWSTemplateFormatVersion": "2010-09-09", + "Description": "Lambda resource stack creation using Amplify CLI", + "Parameters": { + "env": { + "Type": "String" + }<%if (props.dependsOn && props.dependsOn.length > 0) { %>,<% } %> + <% if (props.dependsOn) { %> + <% for(var i=0; i < props.dependsOn.length; i++) { %> + <% for(var j=0; j < props.dependsOn[i].attributes.length; j++) { %> + "<%= props.dependsOn[i].category %><%= props.dependsOn[i].resourceName %><%= props.dependsOn[i].attributes[j] %>": { + "Type": "String", + "Default": "<%= props.dependsOn[i].category %><%= props.dependsOn[i].resourceName %><%= props.dependsOn[i].attributes[j] %>" + }<%if (i !== props.dependsOn.length - 1 || j !== props.dependsOn[i].attributes.length - 1) { %>,<% } %> + <% } %> + <% } %> + <% } %> + }, + "Conditions": { + "ShouldNotCreateEnvResources": { + "Fn::Equals": [ + { + "Ref": "env" + }, + "NONE" + ] + } + }, + "Resources": { + "LambdaFunction": { + "Type": "AWS::Lambda::Function", + "Metadata": { + "aws:asset:path": "./src", + "aws:asset:property": "Code" + }, + "Properties": { + "Handler": "index.handler", + "FunctionName": { + "Fn::If": [ + "ShouldNotCreateEnvResources", + "<%= props.functionName %>", + { + + "Fn::Join": [ + "", + [ + "<%= props.functionName %>", + "-", + { + "Ref": "env" + } + ] + ] + } + ] + }, + "Environment": { + "Variables" : { + "ENV": { + "Ref": "env" + }, + "REGION": { + "Ref": "AWS::Region" + } + <% if (props.resourceProperties && props.resourceProperties.length > 0) { %>,<%- props.resourceProperties%> <% } %> + } + }, + "Role": { "Fn::GetAtt" : ["LambdaExecutionRole", "Arn"] }, + "Runtime": "nodejs14.x", + "Timeout": 25 + } + }, + "LambdaExecutionRole": { + "Type": "AWS::IAM::Role", + "Properties": { + "RoleName": { + "Fn::If": [ + "ShouldNotCreateEnvResources", + "<%=props.roleName %>", + { + + "Fn::Join": [ + "", + [ + "<%=props.roleName %>", + "-", + { + "Ref": "env" + } + ] + ] + } + ] + }, + "AssumeRolePolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": [ + "lambda.amazonaws.com" + ] + }, + "Action": [ + "sts:AssumeRole" + ] + } + ] + } + } + } + ,"lambdaexecutionpolicy": { + "DependsOn": ["LambdaExecutionRole"], + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyName": "lambda-execution-policy", + "Roles": [{ "Ref": "LambdaExecutionRole" }], + "PolicyDocument": { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action":["logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents"], + "Resource": { "Fn::Sub" : [ "arn:aws:logs:${region}:${account}:log-group:/aws/lambda/${lambda}:log-stream:*", { "region": {"Ref": "AWS::Region"}, "account": {"Ref": "AWS::AccountId"}, "lambda": {"Ref": "LambdaFunction"}} ]} + }<% if (props.database && props.database.resourceName) { %>, + { + "Effect": "Allow", + "Action": ["dynamodb:GetItem","dynamodb:Query","dynamodb:Scan","dynamodb:PutItem","dynamodb:UpdateItem","dynamodb:DeleteItem"], + "Resource": [ + <% if (props.database && props.database.Arn) { %> + "<%= props.database.Arn %>", + { + "Fn::Join": [ + "/", + [ + "<%= props.database.Arn %>", + "index/*" + ] + ] + } + <% } else { %> + { "Ref": "storage<%= props.database.resourceName %>Arn" }, + { + "Fn::Join": [ + "/", + [ + { "Ref": "storage<%= props.database.resourceName %>Arn" }, + "index/*" + ] + ] + } + <% } %> + ] + } + <% } %> + ] + } + } + }<% if (props.categoryPolicies && props.categoryPolicies.length > 0 ) { %> + ,"AmplifyResourcesPolicy": { + "DependsOn": ["LambdaExecutionRole"], + "Type": "AWS::IAM::Policy", + "Properties": { + "PolicyName": "amplify-lambda-execution-policy", + "Roles": [{ "Ref": "LambdaExecutionRole" }], + "PolicyDocument": { + "Version": "2012-10-17", + "Statement": <%- JSON.stringify(props.categoryPolicies) %> + } + } + } + <% } %> + }, + "Outputs": { + "Name": { + "Value": { + "Ref": "LambdaFunction" + } + }, + "Arn": { + "Value": {"Fn::GetAtt": ["LambdaFunction", "Arn"]} + }, + "Region": { + "Value": { + "Ref": "AWS::Region" + } + }, + "LambdaExecutionRole": { + "Value": { + "Ref": "LambdaExecutionRole" + } + } + } +} diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index d2eca891446..de478675b0c 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -1095,7 +1095,7 @@ async function newLambdaFunction(context) { // ]); const resourceName = await createLambdaAuthorizerFunction(context); - context.print.success('Succesfully added the Lambda function locally'); + // context.print.success('Succesfully added the Lambda function locally'); return { lambdaFunction: resourceName }; } @@ -1122,7 +1122,7 @@ async function askLambdaFromProject(context) { async function createLambdaAuthorizerFunction(context) { const targetDir = context.amplify.pathManager.getBackendDirPath(); - const assetDir = path.normalize(path.join(rootAssetDir, 'sync-conflict-handler')); + const assetDir = path.normalize(path.join(rootAssetDir, 'graphql-lambda-authorizer')); const [shortId] = uuid().split('-'); const functionName = `graphQlLambdaAuthorizer${shortId}`; @@ -1135,17 +1135,17 @@ async function createLambdaAuthorizerFunction(context) { const copyJobs = [ { dir: assetDir, - template: 'sync-conflict-handler-index.js.ejs', + template: 'graphql-lambda-authorizer-index.js.ejs', target: `${targetDir}/function/${functionName}/src/index.js`, }, { dir: assetDir, - template: 'sync-conflict-handler-package.json.ejs', + template: 'graphql-lambda-authorizer-package.json.ejs', target: `${targetDir}/function/${functionName}/src/package.json`, }, { dir: assetDir, - template: 'sync-conflict-handler-template.json.ejs', + template: 'graphql-lambda-authorizer-template.json.ejs', target: `${targetDir}/function/${functionName}/${functionName}-cloudformation-template.json`, }, ]; @@ -1160,6 +1160,7 @@ async function createLambdaAuthorizerFunction(context) { }; await context.amplify.updateamplifyMetaAfterResourceAdd('function', functionName, backendConfigs); + context.print.success(`Successfully added ${functionName} function locally`); return functionName; }; \ No newline at end of file From 02af6b582367b584ad755c889fb04722af355368 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 10:30:58 -0700 Subject: [PATCH 27/64] feat(cli-api): improve add and update api --- .../cloudformation.schema.json | 113079 ++++++++++++++ .../sam.schema.json | 115746 +++++++++++++++ .../graphql-schemas/blank-schema.graphql | 0 .../cfn-api-artifact-handler.ts | 31 +- .../appSync-walkthrough.ts | 495 +- .../amplify-e2e-core/src/categories/api.ts | 150 +- .../src/__tests__/api_1.test.ts | 41 +- .../src/__tests__/api_2.test.ts | 65 +- .../src/__tests__/api_3.test.ts | 7 +- .../src/__tests__/api_4.test.ts | 6 +- .../src/__tests__/feature-flags.test.ts | 6 +- .../src/__tests__/function_1.test.ts | 9 +- .../src/__tests__/function_2.test.ts | 38 +- .../src/__tests__/function_5.test.ts | 10 +- .../api.connection.migration.test.ts | 14 +- .../migration/api.key.migration1.test.ts | 14 +- .../migration/api.key.migration2.test.ts | 26 +- .../src/__tests__/pull.test.ts | 11 +- .../schema-iterative-rollback-1.test.ts | 11 +- .../schema-iterative-rollback-2.test.ts | 11 +- .../schema-iterative-update-1.test.ts | 11 +- .../schema-iterative-update-3.test.ts | 9 +- .../schema-iterative-update-4.test.ts | 9 +- .../schema-iterative-update-locking.test.ts | 6 +- .../schema-api-directives/tests/key-howTo4.ts | 7 +- .../api.key.migration.test.ts | 8 +- .../api.searchable.migration.test.ts | 5 +- .../update_tests/api_migration_update.test.ts | 13 +- .../function_migration_update.test.ts | 10 +- .../src/collectDirectives.ts | 1 + 30 files changed, 229460 insertions(+), 389 deletions(-) create mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json create mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/blank-schema.graphql diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json new file mode 100644 index 00000000000..136501c9e4c --- /dev/null +++ b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json @@ -0,0 +1,113079 @@ +{ + "$id": "http://json-schema.org/draft-04/schema#", + "additionalProperties": false, + "definitions": { + "AWS::ACMPCA::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "SigningAlgorithm": { + "type": "string" + }, + "TemplateArn": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + } + }, + "required": [ + "CertificateAuthorityArn", + "CertificateSigningRequest", + "SigningAlgorithm", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + }, + "ExtendedKeyUsage": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Validity": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "KeyAlgorithm", + "SigningAlgorithm", + "Subject", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthority" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "number" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthorityActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Certificate", + "CertificateAuthorityArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthorityActivation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalyzerName": { + "type": "string" + }, + "ArchiveRules": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AccessAnalyzer::Analyzer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { + "additionalProperties": false, + "properties": { + "Filter": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" + }, + "type": "array" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "Filter", + "RuleName" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.Filter": { + "additionalProperties": false, + "properties": { + "Contains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Exists": { + "type": "boolean" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "BrokerName": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" + }, + "DeploymentMode": { + "type": "string" + }, + "EncryptionOptions": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "HostInstanceType": { + "type": "string" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, + "Logs": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" + }, + "MaintenanceWindowStartTime": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + }, + "type": "array" + }, + "Users": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + }, + "type": "array" + } + }, + "required": [ + "AutoMinorVersionUpgrade", + "BrokerName", + "DeploymentMode", + "EngineType", + "EngineVersion", + "HostInstanceType", + "PubliclyAccessible", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Broker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.EncryptionOptions": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "UseAwsOwnedKey": { + "type": "boolean" + } + }, + "required": [ + "UseAwsOwnedKey" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LogList": { + "additionalProperties": false, + "properties": { + "Audit": { + "type": "boolean" + }, + "General": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "type": "string" + }, + "TimeOfDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "DayOfWeek", + "TimeOfDay", + "TimeZone" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.User": { + "additionalProperties": false, + "properties": { + "ConsoleAccess": { + "type": "boolean" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Data", + "EngineType", + "EngineVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Configuration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" + } + }, + "required": [ + "Broker", + "Configuration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::ConfigurationAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::Amplify::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "AutoBranchCreationConfig": { + "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "CustomHeaders": { + "type": "string" + }, + "CustomRules": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "IAMServiceRole": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OauthToken": { + "type": "string" + }, + "Repository": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::App.AutoBranchCreationConfig": { + "additionalProperties": false, + "properties": { + "AutoBranchCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "EnableAutoBranchCreation": { + "type": "boolean" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.CustomRule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Source", + "Target" + ], + "type": "object" + }, + "AWS::Amplify::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Branch": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" + }, + "BranchName": { + "type": "string" + }, + "BuildSpec": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "BranchName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Branch" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Branch.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::Amplify::Branch.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EnableAutoSubDomain": { + "type": "boolean" + }, + "SubDomainSettings": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "DomainName", + "SubDomainSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Domain.SubDomainSetting": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BranchName", + "Prefix" + ], + "type": "object" + }, + "AWS::ApiGateway::Account": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "GenerateDistinctId": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "StageKeys": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey.StageKey": { + "additionalProperties": false, + "properties": { + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "AuthorizerCredentials": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerUri": { + "type": "string" + }, + "IdentitySource": { + "type": "string" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "RestApiId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::BasePathMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::BasePathMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::ClientCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ClientCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentCanarySettings": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" + }, + "Description": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StageDescription": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.CanarySetting": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.StageDescription": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" + }, + "type": "array" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" + }, + "Properties": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Location", + "Properties", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationPart" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart.Location": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "DocumentationVersion", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::GatewayResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseType": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "ResponseType", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::GatewayResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" + }, + "MethodResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" + }, + "type": "array" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "RequestValidatorId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "HttpMethod", + "ResourceId", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Method" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.Integration": { + "additionalProperties": false, + "properties": { + "CacheKeyParameters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheNamespace": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandling": { + "type": "string" + }, + "Credentials": { + "type": "string" + }, + "IntegrationHttpMethod": { + "type": "string" + }, + "IntegrationResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" + }, + "type": "array" + }, + "PassthroughBehavior": { + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutInMillis": { + "type": "number" + }, + "Type": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Method.IntegrationResponse": { + "additionalProperties": false, + "properties": { + "ContentHandling": { + "type": "string" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SelectionPattern": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.MethodResponse": { + "additionalProperties": false, + "properties": { + "ResponseModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RequestValidator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "ValidateRequestBody": { + "type": "boolean" + }, + "ValidateRequestParameters": { + "type": "boolean" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::RequestValidator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ParentId": { + "type": "string" + }, + "PathPart": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "ParentId", + "PathPart", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RestApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySourceType": { + "type": "string" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" + }, + "CloneFrom": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Stage.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.CanarySetting": { + "additionalProperties": false, + "properties": { + "DeploymentId": { + "type": "string" + }, + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiStages": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Quota": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throttle": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + }, + "UsagePlanName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ApiStage": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Throttle": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.QuotaSettings": { + "additionalProperties": false, + "properties": { + "Limit": { + "type": "number" + }, + "Offset": { + "type": "number" + }, + "Period": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ThrottleSettings": { + "additionalProperties": false, + "properties": { + "BurstLimit": { + "type": "number" + }, + "RateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlanKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "UsagePlanId": { + "type": "string" + } + }, + "required": [ + "KeyId", + "KeyType", + "UsagePlanId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlanKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TargetArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySelectionExpression": { + "type": "string" + }, + "BasePath": { + "type": "string" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "DisableSchemaValidation": { + "type": "boolean" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "ProtocolType": { + "type": "string" + }, + "RouteKey": { + "type": "string" + }, + "RouteSelectionExpression": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Target": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Api" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api.BodyS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Etag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Api.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiMappingKey": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "ApiId", + "DomainName", + "Stage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "AuthorizerCredentialsArn": { + "type": "string" + }, + "AuthorizerPayloadFormatVersion": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerType": { + "type": "string" + }, + "AuthorizerUri": { + "type": "string" + }, + "EnableSimpleResponses": { + "type": "boolean" + }, + "IdentitySource": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "JwtConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ApiId", + "AuthorizerType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { + "additionalProperties": false, + "properties": { + "Audience": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Issuer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" + }, + "type": "array" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "IntegrationSubtype": { + "type": "string" + }, + "IntegrationType": { + "type": "string" + }, + "IntegrationUri": { + "type": "string" + }, + "PassthroughBehavior": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "RequestParameters": { + "type": "object" + }, + "RequestTemplates": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" + } + }, + "required": [ + "ApiId", + "IntegrationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameter": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "Destination", + "Source" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "ResponseModels": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "RouteId": { + "type": "string" + }, + "RouteResponseKey": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteId", + "RouteResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::RouteResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" + }, + "AccessPolicyId": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AutoDeploy": { + "type": "boolean" + }, + "ClientCertificateId": { + "type": "string" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApiId", + "StageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Application.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RetrievalRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" + }, + "type": "array" + }, + "Validators": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "LocationUri", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ConfigurationProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Validators": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "ConfigurationVersion": { + "type": "string" + }, + "DeploymentStrategyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion", + "DeploymentStrategyId", + "EnvironmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Deployment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentDurationInMinutes": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "FinalBakeTimeInMinutes": { + "type": "number" + }, + "GrowthFactor": { + "type": "number" + }, + "GrowthType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicateTo": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" + }, + "type": "array" + } + }, + "required": [ + "DeploymentDurationInMinutes", + "GrowthFactor", + "Name", + "ReplicateTo" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::DeploymentStrategy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Monitors": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Environment.Monitors": { + "additionalProperties": false, + "properties": { + "AlarmArn": { + "type": "string" + }, + "AlarmRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionMode": { + "type": "string" + }, + "ConnectorProfileConfig": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" + }, + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "KMSArn": { + "type": "string" + } + }, + "required": [ + "ConnectionMode", + "ConnectorProfileName", + "ConnectorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::ConnectorProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "SecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { + "additionalProperties": false, + "properties": { + "AuthCode": { + "type": "string" + }, + "RedirectUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" + }, + "ConnectorProfileProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" + } + }, + "required": [ + "ConnectorProfileCredentials" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiToken": { + "type": "string" + } + }, + "required": [ + "ApiToken" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessKeyId": { + "type": "string" + }, + "Datakey": { + "type": "string" + }, + "SecretAccessKey": { + "type": "string" + }, + "UserId": { + "type": "string" + } + }, + "required": [ + "AccessKeyId", + "Datakey", + "SecretAccessKey", + "UserId" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "DatabaseUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "DatabaseUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientCredentialsArn": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + }, + "isSandboxEnvironment": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "PrivateLinkServiceName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Stage", + "Warehouse" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiSecretKey": { + "type": "string" + } + }, + "required": [ + "ApiSecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationFlowConfigList": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" + }, + "type": "array" + }, + "FlowName": { + "type": "string" + }, + "KMSArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" + } + }, + "required": [ + "DestinationFlowConfigList", + "FlowName", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.AggregationConfig": { + "additionalProperties": false, + "properties": { + "AggregationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.AmplitudeSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "type": "string" + }, + "Datadog": { + "type": "string" + }, + "Dynatrace": { + "type": "string" + }, + "GoogleAnalytics": { + "type": "string" + }, + "InforNexus": { + "type": "string" + }, + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Singular": { + "type": "string" + }, + "Slack": { + "type": "string" + }, + "Trendmicro": { + "type": "string" + }, + "Veeva": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DatadogSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationConnectorProperties": { + "additionalProperties": false, + "properties": { + "EventBridge": { + "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" + }, + "LookoutMetrics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "DestinationConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "DestinationConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DynatraceSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ErrorHandlingConfig": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "FailOnFirstError": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.InforNexusSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.PrefixConfig": { + "additionalProperties": false, + "properties": { + "PrefixFormat": { + "type": "string" + }, + "PrefixType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.RedshiftDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3DestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketPrefix" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleStartTime": { + "type": "number" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SingularSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SlackSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TaskPropertiesObject": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TrendmicroSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.VeevaSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBridgeBus": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventBridgeBus", + "EventFilter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::EventIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventFilter": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { + "additionalProperties": false, + "properties": { + "ClientAssociationMetadata": { + "items": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" + }, + "type": "array" + }, + "ClientId": { + "type": "string" + }, + "EventBridgeRuleName": { + "type": "string" + }, + "EventIntegrationAssociationArn": { + "type": "string" + }, + "EventIntegrationAssociationId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.Metadata": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.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" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Mesh" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.EgressFilter": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.MeshSpec": { + "additionalProperties": false, + "properties": { + "EgressFilter": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "RouteName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualRouterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::Route.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRetryPolicy": { + "additionalProperties": false, + "properties": { + "GrpcRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HttpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxRetries": { + "type": "number" + }, + "PerRetryTimeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "TcpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxRetries", + "PerRetryTimeout" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMatch": { + "additionalProperties": false, + "properties": { + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" + }, + "type": "array" + }, + "MethodName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HeaderMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.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" + }, + "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" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.WeightedTarget": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "VirtualNode", + "Weight" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "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": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Listener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" + }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Logging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ServiceDiscovery": { + "additionalProperties": false, + "properties": { + "AWSCloudMap": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" + }, + "DNS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, + "Backends": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" + }, + "ServiceDiscovery": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualRouter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { + "additionalProperties": false, + "properties": { + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { + "additionalProperties": false, + "properties": { + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "VirtualNodeName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "VirtualRouterName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" + }, + "VirtualRouter": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceSpec": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, + "AWS::AppStream::DirectoryConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceAccountCredentials": { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" + } + }, + "required": [ + "DirectoryName", + "OrganizationalUnitDistinguishedNames", + "ServiceAccountCredentials" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::DirectoryConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "AccountPassword": { + "type": "string" + } + }, + "required": [ + "AccountName", + "AccountPassword" + ], + "type": "object" + }, + "AWS::AppStream::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeCapacity": { + "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" + }, + "Description": { + "type": "string" + }, + "DisconnectTimeoutInSeconds": { + "type": "number" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "FleetType": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "IdleDisconnectTimeoutInSeconds": { + "type": "number" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxUserDurationInSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "StreamView": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" + } + }, + "required": [ + "ComputeCapacity", + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.ComputeCapacity": { + "additionalProperties": false, + "properties": { + "DesiredInstances": { + "type": "number" + } + }, + "required": [ + "DesiredInstances" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::Fleet.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" + }, + "type": "array" + }, + "AppstreamAgentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "IamRoleArn": { + "type": "string" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" + } + }, + "required": [ + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::ImageBuilder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" + }, + "type": "array" + }, + "ApplicationSettings": { + "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" + }, + "AttributesToDelete": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeleteStorageConnectors": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "EmbedHostDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FeedbackURL": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RedirectURL": { + "type": "string" + }, + "StorageConnectors": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserSettings": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppStream::Stack.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::Stack.ApplicationSettings": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "SettingsGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::AppStream::Stack.StorageConnector": { + "additionalProperties": false, + "properties": { + "ConnectorType": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdentifier": { + "type": "string" + } + }, + "required": [ + "ConnectorType" + ], + "type": "object" + }, + "AWS::AppStream::Stack.UserSetting": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "Action", + "Permission" + ], + "type": "object" + }, + "AWS::AppStream::StackFleetAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FleetName": { + "type": "string" + }, + "StackName": { + "type": "string" + } + }, + "required": [ + "FleetName", + "StackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackFleetAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::StackUserAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "SendEmailNotification": { + "type": "boolean" + }, + "StackName": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "StackName", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackUserAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "FirstName": { + "type": "string" + }, + "LastName": { + "type": "string" + }, + "MessageAction": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiCache": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiCachingBehavior": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "Ttl": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiCachingBehavior", + "ApiId", + "Ttl", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiCache" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Expires": { + "type": "number" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DynamoDBConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" + }, + "ElasticsearchConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" + }, + "HttpConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" + }, + "Name": { + "type": "string" + }, + "RelationalDatabaseConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationType": { + "type": "string" + }, + "AwsIamConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" + } + }, + "required": [ + "AuthorizationType" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AwsIamConfig": { + "additionalProperties": false, + "properties": { + "SigningRegion": { + "type": "string" + }, + "SigningServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::DataSource.DeltaSyncConfig": { + "additionalProperties": false, + "properties": { + "BaseTableTTL": { + "type": "string" + }, + "DeltaSyncTableName": { + "type": "string" + }, + "DeltaSyncTableTTL": { + "type": "string" + } + }, + "required": [ + "BaseTableTTL", + "DeltaSyncTableName", + "DeltaSyncTableTTL" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.DynamoDBConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "DeltaSyncConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" + }, + "TableName": { + "type": "string" + }, + "UseCallerCredentials": { + "type": "boolean" + }, + "Versioned": { + "type": "boolean" + } + }, + "required": [ + "AwsRegion", + "TableName" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.ElasticsearchConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.HttpConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.LambdaConfig": { + "additionalProperties": false, + "properties": { + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "AwsSecretStoreArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DbClusterIdentifier": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "AwsSecretStoreArn", + "DbClusterIdentifier" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RelationalDatabaseConfig": { + "additionalProperties": false, + "properties": { + "RdsHttpEndpointConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" + }, + "RelationalDatabaseSourceType": { + "type": "string" + } + }, + "required": [ + "RelationalDatabaseSourceType" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "DataSourceName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" + } + }, + "required": [ + "ApiId", + "DataSourceName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::FunctionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalAuthenticationProviders": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" + }, + "AuthenticationType": { + "type": "string" + }, + "LambdaAuthorizerConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" + }, + "LogConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" + }, + "Name": { + "type": "string" + }, + "OpenIDConnectConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" + }, + "Tags": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" + }, + "UserPoolConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" + }, + "XrayEnabled": { + "type": "boolean" + } + }, + "required": [ + "AuthenticationType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "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.AdditionalAuthenticationProviders": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.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.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.UserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "DefaultAction": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLSchema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Definition": { + "type": "string" + }, + "DefinitionS3Location": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLSchema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "CachingConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" + }, + "DataSourceName": { + "type": "string" + }, + "FieldName": { + "type": "string" + }, + "Kind": { + "type": "string" + }, + "PipelineConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "ApiId", + "FieldName", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::Resolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver.CachingConfig": { + "additionalProperties": false, + "properties": { + "CachingKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ttl": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.PipelineConfig": { + "additionalProperties": false, + "properties": { + "Functions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScheduledActions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" + }, + "type": "array" + }, + "ServiceNamespace": { + "type": "string" + }, + "SuspendedState": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "RoleARN", + "ScalableDimension", + "ServiceNamespace" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalableTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "ScalableTargetAction": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" + }, + "Schedule": { + "type": "string" + }, + "ScheduledActionName": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingTargetId": { + "type": "string" + }, + "ServiceNamespace": { + "type": "string" + }, + "StepScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "Cooldown": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::NamedQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "WorkGroup": { + "type": "string" + } + }, + "required": [ + "Database", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::NamedQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::PreparedStatement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CapacityRebalance": { + "type": "boolean" + }, + "Context": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "DesiredCapacity": { + "type": "string" + }, + "HealthCheckGracePeriod": { + "type": "number" + }, + "HealthCheckType": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "LifecycleHookSpecificationList": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" + }, + "type": "array" + }, + "LoadBalancerNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxInstanceLifetime": { + "type": "number" + }, + "MaxSize": { + "type": "string" + }, + "MetricsCollection": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" + }, + "type": "array" + }, + "MinSize": { + "type": "string" + }, + "MixedInstancesPolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" + }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, + "NotificationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" + }, + "type": "array" + }, + "PlacementGroup": { + "type": "string" + }, + "ServiceLinkedRoleARN": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" + }, + "type": "array" + }, + "TargetGroupARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TerminationPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VPCZoneIdentifier": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::AutoScalingGroup" + ], + "type": "string" + }, + "UpdatePolicy": { + "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { + "additionalProperties": false, + "properties": { + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandBaseCapacity": { + "type": "number" + }, + "OnDemandPercentageAboveBaseCapacity": { + "type": "number" + }, + "SpotAllocationStrategy": { + "type": "string" + }, + "SpotInstancePools": { + "type": "number" + }, + "SpotMaxPrice": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "required": [ + "LaunchTemplateSpecification" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { + "additionalProperties": false, + "properties": { + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { + "additionalProperties": false, + "properties": { + "Granularity": { + "type": "string" + }, + "Metrics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Granularity" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { + "additionalProperties": false, + "properties": { + "InstancesDistribution": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" + } + }, + "required": [ + "LaunchTemplate" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TopicARN": { + "type": "string" + } + }, + "required": [ + "TopicARN" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.TagProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "PropagateAtLaunch": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "PropagateAtLaunch", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" + }, + "type": "array" + }, + "ClassicLinkVPCId": { + "type": "string" + }, + "ClassicLinkVPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "InstanceMonitoring": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" + }, + "PlacementTenancy": { + "type": "string" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "UserData": { + "type": "string" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LaunchConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName", + "LifecycleTransition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LifecycleHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "AutoScalingGroupName": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "PolicyType": { + "type": "string" + }, + "ScalingAdjustment": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::AutoScaling::ScheduledAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DesiredCapacity": { + "type": "number" + }, + "EndTime": { + "type": "string" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "Recurrence": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "MaxGroupPreparedCapacity": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "PoolState": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::WarmPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationSource": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" + }, + "ScalingInstructions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSource", + "ScalingInstructions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScalingPlans::ScalingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { + "additionalProperties": false, + "properties": { + "CloudFormationStackARN": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedLoadMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedLoadMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedScalingMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedScalingMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { + "additionalProperties": false, + "properties": { + "CustomizedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" + }, + "DisableDynamicScaling": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "PredefinedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" + }, + "PredictiveScalingMaxCapacityBehavior": { + "type": "string" + }, + "PredictiveScalingMaxCapacityBuffer": { + "type": "number" + }, + "PredictiveScalingMode": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingPolicyUpdateBehavior": { + "type": "string" + }, + "ScheduledActionBufferTime": { + "type": "number" + }, + "ServiceNamespace": { + "type": "string" + }, + "TargetTrackingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "ScalableDimension", + "ServiceNamespace", + "TargetTrackingConfigurations" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "PredefinedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlan": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" + }, + "BackupPlanTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "BackupPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { + "additionalProperties": false, + "properties": { + "BackupOptions": { + "type": "object" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "BackupOptions", + "ResourceType" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupPlanResourceType": { + "additionalProperties": false, + "properties": { + "AdvancedBackupSettings": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" + }, + "type": "array" + }, + "BackupPlanName": { + "type": "string" + }, + "BackupPlanRule": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" + }, + "type": "array" + } + }, + "required": [ + "BackupPlanName", + "BackupPlanRule" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupRuleResourceType": { + "additionalProperties": false, + "properties": { + "CompletionWindowMinutes": { + "type": "number" + }, + "CopyActions": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" + }, + "type": "array" + }, + "EnableContinuousBackup": { + "type": "boolean" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + }, + "RecoveryPointTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RuleName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "StartWindowMinutes": { + "type": "number" + }, + "TargetBackupVault": { + "type": "string" + } + }, + "required": [ + "RuleName", + "TargetBackupVault" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.CopyActionResourceType": { + "additionalProperties": false, + "properties": { + "DestinationBackupVaultArn": { + "type": "string" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + } + }, + "required": [ + "DestinationBackupVaultArn" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.LifecycleResourceType": { + "additionalProperties": false, + "properties": { + "DeleteAfterDays": { + "type": "number" + }, + "MoveToColdStorageAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Backup::BackupSelection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlanId": { + "type": "string" + }, + "BackupSelection": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" + } + }, + "required": [ + "BackupPlanId", + "BackupSelection" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.BackupSelectionResourceType": { + "additionalProperties": false, + "properties": { + "IamRoleArn": { + "type": "string" + }, + "ListOfTags": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" + }, + "type": "array" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionName": { + "type": "string" + } + }, + "required": [ + "IamRoleArn", + "SelectionName" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.ConditionResourceType": { + "additionalProperties": false, + "properties": { + "ConditionKey": { + "type": "string" + }, + "ConditionType": { + "type": "string" + }, + "ConditionValue": { + "type": "string" + } + }, + "required": [ + "ConditionKey", + "ConditionType", + "ConditionValue" + ], + "type": "object" + }, + "AWS::Backup::BackupVault": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicy": { + "type": "object" + }, + "BackupVaultName": { + "type": "string" + }, + "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "Notifications": { + "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" + } + }, + "required": [ + "BackupVaultName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupVault" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupVault.NotificationObjectType": { + "additionalProperties": false, + "properties": { + "BackupVaultEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SNSTopicArn": { + "type": "string" + } + }, + "required": [ + "BackupVaultEvents", + "SNSTopicArn" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentName": { + "type": "string" + }, + "ComputeResources": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" + }, + "ServiceRole": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::ComputeEnvironment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.ComputeResources": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BidPercentage": { + "type": "number" + }, + "DesiredvCpus": { + "type": "number" + }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, + "Ec2KeyPair": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" + }, + "MaxvCpus": { + "type": "number" + }, + "MinvCpus": { + "type": "number" + }, + "PlacementGroup": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotIamFleetRole": { + "type": "string" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "MaxvCpus", + "Subnets", + "Type" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "JobDefinitionName": { + "type": "string" + }, + "NodeProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" + }, + "Parameters": { + "type": "object" + }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.ContainerProperties": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" + }, + "type": "array" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, + "Image": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "Vcpus": { + "type": "number" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" + }, + "type": "array" + } + }, + "required": [ + "Image" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" + }, + "FileSystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Environment": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.MountPoints": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeProperties": { + "additionalProperties": false, + "properties": { + "MainNode": { + "type": "number" + }, + "NodeRangeProperties": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" + }, + "type": "array" + }, + "NumNodes": { + "type": "number" + } + }, + "required": [ + "MainNode", + "NodeRangeProperties", + "NumNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeRangeProperty": { + "additionalProperties": false, + "properties": { + "Container": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "TargetNodes": { + "type": "string" + } + }, + "required": [ + "TargetNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.RetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Timeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "ContainerPath", + "Size" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Volumes": { + "additionalProperties": false, + "properties": { + "EfsVolumeConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.VolumesHost": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentOrder": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" + }, + "type": "array" + }, + "JobQueueName": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ComputeEnvironmentOrder", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { + "additionalProperties": false, + "properties": { + "ComputeEnvironment": { + "type": "string" + }, + "Order": { + "type": "number" + } + }, + "required": [ + "ComputeEnvironment", + "Order" + ], + "type": "object" + }, + "AWS::Budgets::Budget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Budget": { + "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" + }, + "NotificationsWithSubscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" + }, + "type": "array" + } + }, + "required": [ + "Budget" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::Budget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::Budget.BudgetData": { + "additionalProperties": false, + "properties": { + "BudgetLimit": { + "$ref": "#/definitions/AWS::Budgets::Budget.Spend" + }, + "BudgetName": { + "type": "string" + }, + "BudgetType": { + "type": "string" + }, + "CostFilters": { + "type": "object" + }, + "CostTypes": { + "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" + }, + "PlannedBudgetLimits": { + "type": "object" + }, + "TimePeriod": { + "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "BudgetType", + "TimeUnit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.CostTypes": { + "additionalProperties": false, + "properties": { + "IncludeCredit": { + "type": "boolean" + }, + "IncludeDiscount": { + "type": "boolean" + }, + "IncludeOtherSubscription": { + "type": "boolean" + }, + "IncludeRecurring": { + "type": "boolean" + }, + "IncludeRefund": { + "type": "boolean" + }, + "IncludeSubscription": { + "type": "boolean" + }, + "IncludeSupport": { + "type": "boolean" + }, + "IncludeTax": { + "type": "boolean" + }, + "IncludeUpfront": { + "type": "boolean" + }, + "UseAmortized": { + "type": "boolean" + }, + "UseBlended": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Budgets::Budget.Notification": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdType": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "NotificationType", + "Threshold" + ], + "type": "object" + }, + "AWS::Budgets::Budget.NotificationWithSubscribers": { + "additionalProperties": false, + "properties": { + "Notification": { + "$ref": "#/definitions/AWS::Budgets::Budget.Notification" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "Notification", + "Subscribers" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Spend": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Amount", + "Unit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "SubscriptionType": { + "type": "string" + } + }, + "required": [ + "Address", + "SubscriptionType" + ], + "type": "object" + }, + "AWS::Budgets::Budget.TimePeriod": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionThreshold": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" + }, + "ActionType": { + "type": "string" + }, + "ApprovalModel": { + "type": "string" + }, + "BudgetName": { + "type": "string" + }, + "Definition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "ActionThreshold", + "ActionType", + "BudgetName", + "Definition", + "ExecutionRoleArn", + "NotificationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::BudgetsAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ActionThreshold": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Definition": { + "additionalProperties": false, + "properties": { + "IamActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" + }, + "ScpActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" + }, + "SsmActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction.IamActionDefinition": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyArn": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyArn" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ScpActionDefinition": { + "additionalProperties": false, + "properties": { + "PolicyId": { + "type": "string" + }, + "TargetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyId", + "TargetIds" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.SsmActionDefinition": { + "additionalProperties": false, + "properties": { + "InstanceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "Subtype": { + "type": "string" + } + }, + "required": [ + "InstanceIds", + "Region", + "Subtype" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::AnomalyMonitor": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MonitorDimension": { + "type": "string" + }, + "MonitorName": { + "type": "string" + }, + "MonitorSpecification": { + "type": "string" + }, + "MonitorType": { + "type": "string" + } + }, + "required": [ + "MonitorName", + "MonitorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalyMonitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Frequency": { + "type": "string" + }, + "MonitorArnList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" + }, + "type": "array" + }, + "SubscriptionName": { + "type": "string" + }, + "Threshold": { + "type": "number" + } + }, + "required": [ + "Frequency", + "MonitorArnList", + "Subscribers", + "SubscriptionName", + "Threshold" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalySubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::CostCategory": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleVersion", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CUR::ReportDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Keyspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cassandra::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExpiryEventsConfiguration": { + "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" + } + }, + "required": [ + "ExpiryEventsConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { + "additionalProperties": false, + "properties": { + "DaysBeforeExpiry": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ServiceToken": { + "type": "string" + } + }, + "required": [ + "ServiceToken" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::CustomResource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::Macro": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Macro" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ModuleName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateURL": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdministrationRoleARN": { + "type": "string" + }, + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" + }, + "CallAs": { + "type": "string" + }, + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "ExecutionRoleName": { + "type": "string" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "PermissionModel": { + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "type": "array" + }, + "StackSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + } + }, + "required": [ + "PermissionModel", + "StackSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::StackSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.AutoDeployment": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "Accounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "FailureToleranceCount": { + "type": "number" + }, + "FailureTolerancePercentage": { + "type": "number" + }, + "MaxConcurrentCount": { + "type": "number" + }, + "MaxConcurrentPercentage": { + "type": "number" + }, + "RegionConcurrencyType": { + "type": "string" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterKey": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterKey", + "ParameterValue" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::TypeActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Handle": { + "type": "string" + }, + "Timeout": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitCondition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::WaitConditionHandle": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitConditionHandle" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CachePolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" + } + }, + "required": [ + "CachePolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CachePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "ParametersInCacheKeyAndForwardedToOrigin": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" + } + }, + "required": [ + "DefaultTTL", + "MaxTTL", + "MinTTL", + "Name", + "ParametersInCacheKeyAndForwardedToOrigin" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { + "additionalProperties": false, + "properties": { + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" + }, + "EnableAcceptEncodingBrotli": { + "type": "boolean" + }, + "EnableAcceptEncodingGzip": { + "type": "boolean" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "EnableAcceptEncodingGzip", + "HeadersConfig", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudFrontOriginAccessIdentityConfig": { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" + } + }, + "required": [ + "CloudFrontOriginAccessIdentityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CloudFrontOriginAccessIdentity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "required": [ + "Comment" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DistributionConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "PathPattern": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "PathPattern", + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Cookies": { + "additionalProperties": false, + "properties": { + "Forward": { + "type": "string" + }, + "WhitelistedNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Forward" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomErrorResponse": { + "additionalProperties": false, + "properties": { + "ErrorCachingMinTTL": { + "type": "number" + }, + "ErrorCode": { + "type": "number" + }, + "ResponseCode": { + "type": "number" + }, + "ResponsePagePath": { + "type": "string" + } + }, + "required": [ + "ErrorCode" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomOriginConfig": { + "additionalProperties": false, + "properties": { + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginKeepaliveTimeout": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginReadTimeout": { + "type": "number" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OriginProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DefaultCacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CNAMEs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "CustomErrorResponses": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + }, + "type": "array" + }, + "CustomOrigin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" + }, + "DefaultRootObject": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "HttpVersion": { + "type": "string" + }, + "IPV6Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" + }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, + "Origins": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + }, + "type": "array" + }, + "PriceClass": { + "type": "string" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" + }, + "ViewerCertificate": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ForwardedValues": { + "additionalProperties": false, + "properties": { + "Cookies": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryString": { + "type": "boolean" + }, + "QueryStringCacheKeys": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryString" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.FunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.GeoRestriction": { + "additionalProperties": false, + "properties": { + "Locations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionType": { + "type": "string" + } + }, + "required": [ + "RestrictionType" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "IncludeBody": { + "type": "boolean" + }, + "LambdaFunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyCustomOrigin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DNSName", + "OriginProtocolPolicy", + "OriginSSLProtocols" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyS3Origin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DNSName" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "IncludeCookies": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Origin": { + "additionalProperties": false, + "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, + "CustomOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" + }, + "DomainName": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "OriginCustomHeaders": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + }, + "type": "array" + }, + "OriginPath": { + "type": "string" + }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, + "S3OriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" + } + }, + "required": [ + "DomainName", + "Id" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginCustomHeader": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.Restrictions": { + "additionalProperties": false, + "properties": { + "GeoRestriction": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" + } + }, + "required": [ + "GeoRestriction" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.S3OriginConfig": { + "additionalProperties": false, + "properties": { + "OriginAccessIdentity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerCertificate": { + "additionalProperties": false, + "properties": { + "AcmCertificateArn": { + "type": "string" + }, + "CloudFrontDefaultCertificate": { + "type": "boolean" + }, + "IamCertificateId": { + "type": "string" + }, + "MinimumProtocolVersion": { + "type": "string" + }, + "SslSupportMethod": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPublish": { + "type": "boolean" + }, + "FunctionCode": { + "type": "string" + }, + "FunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" + }, + "FunctionMetadata": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Runtime": { + "type": "string" + } + }, + "required": [ + "Comment", + "Runtime" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionMetadata": { + "additionalProperties": false, + "properties": { + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::KeyGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" + } + }, + "required": [ + "KeyGroupConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::KeyGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Items", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" + } + }, + "required": [ + "OriginRequestPolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::OriginRequestPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" + }, + "Name": { + "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "type": "array" + }, + "Fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SamplingRate": { + "type": "number" + } + }, + "required": [ + "EndPoints", + "Fields", + "Name", + "SamplingRate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::RealtimeLogConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "additionalProperties": false, + "properties": { + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + }, + "StreamType": { + "type": "string" + } + }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamArn" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StreamingDistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StreamingDistributionConfig", + "Tags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::StreamingDistribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Enabled", + "Prefix" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.S3Origin": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DomainName", + "OriginAccessIdentity" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" + }, + "PriceClass": { + "type": "string" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" + }, + "TrustedSigners": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" + } + }, + "required": [ + "Comment", + "Enabled", + "S3Origin", + "TrustedSigners" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.TrustedSigners": { + "additionalProperties": false, + "properties": { + "AwsAccountNumbers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "CloudWatchLogsRoleArn": { + "type": "string" + }, + "EnableLogFileValidation": { + "type": "boolean" + }, + "EventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" + }, + "type": "array" + }, + "IncludeGlobalServiceEvents": { + "type": "boolean" + }, + "IsLogging": { + "type": "boolean" + }, + "IsMultiRegionTrail": { + "type": "boolean" + }, + "KMSKeyId": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "SnsTopicName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrailName": { + "type": "string" + } + }, + "required": [ + "IsLogging", + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudTrail::Trail" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.DataResource": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.EventSelector": { + "additionalProperties": false, + "properties": { + "DataResources": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" + }, + "type": "array" + }, + "IncludeManagementEvents": { + "type": "boolean" + }, + "ReadWriteType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "ComparisonOperator": { + "type": "string" + }, + "DatapointsToAlarm": { + "type": "number" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "type": "string" + }, + "EvaluationPeriods": { + "type": "number" + }, + "ExtendedStatistic": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdMetricId": { + "type": "string" + }, + "TreatMissingData": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "EvaluationPeriods" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Alarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Metric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.MetricDataQuery": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Stat": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Stat" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Configuration": { + "additionalProperties": false, + "properties": { + "ExcludedTimeRanges": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + }, + "type": "array" + }, + "MetricTimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Range": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardBody": { + "type": "string" + }, + "DashboardName": { + "type": "string" + } + }, + "required": [ + "DashboardBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleBody": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "RuleState": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" + } + }, + "required": [ + "RuleBody", + "RuleName", + "RuleState" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::InsightRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "OutputFormat", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::CodeArtifact::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "ExternalConnections": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Upstreams": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "BadgeEnabled": { + "type": "boolean" + }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, + "Cache": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" + }, + "ConcurrentBuildLimit": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" + }, + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" + }, + "type": "array" + }, + "LogsConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" + }, + "Name": { + "type": "string" + }, + "QueuedTimeoutInMinutes": { + "type": "number" + }, + "SecondaryArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "type": "array" + }, + "SecondarySourceVersions": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" + }, + "type": "array" + }, + "SecondarySources": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "type": "array" + }, + "ServiceRole": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "SourceVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeoutInMinutes": { + "type": "number" + }, + "Triggers": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" + } + }, + "required": [ + "Artifacts", + "Environment", + "ServiceRole", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Artifacts": { + "additionalProperties": false, + "properties": { + "ArtifactIdentifier": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NamespaceType": { + "type": "string" + }, + "OverrideArtifactName": { + "type": "boolean" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.CloudWatchLogsConfig": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Environment": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "ImagePullCredentialsType": { + "type": "string" + }, + "PrivilegedMode": { + "type": "boolean" + }, + "RegistryCredential": { + "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ComputeType", + "Image", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.FilterGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.LogsConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" + }, + "S3Logs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectCache": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "Modes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectFileSystemLocation": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "MountOptions": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Location", + "MountPoint", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectSourceVersion": { + "additionalProperties": false, + "properties": { + "SourceIdentifier": { + "type": "string" + }, + "SourceVersion": { + "type": "string" + } + }, + "required": [ + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectTriggers": { + "additionalProperties": false, + "properties": { + "BuildType": { + "type": "string" + }, + "FilterGroups": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" + }, + "type": "array" + }, + "Webhook": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.RegistryCredential": { + "additionalProperties": false, + "properties": { + "Credential": { + "type": "string" + }, + "CredentialProvider": { + "type": "string" + } + }, + "required": [ + "Credential", + "CredentialProvider" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.S3LogsConfig": { + "additionalProperties": false, + "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Source": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" + }, + "BuildSpec": { + "type": "string" + }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, + "GitCloneDepth": { + "type": "number" + }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, + "InsecureSsl": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "ReportBuildStatus": { + "type": "boolean" + }, + "SourceIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.SourceAuth": { + "additionalProperties": false, + "properties": { + "Resource": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.WebhookFilter": { + "additionalProperties": false, + "properties": { + "ExcludeMatchedPattern": { + "type": "boolean" + }, + "Pattern": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Pattern", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteReports": { + "type": "boolean" + }, + "ExportConfig": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ExportConfig", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::ReportGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" + } + }, + "required": [ + "ExportConfigType" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CodeBuild::SourceCredential": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "ServerType": { + "type": "string" + }, + "Token": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "AuthType", + "ServerType", + "Token" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::SourceCredential" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" + }, + "type": "array" + } + }, + "required": [ + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeCommit::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.Code": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "S3": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.RepositoryTrigger": { + "additionalProperties": false, + "properties": { + "Branches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CustomData": { + "type": "string" + }, + "DestinationArn": { + "type": "string" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "Events", + "Name" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ComputePlatform": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TriggerConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeDeploy::DeploymentGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.Alarm": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "IgnorePollAlarmFailure": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.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" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { + "additionalProperties": false, + "properties": { + "OnPremisesTagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { + "additionalProperties": false, + "properties": { + "OnPremisesTagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { + "additionalProperties": false, + "properties": { + "GitHubLocation": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" + }, + "RevisionType": { + "type": "string" + }, + "S3Location": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BundleType": { + "type": "string" + }, + "ETag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TriggerName": { + "type": "string" + }, + "TriggerTargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, + "ProfilingGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, + "AWS::CodeGuruReviewer::RepositoryAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "ConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + }, + "type": "array" + }, + "InputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "OutputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "Provider": { + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "InputArtifactDetails", + "OutputArtifactDetails", + "Provider", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::CustomActionType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ArtifactDetails": { + "additionalProperties": false, + "properties": { + "MaximumCount": { + "type": "number" + }, + "MinimumCount": { + "type": "number" + } + }, + "required": [ + "MaximumCount", + "MinimumCount" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Key": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Queryable": { + "type": "boolean" + }, + "Required": { + "type": "boolean" + }, + "Secret": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Key", + "Name", + "Required", + "Secret" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.Settings": { + "additionalProperties": false, + "properties": { + "EntityUrlTemplate": { + "type": "string" + }, + "ExecutionUrlTemplate": { + "type": "string" + }, + "RevisionUrlTemplate": { + "type": "string" + }, + "ThirdPartyConfigurationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "ArtifactStores": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + }, + "type": "array" + }, + "DisableInboundStageTransitions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RestartExecutionOnUpdate": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Stages": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RoleArn", + "Stages" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionDeclaration": { + "additionalProperties": false, + "properties": { + "ActionTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" + }, + "Configuration": { + "type": "object" + }, + "InputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "OutputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunOrder": { + "type": "number" + } + }, + "required": [ + "ActionTypeId", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionTypeId": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "Owner", + "Provider", + "Version" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStore": { + "additionalProperties": false, + "properties": { + "EncryptionKey": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" + }, + "Location": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Location", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "ArtifactStore", + "Region" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.BlockerDeclaration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.EncryptionKey": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.InputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.OutputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageDeclaration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" + }, + "type": "array" + }, + "Blockers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageTransition": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "Reason", + "StageName" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authentication": { + "type": "string" + }, + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" + }, + "Filters": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegisterWithThirdParty": { + "type": "boolean" + }, + "TargetAction": { + "type": "string" + }, + "TargetPipeline": { + "type": "string" + }, + "TargetPipelineVersion": { + "type": "number" + } + }, + "required": [ + "Authentication", + "AuthenticationConfiguration", + "Filters", + "TargetAction", + "TargetPipeline", + "TargetPipelineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Webhook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedIPRange": { + "type": "string" + }, + "SecretToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookFilterRule": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "MatchEquals": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" + }, + "ConnectionArn": { + "type": "string" + }, + "EnableIssues": { + "type": "boolean" + }, + "IsPrivate": { + "type": "boolean" + }, + "RepositoryAccessToken": { + "type": "string" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryOwner": { + "type": "string" + } + }, + "required": [ + "RepositoryName", + "RepositoryOwner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStar::GitHubRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.Code": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "HostArn": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetailType": { + "type": "string" + }, + "EventTypeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" + }, + "type": "array" + } + }, + "required": [ + "DetailType", + "EventTypeIds", + "Name", + "Resource", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarNotifications::NotificationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule.Target": { + "additionalProperties": false, + "properties": { + "TargetAddress": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowClassicFlow": { + "type": "boolean" + }, + "AllowUnauthenticatedIdentities": { + "type": "boolean" + }, + "CognitoEvents": { + "type": "object" + }, + "CognitoIdentityProviders": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" + }, + "type": "array" + }, + "CognitoStreams": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" + }, + "DeveloperProviderName": { + "type": "string" + }, + "IdentityPoolName": { + "type": "string" + }, + "OpenIdConnectProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PushSync": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" + }, + "SamlProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SupportedLoginProviders": { + "type": "object" + } + }, + "required": [ + "AllowUnauthenticatedIdentities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "ServerSideTokenCheck": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoStreams": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "StreamingStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.PushSync": { + "additionalProperties": false, + "properties": { + "ApplicationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityPoolId": { + "type": "string" + }, + "RoleMappings": { + "type": "object" + }, + "Roles": { + "type": "object" + } + }, + "required": [ + "IdentityPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPoolRoleAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { + "additionalProperties": false, + "properties": { + "Claim": { + "type": "string" + }, + "MatchType": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Claim", + "MatchType", + "RoleARN", + "Value" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { + "additionalProperties": false, + "properties": { + "AmbiguousRoleResolution": { + "type": "string" + }, + "IdentityProvider": { + "type": "string" + }, + "RulesConfiguration": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::Cognito::UserPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountRecoverySetting": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" + }, + "AdminCreateUserConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" + }, + "AliasAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoVerifiedAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeviceConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" + }, + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" + }, + "EmailVerificationMessage": { + "type": "string" + }, + "EmailVerificationSubject": { + "type": "string" + }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" + }, + "MfaConfiguration": { + "type": "string" + }, + "Policies": { + "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" + }, + "Schema": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" + }, + "type": "array" + }, + "SmsAuthenticationMessage": { + "type": "string" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" + }, + "SmsVerificationMessage": { + "type": "string" + }, + "UserPoolAddOns": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" + }, + "UserPoolName": { + "type": "string" + }, + "UserPoolTags": { + "type": "object" + }, + "UsernameAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UsernameConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" + }, + "VerificationMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.AccountRecoverySetting": { + "additionalProperties": false, + "properties": { + "RecoveryMechanisms": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdminCreateUserConfig": { + "additionalProperties": false, + "properties": { + "AllowAdminCreateUserOnly": { + "type": "boolean" + }, + "InviteMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" + }, + "UnusedAccountValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.DeviceConfiguration": { + "additionalProperties": false, + "properties": { + "ChallengeRequiredOnNewDevice": { + "type": "boolean" + }, + "DeviceOnlyRememberedOnUserPrompt": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "type": "string" + }, + "EmailSendingAccount": { + "type": "string" + }, + "From": { + "type": "string" + }, + "ReplyToEmailAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.InviteMessageTemplate": { + "additionalProperties": false, + "properties": { + "EmailMessage": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "SMSMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, + "CustomMessage": { + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, + "DefineAuthChallenge": { + "type": "string" + }, + "KMSKeyID": { + "type": "string" + }, + "PostAuthentication": { + "type": "string" + }, + "PostConfirmation": { + "type": "string" + }, + "PreAuthentication": { + "type": "string" + }, + "PreSignUp": { + "type": "string" + }, + "PreTokenGeneration": { + "type": "string" + }, + "UserMigration": { + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.NumberAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxValue": { + "type": "string" + }, + "MinValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PasswordPolicy": { + "additionalProperties": false, + "properties": { + "MinimumLength": { + "type": "number" + }, + "RequireLowercase": { + "type": "boolean" + }, + "RequireNumbers": { + "type": "boolean" + }, + "RequireSymbols": { + "type": "boolean" + }, + "RequireUppercase": { + "type": "boolean" + }, + "TemporaryPasswordValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.Policies": { + "additionalProperties": false, + "properties": { + "PasswordPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.RecoveryOption": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SchemaAttribute": { + "additionalProperties": false, + "properties": { + "AttributeDataType": { + "type": "string" + }, + "DeveloperOnlyAttribute": { + "type": "boolean" + }, + "Mutable": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "NumberAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" + }, + "Required": { + "type": "boolean" + }, + "StringAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "ExternalId": { + "type": "string" + }, + "SnsCallerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.StringAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxLength": { + "type": "string" + }, + "MinLength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UserPoolAddOns": { + "additionalProperties": false, + "properties": { + "AdvancedSecurityMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UsernameConfiguration": { + "additionalProperties": false, + "properties": { + "CaseSensitive": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.VerificationMessageTemplate": { + "additionalProperties": false, + "properties": { + "DefaultEmailOption": { + "type": "string" + }, + "EmailMessage": { + "type": "string" + }, + "EmailMessageByLink": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "EmailSubjectByLink": { + "type": "string" + }, + "SmsMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessTokenValidity": { + "type": "number" + }, + "AllowedOAuthFlows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOAuthFlowsUserPoolClient": { + "type": "boolean" + }, + "AllowedOAuthScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalyticsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" + }, + "CallbackURLs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClientName": { + "type": "string" + }, + "DefaultRedirectURI": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" + }, + "Domain": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Domain", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Precedence": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolIdentityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeMapping": { + "type": "object" + }, + "IdpIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProviderDetails": { + "type": "object" + }, + "ProviderName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ProviderName", + "ProviderType", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolIdentityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientMetadata": { + "type": "object" + }, + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountAggregationSources": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + }, + "type": "array" + }, + "ConfigurationAggregatorName": { + "type": "string" + }, + "OrganizationAggregationSource": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationAggregator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccountIds" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "additionalProperties": false, + "properties": { + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RecordingGroup": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "RoleARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationRecorder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingGroup": { + "additionalProperties": false, + "properties": { + "AllSupported": { + "type": "boolean" + }, + "IncludeGlobalResourceTypes": { + "type": "boolean" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::ConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "ConformancePackName": { + "type": "string" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "ConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigSnapshotDeliveryProperties": { + "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" + }, + "Name": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "S3KmsKeyArn": { + "type": "string" + }, + "SnsTopicARN": { + "type": "string" + } + }, + "required": [ + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::DeliveryChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { + "additionalProperties": false, + "properties": { + "DeliveryFrequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::OrganizationConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConfigRuleName": { + "type": "string" + }, + "OrganizationCustomRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" + }, + "OrganizationManagedRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" + } + }, + "required": [ + "OrganizationConfigRuleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "LambdaFunctionArn": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "OrganizationConfigRuleTriggerTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn", + "OrganizationConfigRuleTriggerTypes" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RuleIdentifier": { + "type": "string" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "RuleIdentifier" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConformancePackName": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "OrganizationConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Automatic": { + "type": "boolean" + }, + "ConfigRuleName": { + "type": "string" + }, + "ExecutionControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" + }, + "MaximumAutomaticAttempts": { + "type": "number" + }, + "Parameters": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "RetryAttemptSeconds": { + "type": "number" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + }, + "TargetVersion": { + "type": "string" + } + }, + "required": [ + "ConfigRuleName", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::RemediationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ExecutionControls": { + "additionalProperties": false, + "properties": { + "SsmControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.RemediationParameterValue": { + "additionalProperties": false, + "properties": { + "ResourceValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" + }, + "StaticValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ResourceValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.SsmControls": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutionRatePercentage": { + "type": "number" + }, + "ErrorPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.StaticValue": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Connect::QuickConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::CustomerProfiles::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeadLetterQueueUrl": { + "type": "string" + }, + "DefaultEncryptionKey": { + "type": "string" + }, + "DefaultExpirationDays": { + "type": "number" + }, + "DomainName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "FlowDefinition": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "ObjectTypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.FlowDefinition": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FlowName": { + "type": "string" + }, + "KmsArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" + } + }, + "required": [ + "FlowName", + "KmsArn", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "FirstExecutionFrom": { + "type": "number" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleStartTime": { + "type": "number" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Marketo": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { + "additionalProperties": false, + "properties": { + "OperatorPropertyKey": { + "type": "string" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "OperatorPropertyKey", + "Property" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerProperties": { + "additionalProperties": false, + "properties": { + "Scheduled": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowProfileCreation": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "ExpirationDays": { + "type": "number" + }, + "Fields": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" + }, + "type": "array" + }, + "Keys": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" + }, + "type": "array" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::ObjectType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.FieldMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeField": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.KeyMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeKeyList": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { + "additionalProperties": false, + "properties": { + "FieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DAX::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterEndpointEncryptionType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NotificationTopicARN": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationFactor": { + "type": "number" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetGroupName": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "IAMRoleARN", + "NodeType", + "ReplicationFactor" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DAX::Cluster.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DAX::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "ParameterNameValues": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DAX::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "PolicyDetails": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DLM::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CreateRule": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Times": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.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" + }, + "NoReboot": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" + }, + "PolicyType": { + "type": "string" + }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Schedules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" + }, + "type": "array" + }, + "TargetTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetainRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Schedule": { + "additionalProperties": false, + "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" + }, + "CrossRegionCopyRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateIdentifier": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateWallet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, + "DynamoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" + }, + "ElasticsearchSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" + }, + "EndpointIdentifier": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "EngineName": { + "type": "string" + }, + "ExtraConnectionAttributes": { + "type": "string" + }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, + "KinesisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" + }, + "KmsKeyId": { + "type": "string" + }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, + "ResourceIdentifier": { + "type": "string" + }, + "S3Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" + }, + "ServerName": { + "type": "string" + }, + "SslMode": { + "type": "string" + }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "EngineName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.DynamoDbSettings": { + "additionalProperties": false, + "properties": { + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.ElasticsearchSettings": { + "additionalProperties": false, + "properties": { + "EndpointUri": { + "type": "string" + }, + "ErrorRetryDuration": { + "type": "number" + }, + "FullLoadErrorPercentage": { + "type": "number" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KinesisSettings": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MongoDbSettings": { + "additionalProperties": false, + "properties": { + "AuthMechanism": { + "type": "string" + }, + "AuthSource": { + "type": "string" + }, + "AuthType": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocsToInvestigate": { + "type": "string" + }, + "ExtractDocId": { + "type": "string" + }, + "NestingLevel": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.S3Settings": { + "additionalProperties": false, + "properties": { + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CompressionType": { + "type": "string" + }, + "CsvDelimiter": { + "type": "string" + }, + "CsvRowDelimiter": { + "type": "string" + }, + "ExternalTableDefinition": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "number" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationSubnetGroupDescription": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReplicationSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdcStartPosition": { + "type": "string" + }, + "CdcStartTime": { + "type": "number" + }, + "CdcStopPosition": { + "type": "string" + }, + "MigrationType": { + "type": "string" + }, + "ReplicationInstanceArn": { + "type": "string" + }, + "ReplicationTaskIdentifier": { + "type": "string" + }, + "ReplicationTaskSettings": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "TableMappings": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + }, + "TaskData": { + "type": "string" + } + }, + "required": [ + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" + }, + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" + }, + "Name": { + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "LocaleCode": { + "type": "string" + }, + "TimezoneOffset": { + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.ExcelOptions": { + "additionalProperties": false, + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "number" + }, + "Order": { + "type": "string" + }, + "OrderedBy": { + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "ValuesMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "ValueReference": { + "type": "string" + } + }, + "required": [ + "Value", + "ValueReference" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" + }, + "PathParameterName": { + "type": "string" + } + }, + "required": [ + "DatasetParameter", + "PathParameterName" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "RoleArn", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job.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.JobSample": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.Output": { + "additionalProperties": false, + "properties": { + "CompressionFormat": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.OutputLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "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" + }, + "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": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "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::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecipeName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sample": { + "$ref": "#/definitions/AWS::DataBrew::Project.Sample" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "Name", + "RecipeName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Project.Sample": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Steps" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Recipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.Action": { + "additionalProperties": false, + "properties": { + "Operation": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" + } + }, + "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.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { + "type": "object" + }, + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceColumn": { + "type": "string" + }, + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { + "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "JobNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CronExpression", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Schedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "type": "array" + }, + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "type": "array" + }, + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "ParameterObjects" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataPipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.Field": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActivationKey": { + "type": "string" + }, + "AgentName": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + } + }, + "required": [ + "ActivationKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Agent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" + }, + "EfsFilesystemArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Ec2Config", + "EfsFilesystemArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationEFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "FsxFilesystemArn": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxWindows" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" + }, + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "OnPremConfig", + "ServerHostname", + "Subdirectory" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationNFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS.OnPremConfig": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AgentArns" + ], + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BucketName": { + "type": "string" + }, + "SecretKey": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "ServerPort": { + "type": "number" + }, + "ServerProtocol": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AgentArns", + "BucketName", + "ServerHostname" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationObjectStorage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "S3BucketArn": { + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "S3BucketArn", + "S3Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationS3" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3.S3Config": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + } + }, + "required": [ + "BucketAccessRoleArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" + }, + "Password": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationSMB" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "DestinationLocationArn": { + "type": "string" + }, + "Excludes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" + }, + "SourceLocationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationLocationArn", + "SourceLocationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::Task.FilterRule": { + "additionalProperties": false, + "properties": { + "FilterType": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Options": { + "additionalProperties": false, + "properties": { + "Atime": { + "type": "string" + }, + "BytesPerSecond": { + "type": "number" + }, + "Gid": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "Mtime": { + "type": "string" + }, + "OverwriteMode": { + "type": "string" + }, + "PosixPermissions": { + "type": "string" + }, + "PreserveDeletedFiles": { + "type": "string" + }, + "PreserveDevices": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { + "type": "string" + }, + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "required": [ + "GraphArn", + "MemberEmailAddress", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::MemberInvitation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" + } + }, + "required": [ + "Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" + } + }, + "required": [ + "ResourceCollectionFilter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::ResourceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::SimpleAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MasterUserPassword", + "MasterUsername" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBClusterIdentifier", + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + }, + "type": "array" + }, + "Replicas": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" + }, + "type": "array" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "AttributeDefinitions", + "KeySchema", + "Replicas" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::GlobalTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SeedCapacity": { + "type": "number" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + }, + "ReadCapacityUnits": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + } + }, + "required": [ + "KMSMasterKeyId" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + }, + "Region": { + "type": "string" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "DisableScaleIn": { + "type": "boolean" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" + } + }, + "required": [ + "KeySchema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.SSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + }, + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "AttributeName", + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnAuthorizationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessGroupId": { + "type": "string" + }, + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnAuthorizationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ClientRootCertificateChainArn": { + "type": "string" + } + }, + "required": [ + "ClientRootCertificateChainArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "additionalProperties": false, + "properties": { + "CloudwatchLogGroup": { + "type": "string" + }, + "CloudwatchLogStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + } + }, + "required": [ + "DirectoryId" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceType", + "Tags" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "DestinationCidrBlock", + "TargetVpcSubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnTargetNetworkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::DHCPOptions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::EIP": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "PublicIpv4Pool": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIP" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EIPAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIPAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EgressOnlyInternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EgressOnlyInternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::FlowLog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliverLogsPermissionArn": { + "type": "string" + }, + "LogDestination": { + "type": "string" + }, + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficType": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "ResourceType", + "TrafficType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::FlowLog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::GatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + } + }, + "required": [ + "GatewayId", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::GatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Host": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPlacement": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Host" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Instance": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "string" + }, + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + }, + "UserData": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.AssociationParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EC2::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + }, + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::Instance.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex" + ], + "type": "object" + }, + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::InternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LaunchTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "additionalProperties": false, + "properties": { + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "Throughput": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" + }, + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + }, + "type": "array" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Monitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociateCarrierIpAddress": { + "type": "boolean" + }, + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" + }, + "type": "array" + }, + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.SpotOptions": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "SpotInstanceType": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LocalGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "LocalGatewayRouteTableId": { + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LocalGatewayRouteTableId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NatGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "ConnectivityType": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAcl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAclEntry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkInsightsPathId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "NetworkInsightsPathId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "ComponentId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationIp": { + "type": "string" + }, + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Destination", + "Protocol", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsPath" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "DeviceIndex": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfaceAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfacePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "NetworkInterfaceId", + "Permission" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfacePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PlacementGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Strategy": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PlacementGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CarrierGatewayId": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationIpv6CidrBlock": { + "type": "string" + }, + "EgressOnlyInternetGatewayId": { + "type": "string" + }, + "GatewayId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LocalGatewayId": { + "type": "string" + }, + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + } + }, + "required": [ + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupDescription": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "SecurityGroupEgress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + }, + "type": "array" + }, + "SecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Egress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupEgress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "GroupId", + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupEgress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + } + }, + "required": [ + "SpotFleetRequestConfigData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "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" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Subnet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ipv6CidrBlock": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "Ipv6CidrBlock", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrBlock" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetNetworkAclAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "RouteTableId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TransitGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "TransitGatewayId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransportTransitGatewayAttachmentId": { + "type": "string" + } + }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayConnect" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { + "additionalProperties": false, + "properties": { + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupMember": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTablePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "EnableDnsHostnames": { + "type": "boolean" + }, + "EnableDnsSupport": { + "type": "boolean" + }, + "InstanceTenancy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CidrBlock" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "ServiceName", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointConnectionNotification": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointServicePermissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCGatewayAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InternetGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCPeeringConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerOwnerId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerRoleArn": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "PeerVpcId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCPeeringConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayId": { + "type": "string" + }, + "StaticRoutesOnly": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" + } + }, + "required": [ + "CustomerGatewayId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "PreSharedKey": { + "type": "string" + }, + "TunnelInsideCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnectionRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "VpnConnectionId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "VpnConnectionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnectionRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGatewayRoutePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "RouteTableIds", + "VpnGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGatewayRoutePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoEnableIO": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Size": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throughput": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VolumeAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "InstanceId", + "VolumeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VolumeAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "required": [ + "Region", + "RegistryId" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" + } + }, + "required": [ + "Destinations" + ], + "type": "object" + }, + "AWS::ECR::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" + }, + "ImageScanningConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "InstanceWarmupPeriod": { + "type": "number" + }, + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" + }, + "type": "array" + } + }, + "required": [ + "CapacityProviders", + "Cluster", + "DefaultCapacityProviderStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::ClusterCapacityProviderAssociations" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentCircuitBreaker": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + }, + "Rollback": { + "type": "boolean" + } + }, + "required": [ + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" + }, + "MaximumPercent": { + "type": "number" + }, + "MinimumHealthyPercent": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentController": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Service.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { + "type": "string" + }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "InferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + }, + "type": "array" + }, + "IpcMode": { + "type": "string" + }, + "Memory": { + "type": "string" + }, + "NetworkMode": { + "type": "string" + }, + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DockerSecurityOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { + "type": "boolean" + }, + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "Interactive": { + "type": "boolean" + }, + "Links": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { + "type": "number" + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDependency": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "ContainerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Autoprovision": { + "type": "boolean" + }, + "Driver": { + "type": "string" + }, + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Scope": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "type": "object" + }, + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FilesystemId" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EphemeralStorage": { + "additionalProperties": false, + "properties": { + "SizeInGiB": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostEntry": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "IpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostVolumeProperties": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Drop": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.MountPoint": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { + "type": "number" + }, + "HostPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.RepositoryCredentials": { + "additionalProperties": false, + "properties": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.SystemControl": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "Size" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" + }, + "ClientToken": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.AccessPointTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Uid": { + "type": "string" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Addon": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddonName": { + "type": "string" + }, + "AddonVersion": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "ResolveConflicts": { + "type": "string" + }, + "ServiceAccountRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddonName", + "ClusterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Addon" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ResourcesVpcConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "type": "string" + }, + "FargateProfileName": { + "type": "string" + }, + "PodExecutionRoleArn": { + "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "PodExecutionRoleArn", + "Selectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::FargateProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmiType": { + "type": "string" + }, + "CapacityType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Taints": { + "items": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" + }, + "type": "array" + }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ClusterName", + "NodeRole", + "Subnets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Nodegroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.Taint": { + "additionalProperties": false, + "properties": { + "Effect": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "object" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { + "type": "string" + }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Application": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::Cluster.BootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" + } + }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], + "type": "object" + }, + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::Cluster.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { + "type": "boolean" + }, + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { + "type": "string" + }, + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { + "type": "string" + } + }, + "required": [ + "KdcAdminPassword", + "Realm" + ], + "type": "object" + }, + "AWS::EMR::Cluster.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::Cluster.PlacementType": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::Cluster.StepConfig": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "required": [ + "ClusterId", + "InstanceFleetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceFleetConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "object" + } + }, + "required": [ + "SecurityConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + }, + "JobFlowId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Step.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthMode": { + "type": "string" + }, + "DefaultS3Location": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineSecurityGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::StudioSessionMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerProvider", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRContainers::VirtualCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { + "additionalProperties": false, + "properties": { + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" + } + }, + "required": [ + "EksInfo" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Info", + "Type" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.EksInfo": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheParameterGroupFamily": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CacheParameterGroupFamily", + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSubnetGroupName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessString": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Engine", + "UserId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::UserGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Engine": { + "type": "string" + }, + "UserGroupId": { + "type": "string" + }, + "UserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine", + "UserGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::UserGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "ServiceRole": { + "type": "string" + }, + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "additionalProperties": false, + "properties": { + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + }, + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + } + }, + "required": [ + "ApplicationName", + "SourceBundle" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ConfigurationTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ApplicationName", + "TemplateName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancing::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "additionalProperties": false, + "properties": { + "EmitInterval": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { + "type": "string" + }, + "S3BucketPrefix": { + "type": "string" + } + }, + "required": [ + "Enabled", + "S3BucketName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieName": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" + }, + "Interval": { + "type": "string" + }, + "Target": { + "type": "string" + }, + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { + "type": "string" + } + }, + "required": [ + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieExpirationPeriod": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "string" + }, + "InstanceProtocol": { + "type": "string" + }, + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerPort", + "Protocol" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" + }, + "type": "array" + }, + "DefaultActions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + }, + "type": "array" + }, + "LoadBalancerArn": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "SslPolicy": { + "type": "string" + } + }, + "required": [ + "DefaultActions", + "LoadBalancerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + } + }, + "required": [ + "Certificates", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" + }, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Actions", + "Conditions", + "ListenerArn", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IpAddressType": { + "type": "string" + }, + "LoadBalancerAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicies": { + "type": "object" + }, + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { + "type": "string" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Elasticsearch::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "additionalProperties": false, + "properties": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Discoverer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Discoverer.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Content", + "RegistryName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::ApiDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "InvocationEndpoint": { + "type": "string" + }, + "InvocationRateLimitPerSecond": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "RetentionDays": { + "type": "number" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Archive" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthParameters": { + "type": "object" + }, + "AuthorizationType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthParameters", + "AuthorizationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBus": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" + }, + "EventBusName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "Statement": { + "type": "object" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBusPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy.Condition": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBusName": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Events::Rule.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchArrayProperties": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.BatchParameters": { + "additionalProperties": false, + "properties": { + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" + }, + "JobDefinition": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" + } + }, + "required": [ + "JobDefinition", + "JobName" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchRetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { + "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "type": "object" + }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "type": "array" + } + }, + "required": [ + "RunCommandTargets" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandTarget": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + } + }, + "required": [ + "Arn", + "Id" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StopConditions": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Targets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" + } + }, + "type": "object" + } + }, + "required": [ + "Description", + "RoleArn", + "StopConditions", + "Tags", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FIS::ExperimentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { + "additionalProperties": false, + "properties": { + "ActionId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "StartAfter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ActionId" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "SelectionMode": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "SelectionMode" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Path", + "Values" + ], + "type": "object" + }, + "AWS::FMS::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SnsRoleName": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "SnsRoleName", + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { + "type": "string" + }, + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { + "type": "string" + }, + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" + } + }, + "required": [ + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy.IEMap": { + "additionalProperties": false, + "properties": { + "ACCOUNT": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FMS::Policy.PolicyTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::FMS::Policy.ResourceTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::FSx::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupId": { + "type": "string" + }, + "FileSystemType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + } + }, + "required": [ + "FileSystemType", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.LustreConfiguration": { + "additionalProperties": false, + "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DataCompressionType": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "DriveCacheType": { + "type": "string" + }, + "ExportPath": { + "type": "string" + }, + "ImportPath": { + "type": "string" + }, + "ImportedFileChunkSize": { + "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.WindowsConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryId": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "required": [ + "ThroughputCapacity" + ], + "type": "object" + }, + "AWS::FinSpace::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FederationMode": { + "type": "string" + }, + "FederationParameters": { + "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FinSpace::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FinSpace::Environment.FederationParameters": { + "additionalProperties": false, + "properties": { + "ApplicationCallBackURL": { + "type": "string" + }, + "AttributeMap": { + "type": "object" + }, + "FederationProviderName": { + "type": "string" + }, + "FederationURN": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "SamlMetadataURL": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "DetectorVersionStatus": { + "type": "string" + }, + "EventType": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" + }, + "RuleExecutionMode": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorId", + "EventType", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Detector.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" + }, + "type": "array" + }, + "Inline": { + "type": "boolean" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" + }, + "type": "array" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Outcome": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Rule": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "Language": { + "type": "string" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Outcomes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" + }, + "type": "array" + }, + "RuleId": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EntityType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" + }, + "type": "array" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EntityTypes", + "EventVariables", + "Labels", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EventType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Label": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Label" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Outcome": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Outcome" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Variable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "DataSource", + "DataType", + "DefaultValue", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Variable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + } + }, + "required": [ + "Name", + "RoutingStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias.RoutingStrategy": { + "additionalProperties": false, + "properties": { + "FleetId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Build" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GameLift::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BuildId": { + "type": "string" + }, + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "Locations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinSize": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.CertificateConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationCapacity": { + "additionalProperties": false, + "properties": { + "DesiredEC2Instances": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "required": [ + "DesiredEC2Instances", + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationConfiguration": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "LocationCapacity": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "additionalProperties": false, + "properties": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { + "type": "string" + }, + "Parameters": { + "type": "string" + } + }, + "required": [ + "ConcurrentExecutions", + "LaunchPath" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" + }, + "BalancingStrategy": { + "type": "string" + }, + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameServerGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "EstimatedInstanceWarmup": { + "type": "number" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomEventData": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" + }, + "FilterConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "PlayerLatencyPolicies": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" + }, + "type": "array" + }, + "PriorityConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameSessionQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.Destination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.FilterConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedLocations": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { + "additionalProperties": false, + "properties": { + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" + }, + "PolicyDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { + "additionalProperties": false, + "properties": { + "LocationOrder": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PriorityOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { + "type": "string" + }, + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { + "items": { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RuleSetBody": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleSetBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "StorageLocation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Script" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Accelerator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Accelerator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { + "type": "string" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" + } + }, + "required": [ + "EndpointGroupRegion", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "ClientIPPreservationEnabled": { + "type": "boolean" + }, + "EndpointId": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "EndpointId" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + } + }, + "required": [ + "Role", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Crawler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Crawler.CatalogTarget": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.DynamoDBTarget": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.JdbcTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.S3Target": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.SchemaChangePolicy": { + "additionalProperties": false, + "properties": { + "DeleteBehavior": { + "type": "string" + }, + "UpdateBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Targets": { + "additionalProperties": false, + "properties": { + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" + }, + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" + }, + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" + }, + "S3Targets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + } + }, + "required": [ + "CatalogId", + "DataCatalogEncryptionSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataCatalogEncryptionSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" + }, + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "CatalogEncryptionMode": { + "type": "string" + }, + "SseAwsKmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + } + }, + "required": [ + "CatalogId", + "DatabaseInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseInput": { + "additionalProperties": false, + "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" + } + }, + "type": "object" + }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, + "AWS::Glue::DevEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "EndpointName": { + "type": "string" + }, + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DevEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedCapacity": { + "type": "number" + }, + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" + }, + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "Command", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job.ConnectionsList": { + "additionalProperties": false, + "properties": { + "Connections": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Job.ExecutionProperty": { + "additionalProperties": false, + "properties": { + "MaxConcurrentRuns": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "InputRecordTables", + "Role", + "TransformParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::MLTransform" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.FindMatchesParameters": { + "additionalProperties": false, + "properties": { + "AccuracyCostTradeoff": { + "type": "number" + }, + "EnforceProvidedLabels": { + "type": "boolean" + }, + "PrecisionRecallTradeoff": { + "type": "number" + }, + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { + "items": { + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.MLUserDataEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MLUserDataEncryptionMode": { + "type": "string" + } + }, + "required": [ + "MLUserDataEncryptionMode" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Partition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Partition.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { + "type": "object" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" + }, + "Compatibility": { + "type": "string" + }, + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" + }, + "SchemaDefinition": { + "type": "string" + } + }, + "required": [ + "Schema", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SchemaVersion.Schema": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersionMetadata": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "SchemaVersionId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "SchemaVersionId", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersionMetadata" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "TableInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Table.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Action" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { + "type": "string" + }, + "StartOnCreation": { + "type": "boolean" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "WorkflowName": { + "type": "string" + } + }, + "required": [ + "Actions", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Trigger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Trigger.Action": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "CrawlState": { + "type": "string" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultRunProperties": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Workflow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionId": { + "type": "string" + }, + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" + } + }, + "required": [ + "ConnectorDefinitionId", + "Connectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CoreDefinitionId": { + "type": "string" + }, + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" + } + }, + "required": [ + "CoreDefinitionId", + "Cores" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InlineRecipe": { + "type": "string" + }, + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::ComponentVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { + "additionalProperties": false, + "properties": { + "DependencyType": { + "type": "string" + }, + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" + }, + "MemorySizeInKB": { + "type": "number" + }, + "MountROSysfs": { + "type": "boolean" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { + "additionalProperties": false, + "properties": { + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" + }, + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InputPayloadEncodingType": { + "type": "string" + }, + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" + }, + "MaxIdleTimeInSeconds": { + "type": "number" + }, + "MaxInstancesCount": { + "type": "number" + }, + "MaxQueueSize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "StatusTimeoutInSeconds": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { + "additionalProperties": false, + "properties": { + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" + }, + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" + }, + "ComponentName": { + "type": "string" + }, + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" + }, + "ComponentVersion": { + "type": "string" + }, + "LambdaArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { + "additionalProperties": false, + "properties": { + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" + }, + "IsolationMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "DestinationPath": { + "type": "string" + }, + "Permission": { + "type": "string" + }, + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigData": { + "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConfigData", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::Config" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { + "additionalProperties": false, + "properties": { + "DecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" + }, + "DemodulationConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" + }, + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaUplinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" + }, + "TargetEirp": { + "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" + }, + "TransmitDisabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.ConfigData": { + "additionalProperties": false, + "properties": { + "AntennaDownlinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" + }, + "AntennaDownlinkDemodDecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" + }, + "AntennaUplinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" + }, + "DataflowEndpointConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" + }, + "S3RecordingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" + }, + "TrackingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" + }, + "UplinkEchoConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DataflowEndpointConfig": { + "additionalProperties": false, + "properties": { + "DataflowEndpointName": { + "type": "string" + }, + "DataflowEndpointRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DecodeConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DemodulationConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Eirp": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Frequency": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.FrequencyBandwidth": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.S3RecordingConfig": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.SpectrumConfig": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" + }, + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.TrackingConfig": { + "additionalProperties": false, + "properties": { + "Autotrack": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkEchoConfig": { + "additionalProperties": false, + "properties": { + "AntennaUplinkConfigArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkSpectrumConfig": { + "additionalProperties": false, + "properties": { + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointDetails": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::DataflowEndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" + }, + "Mtu": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" + }, + "SecurityDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::MissionProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactPostPassDurationSeconds": { + "type": "number" + }, + "ContactPrePassDurationSeconds": { + "type": "number" + }, + "DataflowEdges": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" + }, + "type": "array" + }, + "MinimumViableContactDurationSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrackingConfigArn": { + "type": "string" + } + }, + "required": [ + "DataflowEdges", + "MinimumViableContactDurationSeconds", + "Name", + "TrackingConfigArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::MissionProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::MissionProfile.DataflowEdge": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatIntelSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::AccessKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Group.Policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::Group.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::InstanceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::OIDCProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThumbprintList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ThumbprintList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::OIDCProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssumeRolePolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Role" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::SAMLProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ServerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateBody": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AWSServiceName": { + "type": "string" + }, + "CustomSuffix": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AWSServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServiceLinkedRole" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::UserToGroupAddition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::VirtualMFADevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } + }, + "required": [ + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorized": { + "type": "boolean" + }, + "LatencyMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecordingConfigurationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVS::PlaybackKeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVS::StreamKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ChannelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Component": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Platform", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "ContainerType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ContainerRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Distributions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "ContainerDistributionConfiguration": { + "type": "object" + }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "Name", + "ParentImage", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetName": { + "type": "string" + }, + "ResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Inspector::AssessmentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetArn": { + "type": "string" + }, + "AssessmentTemplateName": { + "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Inspector::ResourceGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupTags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Placement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { + "additionalProperties": false, + "properties": { + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" + } + }, + "type": "object" + }, + "AWS::IoT::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerFunctionArn": { + "type": "string" + }, + "AuthorizerName": { + "type": "string" + }, + "SigningDisabled": { + "type": "boolean" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TokenKeyName": { + "type": "string" + }, + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "AuthorizerFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::CustomMetric": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "MetricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MetricType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::CustomMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Dimension": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StringValues", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Dimension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { + "type": "string" + }, + "DomainConfigurationStatus": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "ServerCertificateArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::DomainConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { + "additionalProperties": false, + "properties": { + "AllowAuthorizerOverride": { + "type": "boolean" + }, + "DefaultAuthorizerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { + "additionalProperties": false, + "properties": { + "ServerCertificateArn": { + "type": "string" + }, + "ServerCertificateStatus": { + "type": "string" + }, + "ServerCertificateStatusDetail": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ActionParams", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::MitigationAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ActionParams": { + "additionalProperties": false, + "properties": { + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" + }, + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" + }, + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" + }, + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" + }, + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" + }, + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { + "additionalProperties": false, + "properties": { + "OverrideDynamicGroups": { + "type": "boolean" + }, + "ThingGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ThingGroupNames" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { + "type": "string" + } + }, + "required": [ + "LogLevel", + "RoleArnForLogging" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { + "additionalProperties": false, + "properties": { + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::ScheduledAudit": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" + }, + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" + }, + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" + }, + "SecurityProfileDescription": { + "type": "string" + }, + "SecurityProfileName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.AlertTarget": { + "additionalProperties": false, + "properties": { + "AlertTargetArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AlertTargetArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.Behavior": { + "additionalProperties": false, + "properties": { + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" + }, + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + }, + "Name": { + "type": "string" + }, + "SuppressAlerts": { + "type": "boolean" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.BehaviorCriteria": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "ConsecutiveDatapointsToAlarm": { + "type": "number" + }, + "ConsecutiveDatapointsToClear": { + "type": "number" + }, + "DurationSeconds": { + "type": "number" + }, + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" + }, + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { + "additionalProperties": false, + "properties": { + "ConfidenceLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricDimension": { + "additionalProperties": false, + "properties": { + "DimensionName": { + "type": "string" + }, + "Operator": { + "type": "string" + } + }, + "required": [ + "DimensionName" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricToRetain": { + "additionalProperties": false, + "properties": { + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + } + }, + "required": [ + "Metric" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricValue": { + "additionalProperties": false, + "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Count": { + "type": "string" + }, + "Number": { + "type": "number" + }, + "Numbers": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Strings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.StatisticalThreshold": { + "additionalProperties": false, + "properties": { + "Statistic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" + }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, + "IotAnalytics": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, + "Kinesis": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { + "type": "string" + } + }, + "required": [ + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchMetricAction": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricTimestamp": { + "type": "string" + }, + "MetricUnit": { + "type": "string" + }, + "MetricValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBAction": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBv2Action": { + "additionalProperties": false, + "properties": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.FirehoseAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "ChannelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ChannelName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KinesisAction": { + "additionalProperties": false, + "properties": { + "PartitionKey": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.PutItemInput": { + "additionalProperties": false, + "properties": { + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.RepublishAction": { + "additionalProperties": false, + "properties": { + "Qos": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "CannedAcl": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SnsAction": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SqsAction": { + "additionalProperties": false, + "properties": { + "QueueUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.StepFunctionsAction": { + "additionalProperties": false, + "properties": { + "ExecutionNamePrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StateMachineName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TopicRulePayload": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" + }, + "AwsIotSqlVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "RuleDisabled": { + "type": "boolean" + }, + "Sql": { + "type": "string" + } + }, + "required": [ + "Actions", + "Sql" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { + "additionalProperties": false, + "properties": { + "ConfirmationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ChannelStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Action": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + }, + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" + } + }, + "required": [ + "ActionName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ContainerAction": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" + }, + "EntryName": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { + "additionalProperties": false, + "properties": { + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTime": { + "additionalProperties": false, + "properties": { + "OffsetSeconds": { + "type": "number" + }, + "TimeExpression": { + "type": "string" + } + }, + "required": [ + "OffsetSeconds", + "TimeExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { + "additionalProperties": false, + "properties": { + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutInMinutes" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Filter": { + "additionalProperties": false, + "properties": { + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRule": { + "additionalProperties": false, + "properties": { + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "RuleConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { + "additionalProperties": false, + "properties": { + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { + "additionalProperties": false, + "properties": { + "FileName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.QueryAction": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "SqlQuery" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { + "additionalProperties": false, + "properties": { + "ComputeType": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "required": [ + "NumberOfDays", + "Unlimited" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Trigger": { + "additionalProperties": false, + "properties": { + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" + }, + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "required": [ + "DatasetName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Variable": { + "additionalProperties": false, + "properties": { + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + }, + "DoubleValue": { + "type": "number" + }, + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + }, + "StringValue": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "VariableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "DatastorePartitions": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" + }, + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + }, + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Datastore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Column": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartition": { + "additionalProperties": false, + "properties": { + "Partition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" + }, + "TimestampPartition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartitions": { + "additionalProperties": false, + "properties": { + "Partitions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { + "additionalProperties": false, + "properties": { + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" + }, + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { + "additionalProperties": false, + "properties": { + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Partition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.TimestampPartition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "TimestampFormat": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineActivities": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + }, + "type": "array" + }, + "PipelineName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineActivities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Activity": { + "additionalProperties": false, + "properties": { + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + }, + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + }, + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" + }, + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.AddAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Channel": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Datastore": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Filter": { + "additionalProperties": false, + "properties": { + "Filter": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Lambda": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "LambdaName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Math": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Math": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + }, + "DetectorModelDescription": { + "type": "string" + }, + "DetectorModelName": { + "type": "string" + }, + "EvaluationMethod": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::DetectorModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Action": { + "additionalProperties": false, + "properties": { + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, + "IotTopicPublish": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ClearTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { + "type": "string" + }, + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" + }, + "type": "array" + } + }, + "required": [ + "InitialStateName", + "States" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Event": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + } + }, + "required": [ + "EventName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotEvents": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "InputName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" + } + }, + "required": [ + "PropertyValue" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "MqttTopic" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + }, + "TransitionEvents": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContentExpression", + "Type" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ResetTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetTimer": { + "additionalProperties": false, + "properties": { + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "Value", + "VariableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sns": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sqs": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "required": [ + "StateName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" + } + }, + "required": [ + "Condition", + "EventName", + "NextState" + ], + "type": "object" + }, + "AWS::IoTEvents::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + }, + "InputDescription": { + "type": "string" + }, + "InputName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InputDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.Attribute": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "required": [ + "Attributes" + ], + "type": "object" + }, + "AWS::IoTFleetHub::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTFleetHub::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" + }, + "AccessPolicyPermission": { + "type": "string" + }, + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" + } + }, + "required": [ + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AccessPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" + }, + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelId", + "AssetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" + }, + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { + "additionalProperties": false, + "properties": { + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "Offset": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardDefinition": { + "type": "string" + }, + "DashboardDescription": { + "type": "string" + }, + "DashboardName": { + "type": "string" + }, + "ProjectId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DashboardDefinition", + "DashboardDescription", + "DashboardName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alarms": { + "type": "object" + }, + "NotificationSenderEmail": { + "type": "string" + }, + "PortalAuthMode": { + "type": "string" + }, + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalContactEmail", + "PortalName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Portal" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PortalId": { + "type": "string" + }, + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalId", + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "ExpressionType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ExpressionType", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::DeviceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { + "additionalProperties": false, + "properties": { + "ClassBTimeout": { + "type": "number" + }, + "ClassCTimeout": { + "type": "number" + }, + "MacVersion": { + "type": "string" + }, + "MaxDutyCycle": { + "type": "number" + }, + "MaxEirp": { + "type": "number" + }, + "PingSlotDr": { + "type": "number" + }, + "PingSlotFreq": { + "type": "number" + }, + "PingSlotPeriod": { + "type": "number" + }, + "RegParamsRevision": { + "type": "string" + }, + "RfRegion": { + "type": "string" + }, + "Supports32BitFCnt": { + "type": "boolean" + }, + "SupportsClassB": { + "type": "boolean" + }, + "SupportsClassC": { + "type": "boolean" + }, + "SupportsJoin": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountLinked": { + "type": "boolean" + }, + "Fingerprint": { + "type": "string" + }, + "PartnerAccountId": { + "type": "string" + }, + "PartnerType": { + "type": "string" + }, + "Sidewalk": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" + }, + "SidewalkUpdate": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::PartnerAccount" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "required": [ + "AppServerPrivateKey" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::ServiceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoCreateTasks": { + "type": "boolean" + }, + "LoRaWANUpdateGatewayTaskEntry": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinitionType": { + "type": "string" + }, + "Update": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" + } + }, + "required": [ + "AutoCreateTasks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { + "additionalProperties": false, + "properties": { + "Model": { + "type": "string" + }, + "PackageVersion": { + "type": "string" + }, + "Station": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "SigKeyCrc": { + "type": "number" + }, + "UpdateSignature": { + "type": "string" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" + }, + "UpdateDataRole": { + "type": "string" + }, + "UpdateDataSource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationName": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessDevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV10x": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV11": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { + "additionalProperties": false, + "properties": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { + "type": "string" + }, + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { + "additionalProperties": false, + "properties": { + "AppEui": { + "type": "string" + }, + "AppKey": { + "type": "string" + } + }, + "required": [ + "AppEui", + "AppKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV11": { + "additionalProperties": false, + "properties": { + "AppKey": { + "type": "string" + }, + "JoinEui": { + "type": "string" + }, + "NwkKey": { + "type": "string" + } + }, + "required": [ + "AppKey", + "JoinEui", + "NwkKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "NwkSKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "NwkSKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "FNwkSIntKey": { + "type": "string" + }, + "NwkSEncKey": { + "type": "string" + }, + "SNwkSIntKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "LoRaWAN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { + "additionalProperties": false, + "properties": { + "GatewayEui": { + "type": "string" + }, + "RfRegion": { + "type": "string" + } + }, + "required": [ + "GatewayEui", + "RfRegion" + ], + "type": "object" + }, + "AWS::KMS::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasName": { + "type": "string" + }, + "TargetKeyId": { + "type": "string" + } + }, + "required": [ + "AliasName", + "TargetKeyId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::Key": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { + "type": "string" + }, + "KeyUsage": { + "type": "string" + }, + "MultiRegion": { + "type": "boolean" + }, + "PendingWindowInDays": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Key" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "IndexId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.AccessControlListConfiguration": { + "additionalProperties": false, + "properties": { + "KeyPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { + "type": "string" + } + }, + "required": [ + "AllowedGroupsColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ColumnConfiguration": { + "additionalProperties": false, + "properties": { + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DocumentDataColumnName": { + "type": "string" + }, + "DocumentIdColumnName": { + "type": "string" + }, + "DocumentTitleColumnName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" + }, + "CrawlAttachments": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { + "additionalProperties": false, + "properties": { + "BlogFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" + }, + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" + }, + "Version": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { + "additionalProperties": false, + "properties": { + "PageFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlArchivedSpaces": { + "type": "boolean" + }, + "CrawlPersonalSpaces": { + "type": "boolean" + }, + "ExcludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpaceFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConnectionConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DatabaseConfiguration": { + "additionalProperties": false, + "properties": { + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + }, + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + }, + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + }, + "DatabaseEngineType": { + "type": "string" + }, + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "S3Prefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { + "additionalProperties": false, + "properties": { + "ExcludeMimeTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeSharedDrives": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeUserAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveConfiguration": { + "additionalProperties": false, + "properties": { + "DisableLocalGroups": { + "type": "boolean" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + }, + "SecretArn": { + "type": "string" + }, + "TenantDomain": { + "type": "string" + } + }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveUsers": { + "additionalProperties": false, + "properties": { + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + }, + "BucketName": { + "type": "string" + }, + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPrefixes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeFilterTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceConfiguration": { + "additionalProperties": false, + "properties": { + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" + }, + "CrawlAttachments": { + "type": "boolean" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" + }, + "StandardObjectConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SecretArn", + "ServerUrl" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CustomKnowledgeArticleTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" + }, + "IncludedStates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" + } + }, + "required": [ + "IncludedStates" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowConfiguration": { + "additionalProperties": false, + "properties": { + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { + "type": "string" + } + }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SharePointConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DisableLocalGroups": { + "type": "boolean" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + }, + "SharePointVersion": { + "type": "string" + }, + "Urls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UseChangeLog": { + "type": "boolean" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SqlConfiguration": { + "additionalProperties": false, + "properties": { + "QueryIdentifiersEnclosingOption": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Faq": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::Index": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Index.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "QueryCapacityUnits": { + "type": "number" + }, + "StorageCapacityUnits": { + "type": "number" + } + }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], + "type": "object" + }, + "AWS::Kendra::Index.DocumentMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" + }, + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "GroupAttributeField": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], + "type": "object" + }, + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "ClaimRegex": { + "type": "string" + }, + "GroupAttributeField": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "KeyLocation": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "URL": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "Freshness": { + "type": "boolean" + }, + "Importance": { + "type": "number" + }, + "RankOrder": { + "type": "string" + }, + "ValueImportanceItems": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.Search": { + "additionalProperties": false, + "properties": { + "Displayable": { + "type": "boolean" + }, + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.UserTokenConfiguration": { + "additionalProperties": false, + "properties": { + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" + }, + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ValueImportanceItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ShardCount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KeyId": { + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationMode": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + }, + "CodeContentType": { + "type": "string" + } + }, + "required": [ + "CodeContent", + "CodeContentType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + }, + "ZeppelinApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { + "additionalProperties": false, + "properties": { + "SnapshotsEnabled": { + "type": "boolean" + } + }, + "required": [ + "SnapshotsEnabled" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { + "additionalProperties": false, + "properties": { + "GlueDataCatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointInterval": { + "type": "number" + }, + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CodeContent": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { + "type": "string" + }, + "ZipFileContent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactType": { + "type": "string" + }, + "MavenReference": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" + }, + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + } + }, + "required": [ + "ArtifactType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" + } + }, + "required": [ + "S3ContentLocation" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { + "additionalProperties": false, + "properties": { + "PropertyGroups": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" + }, + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MavenReference": { + "additionalProperties": false, + "properties": { + "ArtifactId": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ArtifactId", + "GroupId", + "Version" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "MetricsLevel": { + "type": "string" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "Parallelism": { + "type": "number" + }, + "ParallelismPerKPU": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "additionalProperties": false, + "properties": { + "PropertyGroupId": { + "type": "string" + }, + "PropertyMap": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "BucketARN": { + "type": "string" + } + }, + "required": [ + "BasePath", + "BucketARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" + }, + "CustomArtifactsConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" + }, + "DeployAsApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "LogStreamARN": { + "type": "string" + } + }, + "required": [ + "LogStreamARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, + "DeliveryStreamName": { + "type": "string" + }, + "DeliveryStreamType": { + "type": "string" + }, + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" + }, + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" + }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" + }, + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisFirehose::DeliveryStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "additionalProperties": false, + "properties": { + "CopyOptions": { + "type": "string" + }, + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" + } + }, + "required": [ + "DataTableName" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + }, + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + }, + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "additionalProperties": false, + "properties": { + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + }, + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "type": "string" + }, + "DomainARN": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "IndexRotationPeriod": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "TypeName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" + } + }, + "required": [ + "IndexName", + "RoleARN", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "additionalProperties": false, + "properties": { + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "additionalProperties": false, + "properties": { + "AWSKMSKeyARN": { + "type": "string" + } + }, + "required": [ + "AWSKMSKeyARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "KinesisStreamARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "additionalProperties": false, + "properties": { + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "BloomFilterColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BloomFilterFalsePositiveProbability": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { + "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "EnableDictionaryCompression": { + "type": "boolean" + }, + "MaxPaddingBytes": { + "type": "number" + }, + "PageSizeBytes": { + "type": "number" + }, + "WriterVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Processors": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Processor": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterJDBCURL": { + "type": "string" + }, + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { + "type": "number" + }, + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { + "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::DataLakeSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsWithGrantOption": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" + } + }, + "required": [ + "DataLakePrincipal", + "Resource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Permissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.Resource": { + "additionalProperties": false, + "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, + "DatabaseResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" + }, + "TableResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseServiceLinkedRole": { + "type": "boolean" + } + }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" + } + }, + "required": [ + "FunctionName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" + }, + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AllowedPublishers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::CodeSigningConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + }, + "FunctionName": { + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "Qualifier": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventInvokeConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionResponseTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "StartingPositionTimestamp": { + "type": "number" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventSourceMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" + } + }, + "required": [ + "Code", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Function.Code": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, + "AWS::Lambda::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion.Content": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersionPermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "LayerVersionArn": { + "type": "string" + }, + "OrganizationId": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Action", + "LayerVersionArn", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersionPermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Permission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "EventSourceToken": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "Action", + "FunctionName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { + "type": "string" + }, + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::Grant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LicenseManager::License": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Beneficiary": { + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "type": "array" + }, + "HomeRegion": { + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "type": "array" + }, + "LicenseName": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProductSKU": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" + } + }, + "required": [ + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Overage": { + "type": "boolean" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SignKey": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "type": "string" + }, + "End": { + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + } + }, + "required": [ + "CollectionName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" + }, + "Description": { + "type": "string" + }, + "MapName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "Configuration", + "MapName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Map" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "DataSource", + "IndexName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::PlaceIndex" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CalculatorName": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "CalculatorName", + "DataSource", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::RouteCalculator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Tracker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "PricingPlan", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Tracker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::TrackerConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerArn": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "ConsumerArn", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::TrackerConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationName": { + "type": "string" + }, + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::LogGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RetentionInDays": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Logs::LogStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MetricTransformations": { + "items": { + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + }, + "type": "array" + } + }, + "required": [ + "FilterPattern", + "LogGroupName", + "MetricTransformations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::MetricFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter.MetricTransformation": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricValue": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], + "type": "object" + }, + "AWS::Logs::QueryDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "required": [ + "Name", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::QueryDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::SubscriptionFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { + "type": "object" + }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, + "AlertDescription": { + "type": "string" + }, + "AlertName": { + "type": "string" + }, + "AlertSensitivityThreshold": { + "type": "number" + }, + "AnomalyDetectorArn": { + "type": "string" + } + }, + "required": [ + "Action", + "AlertSensitivityThreshold", + "AnomalyDetectorArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::Alert" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" + }, + "AnomalyDetectorDescription": { + "type": "string" + }, + "AnomalyDetectorName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MetricSetList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" + }, + "type": "array" + } + }, + "required": [ + "AnomalyDetectorConfig", + "MetricSetList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { + "additionalProperties": false, + "properties": { + "FlowName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FlowName", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "FileCompression": { + "type": "string" + }, + "HeaderList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { + "additionalProperties": false, + "properties": { + "CsvFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" + }, + "JsonFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "FileCompression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.Metric": { + "additionalProperties": false, + "properties": { + "AggregationFunction": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "AggregationFunction", + "MetricName" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { + "additionalProperties": false, + "properties": { + "DimensionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" + }, + "type": "array" + }, + "MetricSetDescription": { + "type": "string" + }, + "MetricSetFrequency": { + "type": "string" + }, + "MetricSetName": { + "type": "string" + }, + "MetricSource": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" + }, + "Offset": { + "type": "number" + }, + "TimestampColumn": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "MetricList", + "MetricSetName", + "MetricSource" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { + "additionalProperties": false, + "properties": { + "AppFlowConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" + }, + "CloudwatchConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" + }, + "RDSSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" + }, + "RedshiftSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" + }, + "S3SourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { + "additionalProperties": false, + "properties": { + "DBInstanceIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "DBInstanceIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { + "additionalProperties": false, + "properties": { + "ClusterIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "ClusterIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { + "additionalProperties": false, + "properties": { + "FileFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" + }, + "HistoricalDataPathList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TemplatedPathList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FileFormatDescriptor", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { + "additionalProperties": false, + "properties": { + "ColumnFormat": { + "type": "string" + }, + "ColumnName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIdList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIdList", + "SubnetIdList" + ], + "type": "object" + }, + "AWS::LookoutVision::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutVision::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" + }, + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { + "type": "string" + }, + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { + "type": "string" + }, + "KafkaVersion": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MSK::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.BrokerNodeGroupInfo": { + "additionalProperties": false, + "properties": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ConfigurationInfo": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Iam": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.JmxExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, + "AWS::MSK::Cluster.NodeExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Sasl": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::MSK::Cluster.Iam" + }, + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AirflowConfigurationOptions": { + "type": "object" + }, + "AirflowVersion": { + "type": "string" + }, + "DagS3Path": { + "type": "string" + }, + "EnvironmentClass": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" + }, + "MaxWorkers": { + "type": "number" + }, + "MinWorkers": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { + "type": "string" + }, + "PluginsS3Path": { + "type": "string" + }, + "RequirementsS3ObjectVersion": { + "type": "string" + }, + "RequirementsS3Path": { + "type": "string" + }, + "Schedulers": { + "type": "number" + }, + "SourceBucketArn": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" + }, + "WebserverAccessMode": { + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MWAA::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InvitationId": { + "type": "string" + }, + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" + }, + "NetworkId": { + "type": "string" + } + }, + "required": [ + "MemberConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MemberId": { + "type": "string" + }, + "NetworkId": { + "type": "string" + }, + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + } + }, + "required": [ + "NetworkId", + "NodeConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Node" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" + }, + "EntitlementStatus": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Description", + "FlowArn", + "Name", + "Subscribers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowEntitlement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Destination": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" + }, + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "required": [ + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowVpcInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowVpcInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::JobTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Preset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Preset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" + }, + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" + }, + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel.AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Ac3Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveCdnSettings": { + "additionalProperties": false, + "properties": { + "ArchiveS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AribDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" + }, + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" + }, + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" + }, + "type": "array" + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailSettings": { + "additionalProperties": false, + "properties": { + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDescription": { + "additionalProperties": false, + "properties": { + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "LeftOffset": { + "type": "number" + }, + "TopOffset": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "CopyrightHolder": { + "type": "string" + }, + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" + }, + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" + }, + "type": "array" + }, + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "number" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FrameCaptureCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "number" + }, + "CaptureIntervalUnits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "number" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufFillPct": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "FrameCaptureHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "OutputRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" + }, + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::GlobalNetwork": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::NetworkManager::Link": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::TransitGatewayRegistration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchProfileProtocolVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "StreamConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" + }, + "StudioComponentIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2SubnetIds", + "LaunchProfileProtocolVersions", + "Name", + "StreamConfiguration", + "StudioComponentIds", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::LaunchProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "ClipboardMode": { + "type": "string" + }, + "Ec2InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionLengthInMinutes": { + "type": "number" + }, + "StreamingImageIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClipboardMode", + "Ec2InstanceTypes", + "StreamingImageIds" + ], + "type": "object" + }, + "AWS::NimbleStudio::StreamingImage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2ImageId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2ImageId", + "Name", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StreamingImage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdminRoleArn": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "StudioEncryptionConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" + }, + "StudioName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UserRoleArn": { + "type": "string" + } + }, + "required": [ + "AdminRoleArn", + "DisplayName", + "StudioName", + "UserRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" + }, + "Description": { + "type": "string" + }, + "Ec2SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InitializationScripts": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScriptParameters": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Subtype": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StudioId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StudioComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "ComputerAttributes": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" + }, + "type": "array" + }, + "DirectoryId": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryUser": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "LinuxMountPoint": { + "type": "string" + }, + "ShareName": { + "type": "string" + }, + "WindowsMountDrive": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" + }, + "ComputeFarmConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" + }, + "LicenseServiceConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" + }, + "SharedFileSystemConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { + "additionalProperties": false, + "properties": { + "LaunchProfileProtocolVersion": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "RunContext": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::BaiduChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "FromAddress": { + "type": "string" + }, + "HtmlBody": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + }, + "FilterType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "EntityId": { + "type": "string" + }, + "MessageType": { + "type": "string" + }, + "OriginationNumber": { + "type": "string" + }, + "SenderId": { + "type": "string" + }, + "TemplateId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + }, + "Metrics": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageSmallIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "JsonBody": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "RawContent": { + "type": "string" + }, + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { + "type": "number" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MessageConfiguration": { + "additionalProperties": false, + "properties": { + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MetricDimension": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" + }, + "Frequency": { + "type": "string" + }, + "IsLocalTime": { + "type": "boolean" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + }, + "StartTime": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { + "additionalProperties": false, + "properties": { + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::EmailChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EmailTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EventStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::GCMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ADM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "APNS": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + }, + "Baidu": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Default": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "GCM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "SmallImageIconUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::SMSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Behavior": { + "additionalProperties": false, + "properties": { + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "type": "number" + }, + "Longitude": { + "type": "number" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Demographic": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.GPSPoint": { + "additionalProperties": false, + "properties": { + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + }, + "RangeInKilometers": { + "type": "number" + } + }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Groups": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" + }, + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Location": { + "additionalProperties": false, + "properties": { + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Recency": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "RecencyType": { + "type": "string" + } + }, + "required": [ + "Duration", + "RecencyType" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentGroups": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SourceSegments": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::Pinpoint::SmsTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::VoiceChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "additionalProperties": false, + "properties": { + "SendingPoolName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" + }, + "EventDestinationName": { + "type": "string" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::DedicatedIpPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DkimSigningEnabled": { + "type": "boolean" + }, + "FeedbackForwardingEnabled": { + "type": "boolean" + }, + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::Identity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::Identity.MailFromAttributes": { + "additionalProperties": false, + "properties": { + "BehaviorOnMxFailure": { + "type": "string" + }, + "MailFromDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionsMode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PermissionsMode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Ledger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalysisId": { + "type": "string" + }, + "AwsAccountId": { + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + } + }, + "required": [ + "AnalysisId", + "AwsAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Analysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisError": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Sheet": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SheetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DashboardId": { + "type": "string" + }, + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "DashboardId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { + "additionalProperties": false, + "properties": { + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" + }, + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" + }, + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.ExportToCSVOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetControlsOption": { + "additionalProperties": false, + "properties": { + "VisibilityState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "ColumnGroups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" + }, + "type": "array" + }, + "ColumnLevelPermissionRules": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" + }, + "type": "array" + }, + "DataSetId": { + "type": "string" + }, + "FieldFolders": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" + } + }, + "type": "object" + }, + "ImportMode": { + "type": "string" + }, + "IngestionWaitPolicy": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" + }, + "LogicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" + }, + "type": "array" + }, + "PhysicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" + } + }, + "type": "object" + }, + "RowLevelPermissionDataSet": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CalculatedColumn": { + "additionalProperties": false, + "properties": { + "ColumnId": { + "type": "string" + }, + "ColumnName": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "ColumnId", + "ColumnName", + "Expression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CastColumnTypeOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "NewColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnType" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnDescription": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnGroup": { + "additionalProperties": false, + "properties": { + "GeoSpatialColumnGroup": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnTag": { + "additionalProperties": false, + "properties": { + "ColumnDescription": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" + }, + "ColumnGeographicRole": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.CreateColumnsOperation": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" + }, + "type": "array" + } + }, + "required": [ + "Columns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CustomSql": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "DataSourceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "Columns", + "DataSourceArn", + "Name", + "SqlQuery" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.FieldFolder": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.FilterOperation": { + "additionalProperties": false, + "properties": { + "ConditionExpression": { + "type": "string" + } + }, + "required": [ + "ConditionExpression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CountryCode": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Columns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.IngestionWaitPolicy": { + "additionalProperties": false, + "properties": { + "IngestionWaitTimeInHours": { + "type": "number" + }, + "WaitForSpiceIngestion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.InputColumn": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinInstruction": { + "additionalProperties": false, + "properties": { + "LeftJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "LeftOperand": { + "type": "string" + }, + "OnClause": { + "type": "string" + }, + "RightJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "RightOperand": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "LeftOperand", + "OnClause", + "RightOperand", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinKeyProperties": { + "additionalProperties": false, + "properties": { + "UniqueKey": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTable": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DataTransforms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" + }, + "type": "array" + }, + "Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" + } + }, + "required": [ + "Alias", + "Source" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTableSource": { + "additionalProperties": false, + "properties": { + "JoinInstruction": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" + }, + "PhysicalTableId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.OutputColumn": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.PhysicalTable": { + "additionalProperties": false, + "properties": { + "CustomSql": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" + }, + "RelationalTable": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" + }, + "S3Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ProjectOperation": { + "additionalProperties": false, + "properties": { + "ProjectedColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ProjectedColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RelationalTable": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "DataSourceArn", + "InputColumns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RenameColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "NewColumnName": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnName" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FormatVersion": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "PermissionPolicy": { + "type": "string" + } + }, + "required": [ + "Arn", + "PermissionPolicy" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.S3Source": { + "additionalProperties": false, + "properties": { + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "UploadSettings": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" + } + }, + "required": [ + "DataSourceArn", + "InputColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TagColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" + }, + "type": "array" + } + }, + "required": [ + "ColumnName", + "Tags" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TransformOperation": { + "additionalProperties": false, + "properties": { + "CastColumnTypeOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" + }, + "CreateColumnsOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" + }, + "FilterOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" + }, + "ProjectOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" + }, + "RenameColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" + }, + "TagColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.UploadSettings": { + "additionalProperties": false, + "properties": { + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "StartFromRow": { + "type": "number" + }, + "TextQualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "AwsAccountId": { + "type": "string" + }, + "Credentials": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" + }, + "DataSourceId": { + "type": "string" + }, + "DataSourceParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "ErrorInfo": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" + }, + "type": "array" + }, + "SslProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "VpcConnectionProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + } + }, + "required": [ + "Domain" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AthenaParameters": { + "additionalProperties": false, + "properties": { + "WorkGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.CredentialPair": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceCredentials": { + "additionalProperties": false, + "properties": { + "CopySourceArn": { + "type": "string" + }, + "CredentialPair": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceErrorInfo": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceParameters": { + "additionalProperties": false, + "properties": { + "AmazonElasticsearchParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" + }, + "AthenaParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" + }, + "AuroraParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" + }, + "AuroraPostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" + }, + "MariaDbParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" + }, + "MySqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" + }, + "OracleParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" + }, + "PostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" + }, + "PrestoParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" + }, + "RdsParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" + }, + "RedshiftParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" + }, + "S3Parameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" + }, + "SnowflakeParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" + }, + "SparkParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" + }, + "SqlServerParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" + }, + "TeradataParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.ManifestFileLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MariaDbParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MySqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.OracleParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PrestoParameters": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Catalog", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RdsParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "InstanceId": { + "type": "string" + } + }, + "required": [ + "Database", + "InstanceId" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RedshiftParameters": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.S3Parameters": { + "additionalProperties": false, + "properties": { + "ManifestFileLocation": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" + } + }, + "required": [ + "ManifestFileLocation" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SnowflakeParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "Database", + "Host", + "Warehouse" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SparkParameters": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SqlServerParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SslProperties": { + "additionalProperties": false, + "properties": { + "DisableSsl": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.TeradataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.VpcConnectionProperties": { + "additionalProperties": false, + "properties": { + "VpcConnectionArn": { + "type": "string" + } + }, + "required": [ + "VpcConnectionArn" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "TemplateId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Template.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "BaseThemeId": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "ThemeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Theme" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.BorderStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmptyFillColor": { + "type": "string" + }, + "MinMaxGradient": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.SheetStyle": { + "additionalProperties": false, + "properties": { + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.UIColorPalette": { + "additionalProperties": false, + "properties": { + "Accent": { + "type": "string" + }, + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BacktrackWindow": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSourceIdentifier": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "string" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "type": "number" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { + "type": "string" + }, + "IdleClientTimeout": { + "type": "number" + }, + "RequireTLS": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy.AuthFormat": { + "additionalProperties": false, + "properties": { + "AuthScheme": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBProxyEndpointName": { + "type": "string" + }, + "DBProxyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" + }, + "type": "array" + }, + "TargetRole": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBProxyEndpointName", + "DBProxyName", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" + }, + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "TargetGroupName": { + "type": "string" + } + }, + "required": [ + "DBProxyName", + "TargetGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" + }, + "EC2VpcId": { + "type": "string" + }, + "GroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSecurityGroupIngress", + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "DBSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::GlobalCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EngineName": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "OptionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" + }, + "type": "array" + }, + "OptionGroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::OptionGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionConfiguration": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OptionName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "type": "array" + }, + "OptionVersion": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OptionName" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionSetting": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "ClusterParameterGroupName": { + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::Cluster.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupFamily": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "ParameterGroupFamily" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "ClusterSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "ClusterSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationItem": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RoboMaker::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RoboMaker::Robot": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Fleet": { + "type": "string" + }, + "GreengrassGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::DNSSEC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckConfig": { + "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" + } + }, + "required": [ + "HealthCheckConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HealthCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + }, + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HostedZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.QueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "type": "string" + }, + "VPCRegion": { + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::RecoveryGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceSetName": { + "type": "string" + }, + "ResourceSetType": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceSetName", + "ResourceSetType", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ResourceSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneArn": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + }, + "RecordType": { + "type": "string" + }, + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "additionalProperties": false, + "properties": { + "ComponentId": { + "type": "string" + }, + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" + }, + "ReadinessScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" + }, + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" + } + }, + "type": "object" + }, + "AWS::Route53Resolver::FirewallDomainList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainFileUrl": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallDomainList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRules": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "BlockOverrideDnsType": { + "type": "string" + }, + "BlockOverrideDomain": { + "type": "string" + }, + "BlockOverrideTtl": { + "type": "number" + }, + "BlockResponse": { + "type": "string" + }, + "FirewallDomainListId": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Action", + "FirewallDomainListId", + "Priority" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRuleGroupId": { + "type": "string" + }, + "MutationProtection": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallRuleGroupId", + "Priority", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResolverEndpointId": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RuleType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { + "type": "string" + } + }, + "required": [ + "ResolverRuleId", + "VPCId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRuleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "PolicyStatus": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + }, + "AccessControl": { + "type": "string" + }, + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "type": "array" + }, + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" + }, + "BucketName": { + "type": "string" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + }, + "ObjectLockEnabled": { + "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MaxAge": { + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "OutputSchemaVersion": { + "type": "string" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::Bucket.DefaultRetention": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Status", + "Tierings" + ], + "type": "object" + }, + "AWS::S3::Bucket.InventoryConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3::Bucket.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" + }, + "LogFilePrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.MetricsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::S3::Bucket.NoncurrentVersionTransition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass", + "TransitionInDays" + ], + "type": "object" + }, + "AWS::S3::Bucket.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" + }, + "QueueConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockConfiguration": { + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControlsRule": { + "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "Event", + "Queue" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectAllRequestsTo": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "HostName" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectRule": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "HttpRedirectCode": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Role", + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" + }, + "Account": { + "type": "string" + }, + "Bucket": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRule": { + "additionalProperties": false, + "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Destination", + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRule": { + "additionalProperties": false, + "properties": { + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + }, + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + } + }, + "required": [ + "RedirectRule" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRuleCondition": { + "additionalProperties": false, + "properties": { + "HttpErrorCodeReturnedEquals": { + "type": "string" + }, + "KeyPrefixEquals": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "ExpiredObjectDeleteMarker": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.S3KeyFilter": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyID": { + "type": "string" + }, + "SSEAlgorithm": { + "type": "string" + } + }, + "required": [ + "SSEAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionRule": { + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SourceSelectionCriteria": { + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.StorageClassAnalysis": { + "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.Tiering": { + "additionalProperties": false, + "properties": { + "AccessTier": { + "type": "string" + }, + "Days": { + "type": "number" + } + }, + "required": [ + "AccessTier", + "Days" + ], + "type": "object" + }, + "AWS::S3::Bucket.TopicConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "Event", + "Topic" + ], + "type": "object" + }, + "AWS::S3::Bucket.Transition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionDate": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass" + ], + "type": "object" + }, + "AWS::S3::Bucket.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.WebsiteConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "type": "string" + }, + "IndexDocument": { + "type": "string" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + }, + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StorageLensConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLens" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens.AccountLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" + } + }, + "required": [ + "BucketLevel" + ], + "type": "object" + }, + "AWS::S3::StorageLens.ActivityMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AwsOrg": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::S3::StorageLens.BucketLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.BucketsAndRegions": { + "additionalProperties": false, + "properties": { + "Buckets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" + } + }, + "required": [ + "S3BucketDestination" + ], + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { + "additionalProperties": false, + "properties": { + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" + } + }, + "required": [ + "StorageMetrics" + ], + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + }, + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.S3BucketDestination": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" + }, + "Format": { + "type": "string" + }, + "OutputSchemaVersion": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::StorageLens.SelectionCriteria": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "MaxDepth": { + "type": "number" + }, + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" + }, + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" + }, + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { + "type": "string" + }, + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { + "type": "boolean" + }, + "StorageLensArn": { + "type": "string" + } + }, + "required": [ + "AccountLevel", + "Id", + "IsEnabled" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectLambdaConfiguration": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedFeatures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "SupportingAccessPoint": { + "type": "string" + }, + "TransformationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SupportingAccessPoint", + "TransformationConfigurations" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentTransformation": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPointPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ObjectLambdaAccessPoint": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "ObjectLambdaAccessPoint", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket", + "Name", + "VpcConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" + }, + "OutpostId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BucketName", + "OutpostId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, + "OutpostId": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "OutpostId", + "SecurityGroupId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::SDB::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SDB::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamARN": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamARN", + "IAMRoleARN" + ], + "type": "object" + }, + "AWS::SES::ContactList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactListName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Topics": { + "items": { + "$ref": "#/definitions/AWS::SES::ContactList.Topic" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ContactList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ContactList.Topic": { + "additionalProperties": false, + "properties": { + "DefaultSubscriptionStatus": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "TopicName": { + "type": "string" + } + }, + "required": [ + "DefaultSubscriptionStatus", + "DisplayName", + "TopicName" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + } + }, + "required": [ + "Filter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.Filter": { + "additionalProperties": false, + "properties": { + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "IpFilter" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Policy": { + "type": "string" + } + }, + "required": [ + "Cidr", + "Policy" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "After": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "Rule", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Action": { + "additionalProperties": false, + "properties": { + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" + }, + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.BounceAction": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Sender": { + "type": "string" + }, + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Message", + "Sender", + "SmtpReplyCode" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleSetName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template.Template": { + "additionalProperties": false, + "properties": { + "HtmlPart": { + "type": "string" + }, + "SubjectPart": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SNS::Subscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { + "type": "string" + }, + "FilterPolicy": { + "type": "object" + }, + "Protocol": { + "type": "string" + }, + "RawMessageDelivery": { + "type": "boolean" + }, + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Protocol", + "TopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SNS::Topic": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DisplayName": { + "type": "string" + }, + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Topic" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Topics" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::TopicPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SQS::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DeduplicationScope": { + "type": "string" + }, + "DelaySeconds": { + "type": "number" + }, + "FifoQueue": { + "type": "boolean" + }, + "FifoThroughputLimit": { + "type": "string" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "number" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "MaximumMessageSize": { + "type": "number" + }, + "MessageRetentionPeriod": { + "type": "number" + }, + "QueueName": { + "type": "string" + }, + "ReceiveMessageWaitTimeSeconds": { + "type": "number" + }, + "RedrivePolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SQS::QueuePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { + "type": "string" + }, + "AutomationTargetParameterName": { + "type": "string" + }, + "CalendarNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ComplianceSeverity": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "ScheduleExpression": { + "type": "string" + }, + "SyncCompliance": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Association" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "additionalProperties": false, + "properties": { + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "OutputS3Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::Document": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attachments": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" + }, + "type": "array" + }, + "Content": { + "type": "object" + }, + "DocumentFormat": { + "type": "string" + }, + "DocumentType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Requires": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "VersionName": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Document" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Document.AttachmentsSource": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Document.DocumentRequires": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Duration": { + "type": "number" + }, + "EndDate": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "type": "array" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget.Targets": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + }, + "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "Priority", + "TaskArn", + "TaskType", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "type": "string" + }, + "NotificationEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NotificationType": { + "type": "string" + } + }, + "required": [ + "NotificationArn" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policies": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Parameter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchSource": { + "additionalProperties": false, + "properties": { + "Configuration": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SSM::PatchBaseline.Rule": { + "additionalProperties": false, + "properties": { + "ApproveAfterDays": { + "type": "number" + }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, + "ComplianceLevel": { + "type": "string" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::ResourceDataSync": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "SyncName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { + "additionalProperties": false, + "properties": { + "OrganizationSourceType": { + "type": "string" + }, + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OrganizationSourceType" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.S3Destination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketRegion", + "SyncFormat" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.SyncSource": { + "additionalProperties": false, + "properties": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceRegions", + "SourceType" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "Plan": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Alias", + "DisplayName", + "Plan", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::Contact" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Stage": { + "additionalProperties": false, + "properties": { + "DurationInMinutes": { + "type": "number" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" + }, + "type": "array" + } + }, + "required": [ + "DurationInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Targets": { + "additionalProperties": false, + "properties": { + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" + }, + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" + } + }, + "type": "object" + }, + "AWS::SSMContacts::ContactChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelAddress": { + "type": "string" + }, + "ChannelName": { + "type": "string" + }, + "ChannelType": { + "type": "string" + }, + "ContactId": { + "type": "string" + }, + "DeferActivation": { + "type": "boolean" + } + }, + "required": [ + "ChannelAddress", + "ChannelName", + "ChannelType", + "ContactId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::ContactChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtected": { + "type": "boolean" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ReplicationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { + "additionalProperties": false, + "properties": { + "SseKmsKeyId": { + "type": "string" + } + }, + "required": [ + "SseKmsKeyId" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "additionalProperties": false, + "properties": { + "RegionConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" + }, + "type": "array" + }, + "ChatChannel": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" + }, + "DisplayName": { + "type": "string" + }, + "Engagements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncidentTemplate": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IncidentTemplate", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ResponsePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.Action": { + "additionalProperties": false, + "properties": { + "SsmAutomation": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "additionalProperties": false, + "properties": { + "ChatbotSns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { + "additionalProperties": false, + "properties": { + "DedupeString": { + "type": "string" + }, + "Impact": { + "type": "number" + }, + "NotificationTargets": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + }, + "type": "array" + }, + "Summary": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Impact", + "Title" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { + "additionalProperties": false, + "properties": { + "SnsTopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { + "additionalProperties": false, + "properties": { + "DocumentName": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TargetAccount": { + "type": "string" + } + }, + "required": [ + "DocumentName", + "RoleArn" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSO::Assignment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "type": "string" + }, + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Assignment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "type": "array" + }, + "InstanceArn": { + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "additionalProperties": false, + "properties": { + "Source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InlinePolicy": { + "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::PermissionSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppName": { + "type": "string" + }, + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + } + }, + "required": [ + "AppName", + "AppType", + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppImageConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AppImageConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "type": "number" + }, + "DefaultUid": { + "type": "number" + }, + "MountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeRepositoryName": { + "type": "string" + }, + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GitConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::CodeRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository.GitConfig": { + "additionalProperties": false, + "properties": { + "Branch": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "object" + }, + "DeviceFleetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Device.Device": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceName": { + "type": "string" + }, + "IotThingName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceFleetName": { + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DeviceFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "type": "string" + }, + "AuthMode": { + "type": "string" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProductionVariants" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::EndpointConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "additionalProperties": false, + "properties": { + "AcceleratorType": { + "type": "string" + }, + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventTimeFeatureName": { + "type": "string" + }, + "FeatureDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" + }, + "type": "array" + }, + "FeatureGroupName": { + "type": "string" + }, + "OfflineStoreConfig": { + "type": "object" + }, + "OnlineStoreConfig": { + "type": "object" + }, + "RecordIdentifierFeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::FeatureGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "FeatureType": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "FeatureType" + ], + "type": "object" + }, + "AWS::SageMaker::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "type": "string" + }, + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ImageVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BaseImage": { + "type": "string" + }, + "ImageName": { + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + } + }, + "required": [ + "ExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "type": "string" + }, + "Environment": { + "type": "object" + }, + "Image": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { + "type": "string" + }, + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + }, + "RepositoryAuthConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.RepositoryAuthConfig": { + "additionalProperties": false, + "properties": { + "RepositoryCredentialsProviderArn": { + "type": "string" + } + }, + "required": [ + "RepositoryCredentialsProviderArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" + }, + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" + }, + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" + }, + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" + }, + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelBiasJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackageGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModelPackageGroupDescription": { + "type": "string" + }, + "ModelPackageGroupName": { + "type": "string" + }, + "ModelPackageGroupPolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ModelPackageGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelPackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" + }, + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" + }, + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" + }, + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" + }, + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "ProblemType": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri", + "ProblemType" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "MonitoringJobDefinitionName": { + "type": "string" + }, + "MonitoringType": { + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalCodeRepositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultCodeRepository": { + "type": "string" + }, + "DirectInternetAccess": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecycleConfigName": { + "type": "string" + }, + "NotebookInstanceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RootAccess": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotebookInstanceLifecycleConfigName": { + "type": "string" + }, + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + }, + "OnStart": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstanceLifecycleConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineDefinition": { + "type": "object" + }, + "PipelineDescription": { + "type": "string" + }, + "PipelineDisplayName": { + "type": "string" + }, + "PipelineName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineDefinition", + "PipelineName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "ServiceCatalogProvisioningDetails": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProjectName", + "ServiceCatalogProvisioningDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainId": { + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "type": "string" + }, + "SingleSignOnUserValue": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" + } + }, + "required": [ + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Workteam": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BlockPublicPolicy": { + "type": "boolean" + }, + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Hub" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PathId": { + "type": "string" + }, + "PathName": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProvisionedProductName": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ProvisioningArtifactName": { + "type": "string" + }, + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { + "additionalProperties": false, + "properties": { + "StackSetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackSetFailureToleranceCount": { + "type": "number" + }, + "StackSetFailureTolerancePercentage": { + "type": "number" + }, + "StackSetMaxConcurrencyCount": { + "type": "number" + }, + "StackSetMaxConcurrencyPercentage": { + "type": "number" + }, + "StackSetOperationType": { + "type": "string" + }, + "StackSetRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + } + }, + "required": [ + "NotificationArns", + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchNotificationConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchRoleConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalRoleName": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchRoleConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchTemplateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchTemplateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::Portfolio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DisplayName", + "ProviderName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::Portfolio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "PrincipalARN": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "PrincipalARN", + "PrincipalType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioProductAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioProductAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountId": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" + } + }, + "required": [ + "AccountId", + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "TagUpdateOnProvisionedProduct": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ResourceUpdateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Definition": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" + }, + "type": "array" + }, + "DefinitionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceActionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProductId": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ServiceActionId": { + "type": "string" + } + }, + "required": [ + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceActionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::StackSetConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ExecutionRole": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackInstanceControl": { + "type": "string" + } + }, + "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", + "PortfolioId", + "ProductId", + "RegionList", + "StackInstanceControl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::StackSetConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Active": { + "type": "boolean" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOptionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + }, + "TagOptionId": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "TagOptionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOptionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Attributes", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "AttributeGroup": { + "type": "string" + } + }, + "required": [ + "Application", + "AttributeGroup" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "Application", + "Resource", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::HttpNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::HttpNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { + "type": "string" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "InstanceAttributes", + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Vpc": { + "type": "string" + } + }, + "required": [ + "Name", + "Vpc" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PrivateDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PublicDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, + "Name": { + "type": "string" + }, + "NamespaceId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "Action", + "Principal", + "ProfileName", + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::ProfilePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PlatformId": { + "type": "string" + }, + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PlatformId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::SigningProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::StepFunctions::Activity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::Activity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::Activity.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, + "DefinitionString": { + "type": "string" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + }, + "StateMachineType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" + }, + "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.Definition": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + }, + "VisualReference": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.BaseScreenshot": { + "additionalProperties": false, + "properties": { + "IgnoreCoordinates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScreenshotName": { + "type": "string" + } + }, + "required": [ + "ScreenshotName" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "required": [ + "Handler" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "ActiveTracing": { + "type": "boolean" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MemoryInMB": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VisualReference": { + "additionalProperties": false, + "properties": { + "BaseCanaryRunId": { + "type": "string" + }, + "BaseScreenshots": { + "items": { + "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" + }, + "type": "array" + } + }, + "required": [ + "BaseCanaryRunId" + ], + "type": "object" + }, + "AWS::Timestream::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Timestream::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "RetentionProperties": { + "type": "object" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Domain": { + "type": "string" + }, + "EndpointDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" + }, + "EndpointType": { + "type": "string" + }, + "IdentityProviderDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" + }, + "IdentityProviderType": { + "type": "string" + }, + "LoggingRole": { + "type": "string" + }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, + "SecurityPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Transfer::Server.EndpointDetails": { + "additionalProperties": false, + "properties": { + "AddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.IdentityProviderDetails": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + }, + "InvocationRole": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HomeDirectory": { + "type": "string" + }, + "HomeDirectoryMappings": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" + }, + "type": "array" + }, + "HomeDirectoryType": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, + "Role": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "SshPublicKeys": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Role", + "ServerId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::User.HomeDirectoryMapEntry": { + "additionalProperties": false, + "properties": { + "Entry": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Entry", + "Target" + ], + "type": "object" + }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::Transfer::User.SshPublicKey": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::WAF::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAF::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAF::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SizeConstraints" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::WebACL.ActivatedRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAF::WebACL.WafAction": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name", + "XssMatchTuples" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GeoMatchConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::GeoMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MatchPredicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RateKey": { + "type": "string" + }, + "RateLimit": { + "type": "number" + } + }, + "required": [ + "MetricName", + "Name", + "RateKey", + "RateLimit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RateBasedRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RegexPatternStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "RegexPatternStrings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Action": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Action", + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFv2::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "IPAddressVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Addresses", + "IPAddressVersion", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RegularExpressionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RegularExpressionList", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Capacity", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelSummary": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "type": "object" + }, + "Block": { + "type": "object" + }, + "Count": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" + } + }, + "type": "object" + }, + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "DefaultAction", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.AllowAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.BlockAction": { + "additionalProperties": false, + "properties": { + "CustomResponse": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CountAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomHTTPHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomRequestHandling": { + "additionalProperties": false, + "properties": { + "InsertHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "InsertHeaders" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponse": { + "additionalProperties": false, + "properties": { + "CustomResponseBodyKey": { + "type": "string" + }, + "ResponseCode": { + "type": "number" + }, + "ResponseHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "ResponseCode" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.DefaultAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ExcludedRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { + "additionalProperties": false, + "properties": { + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VendorName": { + "type": "string" + } + }, + "required": [ + "Name", + "VendorName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OverrideAction": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "object" + }, + "None": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" + }, + "Name": { + "type": "string" + }, + "OverrideAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + }, + "Count": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" + }, + "ManagedRuleGroupStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" + }, + "RuleGroupReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::ConnectionAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { + "additionalProperties": false, + "properties": { + "AssociatedAccountId": { + "type": "string" + }, + "AssociationStatus": { + "type": "string" + }, + "ConnectionIdentifier": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WorkSpaces::Workspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BundleId": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + }, + "RootVolumeEncryptionEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + }, + "UserVolumeEncryptionEnabled": { + "type": "boolean" + }, + "VolumeEncryptionKey": { + "type": "string" + }, + "WorkspaceProperties": { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" + } + }, + "required": [ + "BundleId", + "DirectoryId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::Workspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::Workspace.WorkspaceProperties": { + "additionalProperties": false, + "properties": { + "ComputeTypeName": { + "type": "string" + }, + "RootVolumeSizeGib": { + "type": "number" + }, + "RunningMode": { + "type": "string" + }, + "RunningModeAutoStopTimeoutInMinutes": { + "type": "number" + }, + "UserVolumeSizeGib": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterExpression": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "InsightsConfiguration": { + "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::Group.InsightsConfiguration": { + "additionalProperties": false, + "properties": { + "InsightsEnabled": { + "type": "boolean" + }, + "NotificationsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + }, + "SamplingRuleRecord": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" + }, + "SamplingRuleUpdate": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::SamplingRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRule": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleRecord": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleUpdate": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" + }, + "SkillPackage": { + "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" + }, + "VendorId": { + "type": "string" + } + }, + "required": [ + "AuthenticationConfiguration", + "SkillPackage", + "VendorId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "Alexa::ASK::Skill" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "Alexa::ASK::Skill.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret", + "RefreshToken" + ], + "type": "object" + }, + "Alexa::ASK::Skill.Overrides": { + "additionalProperties": false, + "properties": { + "Manifest": { + "type": "object" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill.SkillPackage": { + "additionalProperties": false, + "properties": { + "Overrides": { + "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" + }, + "S3Bucket": { + "type": "string" + }, + "S3BucketRole": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "Parameter": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "AllowedValues": { + "type": "array" + }, + "ConstraintDescription": { + "type": "string" + }, + "Default": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MaxLength": { + "type": "string" + }, + "MaxValue": { + "type": "string" + }, + "MinLength": { + "type": "string" + }, + "MinValue": { + "type": "string" + }, + "NoEcho": { + "type": [ + "string", + "boolean" + ] + }, + "Type": { + "enum": [ + "String", + "Number", + "List\u003cNumber\u003e", + "CommaDelimitedList", + "AWS::EC2::AvailabilityZone::Name", + "AWS::EC2::Image::Id", + "AWS::EC2::Instance::Id", + "AWS::EC2::KeyPair::KeyName", + "AWS::EC2::SecurityGroup::GroupName", + "AWS::EC2::SecurityGroup::Id", + "AWS::EC2::Subnet::Id", + "AWS::EC2::Volume::Id", + "AWS::EC2::VPC::Id", + "AWS::Route53::HostedZone::Id", + "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "List\u003cAWS::EC2::Image::Id\u003e", + "List\u003cAWS::EC2::Instance::Id\u003e", + "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "List\u003cAWS::EC2::SecurityGroup::Id\u003e", + "List\u003cAWS::EC2::Subnet::Id\u003e", + "List\u003cAWS::EC2::Volume::Id\u003e", + "List\u003cAWS::EC2::VPC::Id\u003e", + "List\u003cAWS::Route53::HostedZone::Id\u003e", + "List\u003cString\u003e", + "AWS::SSM::Parameter::Name", + "AWS::SSM::Parameter::Value\u003cString\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "properties": { + "AWSTemplateFormatVersion": { + "enum": [ + "2010-09-09" + ], + "type": "string" + }, + "Conditions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Description": { + "description": "Template description", + "maxLength": 1024, + "type": "string" + }, + "Mappings": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Metadata": { + "type": "object" + }, + "Outputs": { + "additionalProperties": false, + "maxProperties": 60, + "minProperties": 1, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Parameters": { + "additionalProperties": false, + "maxProperties": 50, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/Parameter" + } + }, + "type": "object" + }, + "Resources": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::ACMPCA::Certificate" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" + }, + { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Broker" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" + }, + { + "$ref": "#/definitions/AWS::Amplify::App" + }, + { + "$ref": "#/definitions/AWS::Amplify::Branch" + }, + { + "$ref": "#/definitions/AWS::Amplify::Domain" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Account" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Method" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Resource" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RestApi" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::VpcLink" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Route" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Application" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Deployment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Environment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, + { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" + }, + { + "$ref": "#/definitions/AWS::AppFlow::Flow" + }, + { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" + }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Mesh" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Route" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualService" + }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, + { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" + }, + { + "$ref": "#/definitions/AWS::AppStream::Fleet" + }, + { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder" + }, + { + "$ref": "#/definitions/AWS::AppStream::Stack" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::User" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiCache" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiKey" + }, + { + "$ref": "#/definitions/AWS::AppSync::DataSource" + }, + { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" + }, + { + "$ref": "#/definitions/AWS::AppSync::Resolver" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, + { + "$ref": "#/definitions/AWS::Athena::NamedQuery" + }, + { + "$ref": "#/definitions/AWS::Athena::PreparedStatement" + }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::WarmPool" + }, + { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupSelection" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupVault" + }, + { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" + }, + { + "$ref": "#/definitions/AWS::Batch::JobDefinition" + }, + { + "$ref": "#/definitions/AWS::Batch::JobQueue" + }, + { + "$ref": "#/definitions/AWS::Budgets::Budget" + }, + { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalyMonitor" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalySubscription" + }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Account" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Certificate" + }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, + { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::CustomResource" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Macro" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Publisher" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Stack" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::StackSet" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Distribution" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Function" + }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, + { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, + { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" + }, + { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" + }, + { + "$ref": "#/definitions/AWS::CloudTrail::Trail" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Alarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Dashboard" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Domain" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::Project" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" + }, + { + "$ref": "#/definitions/AWS::CodeCommit::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::Application" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Webhook" + }, + { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, + { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" + }, + { + "$ref": "#/definitions/AWS::Config::AggregationAuthorization" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" + }, + { + "$ref": "#/definitions/AWS::Config::ConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::DeliveryChannel" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration" + }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, + { + "$ref": "#/definitions/AWS::Connect::QuickConnect" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" + }, + { + "$ref": "#/definitions/AWS::DAX::Cluster" + }, + { + "$ref": "#/definitions/AWS::DAX::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DAX::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" + }, + { + "$ref": "#/definitions/AWS::DMS::Certificate" + }, + { + "$ref": "#/definitions/AWS::DMS::Endpoint" + }, + { + "$ref": "#/definitions/AWS::DMS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationInstance" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTask" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, + { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBCluster" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBInstance" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::Table" + }, + { + "$ref": "#/definitions/AWS::EC2::CapacityReservation" + }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::CustomerGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::DHCPOptions" + }, + { + "$ref": "#/definitions/AWS::EC2::EC2Fleet" + }, + { + "$ref": "#/definitions/AWS::EC2::EIP" + }, + { + "$ref": "#/definitions/AWS::EC2::EIPAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::FlowLog" + }, + { + "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::Host" + }, + { + "$ref": "#/definitions/AWS::EC2::Instance" + }, + { + "$ref": "#/definitions/AWS::EC2::InternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::NatGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAcl" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterface" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" + }, + { + "$ref": "#/definitions/AWS::EC2::PlacementGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, + { + "$ref": "#/definitions/AWS::EC2::Route" + }, + { + "$ref": "#/definitions/AWS::EC2::RouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::EC2::SpotFleet" + }, + { + "$ref": "#/definitions/AWS::EC2::Subnet" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPC" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointService" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::Volume" + }, + { + "$ref": "#/definitions/AWS::EC2::VolumeAttachment" + }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, + { + "$ref": "#/definitions/AWS::ECR::Repository" + }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, + { + "$ref": "#/definitions/AWS::ECS::Cluster" + }, + { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" + }, + { + "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" + }, + { + "$ref": "#/definitions/AWS::ECS::Service" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskSet" + }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::EFS::FileSystem" + }, + { + "$ref": "#/definitions/AWS::EFS::MountTarget" + }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, + { + "$ref": "#/definitions/AWS::EKS::Cluster" + }, + { + "$ref": "#/definitions/AWS::EKS::FargateProfile" + }, + { + "$ref": "#/definitions/AWS::EKS::Nodegroup" + }, + { + "$ref": "#/definitions/AWS::EMR::Cluster" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::EMR::Step" + }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" + }, + { + "$ref": "#/definitions/AWS::Elasticsearch::Domain" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Registry" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Schema" + }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, + { + "$ref": "#/definitions/AWS::Events::EventBusPolicy" + }, + { + "$ref": "#/definitions/AWS::Events::Rule" + }, + { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" + }, + { + "$ref": "#/definitions/AWS::FMS::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::FMS::Policy" + }, + { + "$ref": "#/definitions/AWS::FSx::FileSystem" + }, + { + "$ref": "#/definitions/AWS::FinSpace::Environment" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Detector" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EntityType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EventType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Label" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Outcome" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Variable" + }, + { + "$ref": "#/definitions/AWS::GameLift::Alias" + }, + { + "$ref": "#/definitions/AWS::GameLift::Build" + }, + { + "$ref": "#/definitions/AWS::GameLift::Fleet" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" + }, + { + "$ref": "#/definitions/AWS::GameLift::Script" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, + { + "$ref": "#/definitions/AWS::Glue::Classifier" + }, + { + "$ref": "#/definitions/AWS::Glue::Connection" + }, + { + "$ref": "#/definitions/AWS::Glue::Crawler" + }, + { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" + }, + { + "$ref": "#/definitions/AWS::Glue::Database" + }, + { + "$ref": "#/definitions/AWS::Glue::DevEndpoint" + }, + { + "$ref": "#/definitions/AWS::Glue::Job" + }, + { + "$ref": "#/definitions/AWS::Glue::MLTransform" + }, + { + "$ref": "#/definitions/AWS::Glue::Partition" + }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, + { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::Glue::Table" + }, + { + "$ref": "#/definitions/AWS::Glue::Trigger" + }, + { + "$ref": "#/definitions/AWS::Glue::Workflow" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, + { + "$ref": "#/definitions/AWS::GroundStation::Config" + }, + { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Detector" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Filter" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::IPSet" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Master" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Member" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" + }, + { + "$ref": "#/definitions/AWS::IAM::AccessKey" + }, + { + "$ref": "#/definitions/AWS::IAM::Group" + }, + { + "$ref": "#/definitions/AWS::IAM::InstanceProfile" + }, + { + "$ref": "#/definitions/AWS::IAM::ManagedPolicy" + }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::Policy" + }, + { + "$ref": "#/definitions/AWS::IAM::Role" + }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, + { + "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" + }, + { + "$ref": "#/definitions/AWS::IAM::User" + }, + { + "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" + }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" + }, + { + "$ref": "#/definitions/AWS::Inspector::ResourceGroup" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Device" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Placement" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Project" + }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::Authorizer" + }, + { + "$ref": "#/definitions/AWS::IoT::Certificate" + }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, + { + "$ref": "#/definitions/AWS::IoT::Policy" + }, + { + "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, + { + "$ref": "#/definitions/AWS::IoT::Thing" + }, + { + "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRule" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" + }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::Input" + }, + { + "$ref": "#/definitions/AWS::IoTFleetHub::Application" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, + { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, + { + "$ref": "#/definitions/AWS::KMS::Alias" + }, + { + "$ref": "#/definitions/AWS::KMS::Key" + }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, + { + "$ref": "#/definitions/AWS::Kendra::DataSource" + }, + { + "$ref": "#/definitions/AWS::Kendra::Faq" + }, + { + "$ref": "#/definitions/AWS::Kendra::Index" + }, + { + "$ref": "#/definitions/AWS::Kinesis::Stream" + }, + { + "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Permissions" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Resource" + }, + { + "$ref": "#/definitions/AWS::Lambda::Alias" + }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" + }, + { + "$ref": "#/definitions/AWS::Lambda::Function" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersion" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Permission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Version" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, + { + "$ref": "#/definitions/AWS::Location::GeofenceCollection" + }, + { + "$ref": "#/definitions/AWS::Location::Map" + }, + { + "$ref": "#/definitions/AWS::Location::PlaceIndex" + }, + { + "$ref": "#/definitions/AWS::Location::RouteCalculator" + }, + { + "$ref": "#/definitions/AWS::Location::Tracker" + }, + { + "$ref": "#/definitions/AWS::Location::TrackerConsumer" + }, + { + "$ref": "#/definitions/AWS::Logs::Destination" + }, + { + "$ref": "#/definitions/AWS::Logs::LogGroup" + }, + { + "$ref": "#/definitions/AWS::Logs::LogStream" + }, + { + "$ref": "#/definitions/AWS::Logs::MetricFilter" + }, + { + "$ref": "#/definitions/AWS::Logs::QueryDefinition" + }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" + }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, + { + "$ref": "#/definitions/AWS::MSK::Cluster" + }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Preset" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Queue" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Input" + }, + { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, + { + "$ref": "#/definitions/AWS::MediaStore::Container" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBCluster" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBInstance" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::Studio" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::App" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Instance" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Layer" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Stack" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::UserProfile" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Volume" + }, + { + "$ref": "#/definitions/AWS::OpsWorksCM::Server" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::App" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Campaign" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EventStream" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Segment" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::Identity" + }, + { + "$ref": "#/definitions/AWS::QLDB::Ledger" + }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSet" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSource" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, + { + "$ref": "#/definitions/AWS::RAM::ResourceShare" + }, + { + "$ref": "#/definitions/AWS::RDS::DBCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBInstance" + }, + { + "$ref": "#/definitions/AWS::RDS::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::OptionGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::Cluster" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Fleet" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Robot" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, + { + "$ref": "#/definitions/AWS::Route53::HealthCheck" + }, + { + "$ref": "#/definitions/AWS::Route53::HostedZone" + }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSet" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" + }, + { + "$ref": "#/definitions/AWS::S3::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SDB::Domain" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::SES::ContactList" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptFilter" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRule" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" + }, + { + "$ref": "#/definitions/AWS::SES::Template" + }, + { + "$ref": "#/definitions/AWS::SNS::Subscription" + }, + { + "$ref": "#/definitions/AWS::SNS::Topic" + }, + { + "$ref": "#/definitions/AWS::SNS::TopicPolicy" + }, + { + "$ref": "#/definitions/AWS::SQS::Queue" + }, + { + "$ref": "#/definitions/AWS::SQS::QueuePolicy" + }, + { + "$ref": "#/definitions/AWS::SSM::Association" + }, + { + "$ref": "#/definitions/AWS::SSM::Document" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" + }, + { + "$ref": "#/definitions/AWS::SSM::Parameter" + }, + { + "$ref": "#/definitions/AWS::SSM::PatchBaseline" + }, + { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::Contact" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" + }, + { + "$ref": "#/definitions/AWS::SSO::Assignment" + }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, + { + "$ref": "#/definitions/AWS::SSO::PermissionSet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Model" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Workteam" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::Secret" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::Hub" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service" + }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::Activity" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine" + }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, + { + "$ref": "#/definitions/AWS::Timestream::Database" + }, + { + "$ref": "#/definitions/AWS::Timestream::Table" + }, + { + "$ref": "#/definitions/AWS::Transfer::Server" + }, + { + "$ref": "#/definitions/AWS::Transfer::User" + }, + { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAF::Rule" + }, + { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAF::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::Rule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace" + }, + { + "$ref": "#/definitions/AWS::XRay::Group" + }, + { + "$ref": "#/definitions/AWS::XRay::SamplingRule" + }, + { + "$ref": "#/definitions/Alexa::ASK::Skill" + } + ] + } + }, + "type": "object" + }, + "Transform": { + "oneOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] + } + }, + "required": [ + "Resources" + ], + "type": "object" +} \ No newline at end of file diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json new file mode 100644 index 00000000000..df1d127b487 --- /dev/null +++ b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json @@ -0,0 +1,115746 @@ +{ + "$id": "http://json-schema.org/draft-04/schema#", + "additionalProperties": false, + "definitions": { + "AWS::ACMPCA::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiPassthrough": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "SigningAlgorithm": { + "type": "string" + }, + "TemplateArn": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + }, + "ValidityNotBefore": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" + } + }, + "required": [ + "CertificateAuthorityArn", + "CertificateSigningRequest", + "SigningAlgorithm", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ApiPassthrough": { + "additionalProperties": false, + "properties": { + "Extensions": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { + "additionalProperties": false, + "properties": { + "ExtendedKeyUsageObjectIdentifier": { + "type": "string" + }, + "ExtendedKeyUsageType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Extensions": { + "additionalProperties": false, + "properties": { + "CertificatePolicies": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" + }, + "type": "array" + }, + "ExtendedKeyUsage": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" + }, + "type": "array" + }, + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" + }, + "SubjectAlternativeNames": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyInformation": { + "additionalProperties": false, + "properties": { + "CertPolicyId": { + "type": "string" + }, + "PolicyQualifiers": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" + }, + "type": "array" + } + }, + "required": [ + "CertPolicyId" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { + "additionalProperties": false, + "properties": { + "PolicyQualifierId": { + "type": "string" + }, + "Qualifier": { + "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" + } + }, + "required": [ + "PolicyQualifierId", + "Qualifier" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Qualifier": { + "additionalProperties": false, + "properties": { + "CpsUri": { + "type": "string" + } + }, + "required": [ + "CpsUri" + ], + "type": "object" + }, + "AWS::ACMPCA::Certificate.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::Certificate.Validity": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsrExtensions": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" + }, + "KeyAlgorithm": { + "type": "string" + }, + "KeyStorageSecurityStandard": { + "type": "string" + }, + "RevocationConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" + }, + "SigningAlgorithm": { + "type": "string" + }, + "Subject": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "KeyAlgorithm", + "SigningAlgorithm", + "Subject", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthority" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessDescription": { + "additionalProperties": false, + "properties": { + "AccessLocation": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" + }, + "AccessMethod": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" + } + }, + "required": [ + "AccessLocation", + "AccessMethod" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.AccessMethod": { + "additionalProperties": false, + "properties": { + "AccessMethodType": { + "type": "string" + }, + "CustomObjectIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { + "additionalProperties": false, + "properties": { + "CustomCname": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "ExpirationInDays": { + "type": "number" + }, + "S3BucketName": { + "type": "string" + }, + "S3ObjectAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { + "additionalProperties": false, + "properties": { + "KeyUsage": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" + }, + "SubjectInformationAccess": { + "items": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { + "additionalProperties": false, + "properties": { + "NameAssigner": { + "type": "string" + }, + "PartyName": { + "type": "string" + } + }, + "required": [ + "NameAssigner", + "PartyName" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.GeneralName": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" + }, + "DnsName": { + "type": "string" + }, + "EdiPartyName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" + }, + "IpAddress": { + "type": "string" + }, + "OtherName": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" + }, + "RegisteredId": { + "type": "string" + }, + "Rfc822Name": { + "type": "string" + }, + "UniformResourceIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.KeyUsage": { + "additionalProperties": false, + "properties": { + "CRLSign": { + "type": "boolean" + }, + "DataEncipherment": { + "type": "boolean" + }, + "DecipherOnly": { + "type": "boolean" + }, + "DigitalSignature": { + "type": "boolean" + }, + "EncipherOnly": { + "type": "boolean" + }, + "KeyAgreement": { + "type": "boolean" + }, + "KeyCertSign": { + "type": "boolean" + }, + "KeyEncipherment": { + "type": "boolean" + }, + "NonRepudiation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.OtherName": { + "additionalProperties": false, + "properties": { + "TypeId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "TypeId", + "Value" + ], + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { + "additionalProperties": false, + "properties": { + "CrlConfiguration": { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthority.Subject": { + "additionalProperties": false, + "properties": { + "CommonName": { + "type": "string" + }, + "Country": { + "type": "string" + }, + "DistinguishedNameQualifier": { + "type": "string" + }, + "GenerationQualifier": { + "type": "string" + }, + "GivenName": { + "type": "string" + }, + "Initials": { + "type": "string" + }, + "Locality": { + "type": "string" + }, + "Organization": { + "type": "string" + }, + "OrganizationalUnit": { + "type": "string" + }, + "Pseudonym": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Surname": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ACMPCA::CertificateAuthorityActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Certificate", + "CertificateAuthorityArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ACMPCA::CertificateAuthorityActivation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalyzerName": { + "type": "string" + }, + "ArchiveRules": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AccessAnalyzer::Analyzer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { + "additionalProperties": false, + "properties": { + "Filter": { + "items": { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" + }, + "type": "array" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "Filter", + "RuleName" + ], + "type": "object" + }, + "AWS::AccessAnalyzer::Analyzer.Filter": { + "additionalProperties": false, + "properties": { + "Contains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Exists": { + "type": "boolean" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "Property" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "BrokerName": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" + }, + "DeploymentMode": { + "type": "string" + }, + "EncryptionOptions": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "HostInstanceType": { + "type": "string" + }, + "LdapServerMetadata": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" + }, + "Logs": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" + }, + "MaintenanceWindowStartTime": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" + }, + "type": "array" + }, + "Users": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" + }, + "type": "array" + } + }, + "required": [ + "AutoMinorVersionUpgrade", + "BrokerName", + "DeploymentMode", + "EngineType", + "EngineVersion", + "HostInstanceType", + "PubliclyAccessible", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Broker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.EncryptionOptions": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "UseAwsOwnedKey": { + "type": "boolean" + } + }, + "required": [ + "UseAwsOwnedKey" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LdapServerMetadata": { + "additionalProperties": false, + "properties": { + "Hosts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleBase": { + "type": "string" + }, + "RoleName": { + "type": "string" + }, + "RoleSearchMatching": { + "type": "string" + }, + "RoleSearchSubtree": { + "type": "boolean" + }, + "ServiceAccountPassword": { + "type": "string" + }, + "ServiceAccountUsername": { + "type": "string" + }, + "UserBase": { + "type": "string" + }, + "UserRoleName": { + "type": "string" + }, + "UserSearchMatching": { + "type": "string" + }, + "UserSearchSubtree": { + "type": "boolean" + } + }, + "required": [ + "Hosts", + "RoleBase", + "RoleSearchMatching", + "ServiceAccountPassword", + "ServiceAccountUsername", + "UserBase", + "UserSearchMatching" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.LogList": { + "additionalProperties": false, + "properties": { + "Audit": { + "type": "boolean" + }, + "General": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AmazonMQ::Broker.MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DayOfWeek": { + "type": "string" + }, + "TimeOfDay": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "DayOfWeek", + "TimeOfDay", + "TimeZone" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::Broker.User": { + "additionalProperties": false, + "properties": { + "ConsoleAccess": { + "type": "boolean" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationStrategy": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineType": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Data", + "EngineType", + "EngineVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::Configuration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::Configuration.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" + } + }, + "required": [ + "Broker", + "Configuration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AmazonMQ::ConfigurationAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Id", + "Revision" + ], + "type": "object" + }, + "AWS::Amplify::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "AutoBranchCreationConfig": { + "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "CustomHeaders": { + "type": "string" + }, + "CustomRules": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.CustomRule" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "EnableBranchAutoDeletion": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "IAMServiceRole": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OauthToken": { + "type": "string" + }, + "Repository": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::App.AutoBranchCreationConfig": { + "additionalProperties": false, + "properties": { + "AutoBranchCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" + }, + "BuildSpec": { + "type": "string" + }, + "EnableAutoBranchCreation": { + "type": "boolean" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Amplify::App.CustomRule": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Source", + "Target" + ], + "type": "object" + }, + "AWS::Amplify::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Branch": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "BasicAuthConfig": { + "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" + }, + "BranchName": { + "type": "string" + }, + "BuildSpec": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnableAutoBuild": { + "type": "boolean" + }, + "EnablePerformanceMode": { + "type": "boolean" + }, + "EnablePullRequestPreview": { + "type": "boolean" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" + }, + "type": "array" + }, + "PullRequestEnvironmentName": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "BranchName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Branch" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Branch.BasicAuthConfig": { + "additionalProperties": false, + "properties": { + "EnableBasicAuth": { + "type": "boolean" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::Amplify::Branch.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Amplify::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppId": { + "type": "string" + }, + "AutoSubDomainCreationPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoSubDomainIAMRole": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EnableAutoSubDomain": { + "type": "boolean" + }, + "SubDomainSettings": { + "items": { + "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" + }, + "type": "array" + } + }, + "required": [ + "AppId", + "DomainName", + "SubDomainSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Amplify::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Amplify::Domain.SubDomainSetting": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BranchName", + "Prefix" + ], + "type": "object" + }, + "AWS::ApiGateway::Account": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "GenerateDistinctId": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "StageKeys": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::ApiKey.StageKey": { + "additionalProperties": false, + "properties": { + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "AuthorizerCredentials": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerUri": { + "type": "string" + }, + "IdentitySource": { + "type": "string" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "RestApiId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::BasePathMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::BasePathMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::ClientCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::ClientCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentCanarySettings": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" + }, + "Description": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StageDescription": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Deployment.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.CanarySetting": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { + "additionalProperties": false, + "properties": { + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Deployment.StageDescription": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" + }, + "type": "array" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" + }, + "Properties": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Location", + "Properties", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationPart" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DocumentationPart.Location": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DocumentationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "DocumentationVersion", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DocumentationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" + }, + "RegionalCertificateArn": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::DomainName.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Types": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::GatewayResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseType": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "ResponseType", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::GatewayResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" + }, + "MethodResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" + }, + "type": "array" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "RequestValidatorId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "HttpMethod", + "ResourceId", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Method" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.Integration": { + "additionalProperties": false, + "properties": { + "CacheKeyParameters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheNamespace": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandling": { + "type": "string" + }, + "Credentials": { + "type": "string" + }, + "IntegrationHttpMethod": { + "type": "string" + }, + "IntegrationResponses": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" + }, + "type": "array" + }, + "PassthroughBehavior": { + "type": "string" + }, + "RequestParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RequestTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutInMillis": { + "type": "number" + }, + "Type": { + "type": "string" + }, + "Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Method.IntegrationResponse": { + "additionalProperties": false, + "properties": { + "ContentHandling": { + "type": "string" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseTemplates": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SelectionPattern": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Method.MethodResponse": { + "additionalProperties": false, + "properties": { + "ResponseModels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResponseParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "boolean" + } + }, + "type": "object" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ApiGateway::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RequestValidator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RestApiId": { + "type": "string" + }, + "ValidateRequestBody": { + "type": "boolean" + }, + "ValidateRequestParameters": { + "type": "boolean" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::RequestValidator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ParentId": { + "type": "string" + }, + "PathPart": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "ParentId", + "PathPart", + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::RestApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySourceType": { + "type": "string" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" + }, + "CloneFrom": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" + }, + "ClientCertificateId": { + "type": "string" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DocumentationVersion": { + "type": "string" + }, + "MethodSettings": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" + }, + "type": "array" + }, + "RestApiId": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "RestApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::Stage.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.CanarySetting": { + "additionalProperties": false, + "properties": { + "DeploymentId": { + "type": "string" + }, + "PercentTraffic": { + "type": "number" + }, + "StageVariableOverrides": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UseStageCache": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ApiGateway::Stage.MethodSetting": { + "additionalProperties": false, + "properties": { + "CacheDataEncrypted": { + "type": "boolean" + }, + "CacheTtlInSeconds": { + "type": "number" + }, + "CachingEnabled": { + "type": "boolean" + }, + "DataTraceEnabled": { + "type": "boolean" + }, + "HttpMethod": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "MetricsEnabled": { + "type": "boolean" + }, + "ResourcePath": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiStages": { + "items": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Quota": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throttle": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + }, + "UsagePlanName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ApiStage": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Throttle": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.QuotaSettings": { + "additionalProperties": false, + "properties": { + "Limit": { + "type": "number" + }, + "Offset": { + "type": "number" + }, + "Period": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlan.ThrottleSettings": { + "additionalProperties": false, + "properties": { + "BurstLimit": { + "type": "number" + }, + "RateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGateway::UsagePlanKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "UsagePlanId": { + "type": "string" + } + }, + "required": [ + "KeyId", + "KeyType", + "UsagePlanId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::UsagePlanKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGateway::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "TargetArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGateway::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKeySelectionExpression": { + "type": "string" + }, + "BasePath": { + "type": "string" + }, + "Body": { + "type": "object" + }, + "BodyS3Location": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "DisableSchemaValidation": { + "type": "boolean" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "ProtocolType": { + "type": "string" + }, + "RouteKey": { + "type": "string" + }, + "RouteSelectionExpression": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Target": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Api" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Api.BodyS3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Etag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Api.Cors": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Integration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" + }, + "Route": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" + }, + "Stage": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { + "additionalProperties": false, + "properties": { + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" + }, + "AutoDeploy": { + "type": "boolean" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageVariables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::ApiMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiMappingKey": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "Stage": { + "type": "string" + } + }, + "required": [ + "ApiId", + "DomainName", + "Stage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::ApiMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "AuthorizerCredentialsArn": { + "type": "string" + }, + "AuthorizerPayloadFormatVersion": { + "type": "string" + }, + "AuthorizerResultTtlInSeconds": { + "type": "number" + }, + "AuthorizerType": { + "type": "string" + }, + "AuthorizerUri": { + "type": "string" + }, + "EnableSimpleResponses": { + "type": "boolean" + }, + "IdentitySource": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IdentityValidationExpression": { + "type": "string" + }, + "JwtConfiguration": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ApiId", + "AuthorizerType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { + "additionalProperties": false, + "properties": { + "Audience": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Issuer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" + }, + "type": "array" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::DomainName" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "CertificateName": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ConnectionId": { + "type": "string" + }, + "ConnectionType": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "CredentialsArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IntegrationMethod": { + "type": "string" + }, + "IntegrationSubtype": { + "type": "string" + }, + "IntegrationType": { + "type": "string" + }, + "IntegrationUri": { + "type": "string" + }, + "PassthroughBehavior": { + "type": "string" + }, + "PayloadFormatVersion": { + "type": "string" + }, + "RequestParameters": { + "type": "object" + }, + "RequestTemplates": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + }, + "TimeoutInMillis": { + "type": "number" + }, + "TlsConfig": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" + } + }, + "required": [ + "ApiId", + "IntegrationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameter": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "required": [ + "Destination", + "Source" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.ResponseParameterList": { + "additionalProperties": false, + "properties": { + "ResponseParameters": { + "items": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Integration.TlsConfig": { + "additionalProperties": false, + "properties": { + "ServerNameToVerify": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::IntegrationResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentHandlingStrategy": { + "type": "string" + }, + "IntegrationId": { + "type": "string" + }, + "IntegrationResponseKey": { + "type": "string" + }, + "ResponseParameters": { + "type": "object" + }, + "ResponseTemplates": { + "type": "object" + }, + "TemplateSelectionExpression": { + "type": "string" + } + }, + "required": [ + "ApiId", + "IntegrationId", + "IntegrationResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::IntegrationResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "object" + } + }, + "required": [ + "ApiId", + "Name", + "Schema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthorizationType": { + "type": "string" + }, + "AuthorizerId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "OperationName": { + "type": "string" + }, + "RequestModels": { + "type": "object" + }, + "RequestParameters": { + "type": "object" + }, + "RouteKey": { + "type": "string" + }, + "RouteResponseSelectionExpression": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Route.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ModelSelectionExpression": { + "type": "string" + }, + "ResponseModels": { + "type": "object" + }, + "ResponseParameters": { + "type": "object" + }, + "RouteId": { + "type": "string" + }, + "RouteResponseKey": { + "type": "string" + } + }, + "required": [ + "ApiId", + "RouteId", + "RouteResponseKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::RouteResponse" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { + "additionalProperties": false, + "properties": { + "Required": { + "type": "boolean" + } + }, + "required": [ + "Required" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" + }, + "AccessPolicyId": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AutoDeploy": { + "type": "boolean" + }, + "ClientCertificateId": { + "type": "string" + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" + }, + "DeploymentId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RouteSettings": { + "type": "object" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApiId", + "StageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::Stage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.AccessLogSettings": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::Stage.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApiGatewayV2::VpcLink": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApiGatewayV2::VpcLink" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Application.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Application.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RetrievalRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" + }, + "type": "array" + }, + "Validators": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "LocationUri", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::ConfigurationProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::ConfigurationProfile.Validators": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Deployment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "ConfigurationVersion": { + "type": "string" + }, + "DeploymentStrategyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion", + "DeploymentStrategyId", + "EnvironmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Deployment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Deployment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentDurationInMinutes": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "FinalBakeTimeInMinutes": { + "type": "number" + }, + "GrowthFactor": { + "type": "number" + }, + "GrowthType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicateTo": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" + }, + "type": "array" + } + }, + "required": [ + "DeploymentDurationInMinutes", + "GrowthFactor", + "Name", + "ReplicateTo" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::DeploymentStrategy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::DeploymentStrategy.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Monitors": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" + }, + "type": "array" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppConfig::Environment.Monitors": { + "additionalProperties": false, + "properties": { + "AlarmArn": { + "type": "string" + }, + "AlarmRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::Environment.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppConfig::HostedConfigurationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationProfileId": { + "type": "string" + }, + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LatestVersionNumber": { + "type": "number" + } + }, + "required": [ + "ApplicationId", + "ConfigurationProfileId", + "Content", + "ContentType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppConfig::HostedConfigurationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionMode": { + "type": "string" + }, + "ConnectorProfileConfig": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" + }, + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "KMSArn": { + "type": "string" + } + }, + "required": [ + "ConnectionMode", + "ConnectorProfileName", + "ConnectorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::ConnectorProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "SecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { + "additionalProperties": false, + "properties": { + "AuthCode": { + "type": "string" + }, + "RedirectUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileCredentials": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" + }, + "ConnectorProfileProperties": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" + } + }, + "required": [ + "ConnectorProfileCredentials" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiToken": { + "type": "string" + } + }, + "required": [ + "ApiToken" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessKeyId": { + "type": "string" + }, + "Datakey": { + "type": "string" + }, + "SecretAccessKey": { + "type": "string" + }, + "UserId": { + "type": "string" + } + }, + "required": [ + "AccessKeyId", + "Datakey", + "SecretAccessKey", + "UserId" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "DatabaseUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "DatabaseUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientCredentialsArn": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + }, + "RefreshToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + }, + "isSandboxEnvironment": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + } + }, + "required": [ + "ApiKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "PrivateLinkServiceName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "Stage": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Stage", + "Warehouse" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "ApiSecretKey": { + "type": "string" + } + }, + "required": [ + "ApiSecretKey" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { + "additionalProperties": false, + "properties": { + "AccessToken": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "ConnectorOAuthRequest": { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" + } + }, + "required": [ + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { + "additionalProperties": false, + "properties": { + "InstanceUrl": { + "type": "string" + } + }, + "required": [ + "InstanceUrl" + ], + "type": "object" + }, + "AWS::AppFlow::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationFlowConfigList": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" + }, + "type": "array" + }, + "FlowName": { + "type": "string" + }, + "KMSArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" + } + }, + "required": [ + "DestinationFlowConfigList", + "FlowName", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppFlow::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.AggregationConfig": { + "additionalProperties": false, + "properties": { + "AggregationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.AmplitudeSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "type": "string" + }, + "Datadog": { + "type": "string" + }, + "Dynatrace": { + "type": "string" + }, + "GoogleAnalytics": { + "type": "string" + }, + "InforNexus": { + "type": "string" + }, + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Singular": { + "type": "string" + }, + "Slack": { + "type": "string" + }, + "Trendmicro": { + "type": "string" + }, + "Veeva": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DatadogSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationConnectorProperties": { + "additionalProperties": false, + "properties": { + "EventBridge": { + "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" + }, + "LookoutMetrics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" + }, + "Redshift": { + "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" + }, + "Snowflake": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" + }, + "Upsolver": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.DestinationFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "DestinationConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "DestinationConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.DynatraceSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ErrorHandlingConfig": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "FailOnFirstError": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.InforNexusSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.PrefixConfig": { + "additionalProperties": false, + "properties": { + "PrefixFormat": { + "type": "string" + }, + "PrefixType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.RedshiftDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3DestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.S3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketPrefix" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleStartTime": { + "type": "number" + }, + "TimeZone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SingularSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SlackSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketPrefix": { + "type": "string" + }, + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IntermediateBucketName": { + "type": "string" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "IntermediateBucketName", + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Amplitude": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" + }, + "Datadog": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" + }, + "Dynatrace": { + "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" + }, + "GoogleAnalytics": { + "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" + }, + "InforNexus": { + "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" + }, + "Marketo": { + "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" + }, + "Singular": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" + }, + "Slack": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" + }, + "Trendmicro": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" + }, + "Veeva": { + "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::AppFlow::Flow.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TaskPropertiesObject": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TrendmicroSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverDestinationProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "S3OutputFormatConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" + } + }, + "required": [ + "BucketName", + "S3OutputFormatConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { + "additionalProperties": false, + "properties": { + "AggregationConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" + }, + "FileType": { + "type": "string" + }, + "PrefixConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" + } + }, + "required": [ + "PrefixConfig" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.VeevaSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskDestinationProperties": { + "additionalProperties": false, + "properties": { + "ErrorHandlingConfig": { + "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" + }, + "IdFieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Object": { + "type": "string" + }, + "WriteOperationType": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppFlow::Flow.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBridgeBus": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventBridgeBus", + "EventFilter", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppIntegrations::EventIntegration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventFilter": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { + "additionalProperties": false, + "properties": { + "ClientAssociationMetadata": { + "items": { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" + }, + "type": "array" + }, + "ClientId": { + "type": "string" + }, + "EventBridgeRuleName": { + "type": "string" + }, + "EventIntegrationAssociationArn": { + "type": "string" + }, + "EventIntegrationAssociationId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppIntegrations::EventIntegration.Metadata": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayRouteName": { + "type": "string" + }, + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualGatewayName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::GatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.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" + } + }, + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" + } + }, + "required": [ + "VirtualService" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { + "additionalProperties": false, + "properties": { + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { + "additionalProperties": false, + "properties": { + "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" + }, + "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" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Mesh" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.EgressFilter": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppMesh::Mesh.MeshSpec": { + "additionalProperties": false, + "properties": { + "EgressFilter": { + "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "RouteName": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualRouterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::Route.Duration": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRetryPolicy": { + "additionalProperties": false, + "properties": { + "GrpcRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "HttpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxRetries": { + "type": "number" + }, + "PerRetryTimeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "TcpRetryEvents": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxRetries", + "PerRetryTimeout" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRoute": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" + } + }, + "required": [ + "Action", + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMatch": { + "additionalProperties": false, + "properties": { + "Metadata": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" + }, + "type": "array" + }, + "MethodName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadata": { + "additionalProperties": false, + "properties": { + "Invert": { + "type": "boolean" + }, + "Match": { + "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.HeaderMatchMethod": { + "additionalProperties": false, + "properties": { + "Exact": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Range": { + "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" + }, + "Regex": { + "type": "string" + }, + "Suffix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.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" + }, + "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" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpRouteAction": { + "additionalProperties": false, + "properties": { + "WeightedTargets": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" + }, + "type": "array" + } + }, + "required": [ + "WeightedTargets" + ], + "type": "object" + }, + "AWS::AppMesh::Route.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::Route.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::Route.WeightedTarget": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "VirtualNode", + "Weight" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualGatewayName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualNode" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AccessLog": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" + }, + "type": "array" + }, + "NamespaceName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + } + }, + "required": [ + "NamespaceName", + "ServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Backend": { + "additionalProperties": false, + "properties": { + "VirtualService": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.BackendDefaults": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicy": { + "additionalProperties": false, + "properties": { + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientPolicyTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" + }, + "Enforce": { + "type": "boolean" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" + } + }, + "required": [ + "Validation" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "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": { + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.GrpcTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "IntervalMillis": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "TimeoutMillis": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "required": [ + "HealthyThreshold", + "IntervalMillis", + "Protocol", + "TimeoutMillis", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.HttpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "PerRequest": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Listener": { + "additionalProperties": false, + "properties": { + "ConnectionPool": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" + }, + "OutlierDetection": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" + }, + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" + }, + "TLS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" + }, + "Timeout": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTimeout": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTls": { + "additionalProperties": false, + "properties": { + "Certificate": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" + }, + "Mode": { + "type": "string" + }, + "Validation": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" + } + }, + "required": [ + "Certificate", + "Mode" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "required": [ + "CertificateChain", + "PrivateKey" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.Logging": { + "additionalProperties": false, + "properties": { + "AccessLog": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.OutlierDetection": { + "additionalProperties": false, + "properties": { + "BaseEjectionDuration": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "Interval": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + }, + "MaxEjectionPercent": { + "type": "number" + }, + "MaxServerErrors": { + "type": "number" + } + }, + "required": [ + "BaseEjectionDuration", + "Interval", + "MaxEjectionPercent", + "MaxServerErrors" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.ServiceDiscovery": { + "additionalProperties": false, + "properties": { + "AWSCloudMap": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" + }, + "DNS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { + "additionalProperties": false, + "properties": { + "Exact": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { + "additionalProperties": false, + "properties": { + "Match": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" + } + }, + "required": [ + "Match" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TcpTimeout": { + "additionalProperties": false, + "properties": { + "Idle": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContext": { + "additionalProperties": false, + "properties": { + "SubjectAlternativeNames": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" + }, + "Trust": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" + } + }, + "required": [ + "Trust" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CertificateAuthorityArns" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { + "additionalProperties": false, + "properties": { + "CertificateChain": { + "type": "string" + } + }, + "required": [ + "CertificateChain" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { + "additionalProperties": false, + "properties": { + "SecretName": { + "type": "string" + } + }, + "required": [ + "SecretName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { + "additionalProperties": false, + "properties": { + "ACM": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" + }, + "File": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" + }, + "SDS": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { + "additionalProperties": false, + "properties": { + "GRPC": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" + }, + "HTTP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" + }, + "HTTP2": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" + }, + "TCP": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxRequests": { + "type": "number" + } + }, + "required": [ + "MaxRequests" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + }, + "MaxPendingRequests": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { + "additionalProperties": false, + "properties": { + "BackendDefaults": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" + }, + "Backends": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" + }, + "type": "array" + }, + "Logging": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" + }, + "ServiceDiscovery": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { + "additionalProperties": false, + "properties": { + "MaxConnections": { + "type": "number" + } + }, + "required": [ + "MaxConnections" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { + "additionalProperties": false, + "properties": { + "ClientPolicy": { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "VirtualServiceName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualRouter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.PortMapping": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Port", + "Protocol" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { + "additionalProperties": false, + "properties": { + "PortMapping": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" + } + }, + "required": [ + "PortMapping" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { + "additionalProperties": false, + "properties": { + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MeshName": { + "type": "string" + }, + "MeshOwner": { + "type": "string" + }, + "Spec": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VirtualServiceName": { + "type": "string" + } + }, + "required": [ + "MeshName", + "Spec", + "VirtualServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppMesh::VirtualService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNodeName": { + "type": "string" + } + }, + "required": [ + "VirtualNodeName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualRouterName": { + "type": "string" + } + }, + "required": [ + "VirtualRouterName" + ], + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceProvider": { + "additionalProperties": false, + "properties": { + "VirtualNode": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" + }, + "VirtualRouter": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppMesh::VirtualService.VirtualServiceSpec": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingConfigurationArn": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" + }, + "HealthCheckConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" + }, + "ServiceName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SourceConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppRunner::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppRunner::Service.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "AccessRoleArn": { + "type": "string" + }, + "ConnectionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeConfigurationValues": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" + }, + "ConfigurationSource": { + "type": "string" + } + }, + "required": [ + "ConfigurationSource" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeConfigurationValues": { + "additionalProperties": false, + "properties": { + "BuildCommand": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "required": [ + "Runtime" + ], + "type": "object" + }, + "AWS::AppRunner::Service.CodeRepository": { + "additionalProperties": false, + "properties": { + "CodeConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" + }, + "RepositoryUrl": { + "type": "string" + }, + "SourceCodeVersion": { + "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" + } + }, + "required": [ + "RepositoryUrl", + "SourceCodeVersion" + ], + "type": "object" + }, + "AWS::AppRunner::Service.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKey": { + "type": "string" + } + }, + "required": [ + "KmsKey" + ], + "type": "object" + }, + "AWS::AppRunner::Service.HealthCheckConfiguration": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Timeout": { + "type": "number" + }, + "UnhealthyThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageConfiguration": { + "additionalProperties": false, + "properties": { + "Port": { + "type": "string" + }, + "RuntimeEnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" + }, + "type": "array" + }, + "StartCommand": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.ImageRepository": { + "additionalProperties": false, + "properties": { + "ImageConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" + }, + "ImageIdentifier": { + "type": "string" + }, + "ImageRepositoryType": { + "type": "string" + } + }, + "required": [ + "ImageIdentifier", + "ImageRepositoryType" + ], + "type": "object" + }, + "AWS::AppRunner::Service.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "Cpu": { + "type": "string" + }, + "InstanceRoleArn": { + "type": "string" + }, + "Memory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppRunner::Service.SourceCodeVersion": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::AppRunner::Service.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" + }, + "AutoDeploymentsEnabled": { + "type": "boolean" + }, + "CodeRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" + }, + "ImageRepository": { + "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" + } + }, + "type": "object" + }, + "AWS::AppStream::DirectoryConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceAccountCredentials": { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" + } + }, + "required": [ + "DirectoryName", + "OrganizationalUnitDistinguishedNames", + "ServiceAccountCredentials" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::DirectoryConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { + "additionalProperties": false, + "properties": { + "AccountName": { + "type": "string" + }, + "AccountPassword": { + "type": "string" + } + }, + "required": [ + "AccountName", + "AccountPassword" + ], + "type": "object" + }, + "AWS::AppStream::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeCapacity": { + "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" + }, + "Description": { + "type": "string" + }, + "DisconnectTimeoutInSeconds": { + "type": "number" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "FleetType": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "IdleDisconnectTimeoutInSeconds": { + "type": "number" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxUserDurationInSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "StreamView": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" + } + }, + "required": [ + "ComputeCapacity", + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.ComputeCapacity": { + "additionalProperties": false, + "properties": { + "DesiredInstances": { + "type": "number" + } + }, + "required": [ + "DesiredInstances" + ], + "type": "object" + }, + "AWS::AppStream::Fleet.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::Fleet.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" + }, + "type": "array" + }, + "AppstreamAgentVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "DomainJoinInfo": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" + }, + "EnableDefaultInternetAccess": { + "type": "boolean" + }, + "IamRoleArn": { + "type": "string" + }, + "ImageArn": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" + } + }, + "required": [ + "InstanceType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::ImageBuilder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::ImageBuilder.DomainJoinInfo": { + "additionalProperties": false, + "properties": { + "DirectoryName": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppStream::ImageBuilder.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppStream::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessEndpoints": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" + }, + "type": "array" + }, + "ApplicationSettings": { + "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" + }, + "AttributesToDelete": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeleteStorageConnectors": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "EmbedHostDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FeedbackURL": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RedirectURL": { + "type": "string" + }, + "StorageConnectors": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserSettings": { + "items": { + "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AppStream::Stack.AccessEndpoint": { + "additionalProperties": false, + "properties": { + "EndpointType": { + "type": "string" + }, + "VpceId": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "VpceId" + ], + "type": "object" + }, + "AWS::AppStream::Stack.ApplicationSettings": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "SettingsGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::AppStream::Stack.StorageConnector": { + "additionalProperties": false, + "properties": { + "ConnectorType": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdentifier": { + "type": "string" + } + }, + "required": [ + "ConnectorType" + ], + "type": "object" + }, + "AWS::AppStream::Stack.UserSetting": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "Action", + "Permission" + ], + "type": "object" + }, + "AWS::AppStream::StackFleetAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FleetName": { + "type": "string" + }, + "StackName": { + "type": "string" + } + }, + "required": [ + "FleetName", + "StackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackFleetAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::StackUserAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "SendEmailNotification": { + "type": "boolean" + }, + "StackName": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "StackName", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::StackUserAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppStream::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "FirstName": { + "type": "string" + }, + "LastName": { + "type": "string" + }, + "MessageAction": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "AuthenticationType", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppStream::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiCache": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiCachingBehavior": { + "type": "string" + }, + "ApiId": { + "type": "string" + }, + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "Ttl": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiCachingBehavior", + "ApiId", + "Ttl", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiCache" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::ApiKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "ApiKeyId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Expires": { + "type": "number" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::ApiKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DynamoDBConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" + }, + "ElasticsearchConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" + }, + "HttpConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" + }, + "Name": { + "type": "string" + }, + "RelationalDatabaseConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ApiId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationType": { + "type": "string" + }, + "AwsIamConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" + } + }, + "required": [ + "AuthorizationType" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.AwsIamConfig": { + "additionalProperties": false, + "properties": { + "SigningRegion": { + "type": "string" + }, + "SigningServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::DataSource.DeltaSyncConfig": { + "additionalProperties": false, + "properties": { + "BaseTableTTL": { + "type": "string" + }, + "DeltaSyncTableName": { + "type": "string" + }, + "DeltaSyncTableTTL": { + "type": "string" + } + }, + "required": [ + "BaseTableTTL", + "DeltaSyncTableName", + "DeltaSyncTableTTL" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.DynamoDBConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "DeltaSyncConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" + }, + "TableName": { + "type": "string" + }, + "UseCallerCredentials": { + "type": "boolean" + }, + "Versioned": { + "type": "boolean" + } + }, + "required": [ + "AwsRegion", + "TableName" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.ElasticsearchConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.HttpConfig": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" + }, + "Endpoint": { + "type": "string" + } + }, + "required": [ + "Endpoint" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.LambdaConfig": { + "additionalProperties": false, + "properties": { + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { + "additionalProperties": false, + "properties": { + "AwsRegion": { + "type": "string" + }, + "AwsSecretStoreArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DbClusterIdentifier": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "AwsRegion", + "AwsSecretStoreArn", + "DbClusterIdentifier" + ], + "type": "object" + }, + "AWS::AppSync::DataSource.RelationalDatabaseConfig": { + "additionalProperties": false, + "properties": { + "RdsHttpEndpointConfig": { + "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" + }, + "RelationalDatabaseSourceType": { + "type": "string" + } + }, + "required": [ + "RelationalDatabaseSourceType" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "DataSourceName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" + } + }, + "required": [ + "ApiId", + "DataSourceName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::FunctionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::FunctionConfiguration.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalAuthenticationProviders": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" + }, + "AuthenticationType": { + "type": "string" + }, + "LambdaAuthorizerConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" + }, + "LogConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" + }, + "Name": { + "type": "string" + }, + "OpenIDConnectConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" + }, + "Tags": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" + }, + "UserPoolConfig": { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" + }, + "XrayEnabled": { + "type": "boolean" + } + }, + "required": [ + "AuthenticationType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { + "additionalProperties": false, + "properties": { + "AuthenticationType": { + "type": "string" + }, + "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.AdditionalAuthenticationProviders": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.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.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::AppSync::GraphQLApi.UserPoolConfig": { + "additionalProperties": false, + "properties": { + "AppIdClientRegex": { + "type": "string" + }, + "AwsRegion": { + "type": "string" + }, + "DefaultAction": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::GraphQLSchema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "Definition": { + "type": "string" + }, + "DefinitionS3Location": { + "type": "string" + } + }, + "required": [ + "ApiId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::GraphQLSchema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiId": { + "type": "string" + }, + "CachingConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" + }, + "DataSourceName": { + "type": "string" + }, + "FieldName": { + "type": "string" + }, + "Kind": { + "type": "string" + }, + "PipelineConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" + }, + "RequestMappingTemplate": { + "type": "string" + }, + "RequestMappingTemplateS3Location": { + "type": "string" + }, + "ResponseMappingTemplate": { + "type": "string" + }, + "ResponseMappingTemplateS3Location": { + "type": "string" + }, + "SyncConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "ApiId", + "FieldName", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AppSync::Resolver" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AppSync::Resolver.CachingConfig": { + "additionalProperties": false, + "properties": { + "CachingKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ttl": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { + "additionalProperties": false, + "properties": { + "LambdaConflictHandlerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.PipelineConfig": { + "additionalProperties": false, + "properties": { + "Functions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AppSync::Resolver.SyncConfig": { + "additionalProperties": false, + "properties": { + "ConflictDetection": { + "type": "string" + }, + "ConflictHandler": { + "type": "string" + }, + "LambdaConflictHandlerConfig": { + "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" + } + }, + "required": [ + "ConflictDetection" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScheduledActions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" + }, + "type": "array" + }, + "ServiceNamespace": { + "type": "string" + }, + "SuspendedState": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "RoleARN", + "ScalableDimension", + "ServiceNamespace" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalableTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "ScalableTargetAction": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" + }, + "Schedule": { + "type": "string" + }, + "ScheduledActionName": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingTargetId": { + "type": "string" + }, + "ServiceNamespace": { + "type": "string" + }, + "StepScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationAutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "Cooldown": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoConfigurationEnabled": { + "type": "boolean" + }, + "CWEMonitorEnabled": { + "type": "boolean" + }, + "ComponentMonitoringSettings": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" + }, + "type": "array" + }, + "CustomComponents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" + }, + "type": "array" + }, + "LogPatternSets": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" + }, + "type": "array" + }, + "OpsCenterEnabled": { + "type": "boolean" + }, + "OpsItemSNSTopicArn": { + "type": "string" + }, + "ResourceGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ApplicationInsights::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "Severity": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.AlarmMetric": { + "additionalProperties": false, + "properties": { + "AlarmMetricName": { + "type": "string" + } + }, + "required": [ + "AlarmMetricName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" + }, + "SubComponentTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { + "additionalProperties": false, + "properties": { + "ComponentARN": { + "type": "string" + }, + "ComponentConfigurationMode": { + "type": "string" + }, + "ComponentName": { + "type": "string" + }, + "CustomComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "DefaultOverwriteComponentConfiguration": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" + }, + "Tier": { + "type": "string" + } + }, + "required": [ + "ComponentConfigurationMode", + "Tier" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.ConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" + }, + "type": "array" + }, + "JMXPrometheusExporter": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.CustomComponent": { + "additionalProperties": false, + "properties": { + "ComponentName": { + "type": "string" + }, + "ResourceList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ComponentName", + "ResourceList" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { + "additionalProperties": false, + "properties": { + "HostPort": { + "type": "string" + }, + "JMXURL": { + "type": "string" + }, + "PrometheusPort": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.Log": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogPath": { + "type": "string" + }, + "LogType": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "LogType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPattern": { + "additionalProperties": false, + "properties": { + "Pattern": { + "type": "string" + }, + "PatternName": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Pattern", + "PatternName", + "Rank" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.LogPatternSet": { + "additionalProperties": false, + "properties": { + "LogPatterns": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" + }, + "type": "array" + }, + "PatternSetName": { + "type": "string" + } + }, + "required": [ + "LogPatterns", + "PatternSetName" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { + "additionalProperties": false, + "properties": { + "AlarmMetrics": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" + }, + "type": "array" + }, + "Logs": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" + }, + "type": "array" + }, + "WindowsEvents": { + "items": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { + "additionalProperties": false, + "properties": { + "SubComponentConfigurationDetails": { + "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" + }, + "SubComponentType": { + "type": "string" + } + }, + "required": [ + "SubComponentConfigurationDetails", + "SubComponentType" + ], + "type": "object" + }, + "AWS::ApplicationInsights::Application.WindowsEvent": { + "additionalProperties": false, + "properties": { + "EventLevels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EventName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "PatternSet": { + "type": "string" + } + }, + "required": [ + "EventLevels", + "EventName", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Athena::DataCatalog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::DataCatalog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::NamedQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + }, + "WorkGroup": { + "type": "string" + } + }, + "required": [ + "Database", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::NamedQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::PreparedStatement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecursiveDeleteOption": { + "type": "boolean" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkGroupConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" + }, + "WorkGroupConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Athena::WorkGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionOption": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionOption" + ], + "type": "object" + }, + "AWS::Athena::WorkGroup.EngineVersion": { + "additionalProperties": false, + "properties": { + "EffectiveEngineVersion": { + "type": "string" + }, + "SelectedEngineVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" + }, + "OutputLocation": { + "type": "string" + }, + "RemoveEncryptionConfiguration": { + "type": "boolean" + }, + "RemoveOutputLocation": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfiguration": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfiguration": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" + } + }, + "type": "object" + }, + "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { + "additionalProperties": false, + "properties": { + "BytesScannedCutoffPerQuery": { + "type": "number" + }, + "EnforceWorkGroupConfiguration": { + "type": "boolean" + }, + "EngineVersion": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" + }, + "PublishCloudWatchMetricsEnabled": { + "type": "boolean" + }, + "RemoveBytesScannedCutoffPerQuery": { + "type": "boolean" + }, + "RequesterPaysEnabled": { + "type": "boolean" + }, + "ResultConfigurationUpdates": { + "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentReportsDestination": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" + }, + "AwsAccount": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "Description": { + "type": "string" + }, + "FrameworkId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Roles": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" + }, + "type": "array" + }, + "Scope": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AuditManager::Assessment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSAccount": { + "additionalProperties": false, + "properties": { + "EmailAddress": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AWSService": { + "additionalProperties": false, + "properties": { + "ServiceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.AssessmentReportsDestination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Delegation": { + "additionalProperties": false, + "properties": { + "AssessmentId": { + "type": "string" + }, + "AssessmentName": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "ControlSetId": { + "type": "string" + }, + "CreatedBy": { + "type": "string" + }, + "CreationTime": { + "type": "number" + }, + "Id": { + "type": "string" + }, + "LastUpdated": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Role": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "RoleType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AuditManager::Assessment.Scope": { + "additionalProperties": false, + "properties": { + "AwsAccounts": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" + }, + "type": "array" + }, + "AwsServices": { + "items": { + "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CapacityRebalance": { + "type": "boolean" + }, + "Context": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "DesiredCapacity": { + "type": "string" + }, + "HealthCheckGracePeriod": { + "type": "number" + }, + "HealthCheckType": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "LifecycleHookSpecificationList": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" + }, + "type": "array" + }, + "LoadBalancerNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxInstanceLifetime": { + "type": "number" + }, + "MaxSize": { + "type": "string" + }, + "MetricsCollection": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" + }, + "type": "array" + }, + "MinSize": { + "type": "string" + }, + "MixedInstancesPolicy": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" + }, + "NewInstancesProtectedFromScaleIn": { + "type": "boolean" + }, + "NotificationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" + }, + "type": "array" + }, + "PlacementGroup": { + "type": "string" + }, + "ServiceLinkedRoleARN": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" + }, + "type": "array" + }, + "TargetGroupARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TerminationPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VPCZoneIdentifier": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::AutoScalingGroup" + ], + "type": "string" + }, + "UpdatePolicy": { + "type": "object" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { + "additionalProperties": false, + "properties": { + "OnDemandAllocationStrategy": { + "type": "string" + }, + "OnDemandBaseCapacity": { + "type": "number" + }, + "OnDemandPercentageAboveBaseCapacity": { + "type": "number" + }, + "SpotAllocationStrategy": { + "type": "string" + }, + "SpotInstancePools": { + "type": "number" + }, + "SpotMaxPrice": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "required": [ + "LaunchTemplateSpecification" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { + "additionalProperties": false, + "properties": { + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "LifecycleHookName", + "LifecycleTransition" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { + "additionalProperties": false, + "properties": { + "Granularity": { + "type": "string" + }, + "Metrics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Granularity" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { + "additionalProperties": false, + "properties": { + "InstancesDistribution": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" + } + }, + "required": [ + "LaunchTemplate" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TopicARN": { + "type": "string" + } + }, + "required": [ + "TopicARN" + ], + "type": "object" + }, + "AWS::AutoScaling::AutoScalingGroup.TagProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "PropagateAtLaunch": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "PropagateAtLaunch", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" + }, + "type": "array" + }, + "ClassicLinkVPCId": { + "type": "string" + }, + "ClassicLinkVPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "InstanceMonitoring": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchConfigurationName": { + "type": "string" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" + }, + "PlacementTenancy": { + "type": "string" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "UserData": { + "type": "string" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LaunchConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DefaultResult": { + "type": "string" + }, + "HeartbeatTimeout": { + "type": "number" + }, + "LifecycleHookName": { + "type": "string" + }, + "LifecycleTransition": { + "type": "string" + }, + "NotificationMetadata": { + "type": "string" + }, + "NotificationTargetARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName", + "LifecycleTransition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::LifecycleHook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "AutoScalingGroupName": { + "type": "string" + }, + "Cooldown": { + "type": "string" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "MetricAggregationType": { + "type": "string" + }, + "MinAdjustmentMagnitude": { + "type": "number" + }, + "PolicyType": { + "type": "string" + }, + "ScalingAdjustment": { + "type": "number" + }, + "StepAdjustments": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" + }, + "type": "array" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::ScalingPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedMetricType" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { + "additionalProperties": false, + "properties": { + "MetricIntervalLowerBound": { + "type": "number" + }, + "MetricIntervalUpperBound": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "PredefinedMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::AutoScaling::ScheduledAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "DesiredCapacity": { + "type": "number" + }, + "EndTime": { + "type": "string" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "Recurrence": { + "type": "string" + }, + "StartTime": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupName": { + "type": "string" + }, + "MaxGroupPreparedCapacity": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "PoolState": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScaling::WarmPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationSource": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" + }, + "ScalingInstructions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" + }, + "type": "array" + } + }, + "required": [ + "ApplicationSource", + "ScalingInstructions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::AutoScalingPlans::ScalingPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { + "additionalProperties": false, + "properties": { + "CloudFormationStackARN": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Statistic": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Statistic" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedLoadMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedLoadMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { + "additionalProperties": false, + "properties": { + "PredefinedScalingMetricType": { + "type": "string" + }, + "ResourceLabel": { + "type": "string" + } + }, + "required": [ + "PredefinedScalingMetricType" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { + "additionalProperties": false, + "properties": { + "CustomizedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" + }, + "DisableDynamicScaling": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "PredefinedLoadMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" + }, + "PredictiveScalingMaxCapacityBehavior": { + "type": "string" + }, + "PredictiveScalingMaxCapacityBuffer": { + "type": "number" + }, + "PredictiveScalingMode": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "ScalableDimension": { + "type": "string" + }, + "ScalingPolicyUpdateBehavior": { + "type": "string" + }, + "ScheduledActionBufferTime": { + "type": "number" + }, + "ServiceNamespace": { + "type": "string" + }, + "TargetTrackingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" + }, + "type": "array" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "ResourceId", + "ScalableDimension", + "ServiceNamespace", + "TargetTrackingConfigurations" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "CustomizedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" + }, + "DisableScaleIn": { + "type": "boolean" + }, + "EstimatedInstanceWarmup": { + "type": "number" + }, + "PredefinedScalingMetricSpecification": { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlan": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" + }, + "BackupPlanTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "BackupPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupPlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { + "additionalProperties": false, + "properties": { + "BackupOptions": { + "type": "object" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "BackupOptions", + "ResourceType" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupPlanResourceType": { + "additionalProperties": false, + "properties": { + "AdvancedBackupSettings": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" + }, + "type": "array" + }, + "BackupPlanName": { + "type": "string" + }, + "BackupPlanRule": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" + }, + "type": "array" + } + }, + "required": [ + "BackupPlanName", + "BackupPlanRule" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.BackupRuleResourceType": { + "additionalProperties": false, + "properties": { + "CompletionWindowMinutes": { + "type": "number" + }, + "CopyActions": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" + }, + "type": "array" + }, + "EnableContinuousBackup": { + "type": "boolean" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + }, + "RecoveryPointTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "RuleName": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "StartWindowMinutes": { + "type": "number" + }, + "TargetBackupVault": { + "type": "string" + } + }, + "required": [ + "RuleName", + "TargetBackupVault" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.CopyActionResourceType": { + "additionalProperties": false, + "properties": { + "DestinationBackupVaultArn": { + "type": "string" + }, + "Lifecycle": { + "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" + } + }, + "required": [ + "DestinationBackupVaultArn" + ], + "type": "object" + }, + "AWS::Backup::BackupPlan.LifecycleResourceType": { + "additionalProperties": false, + "properties": { + "DeleteAfterDays": { + "type": "number" + }, + "MoveToColdStorageAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Backup::BackupSelection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupPlanId": { + "type": "string" + }, + "BackupSelection": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" + } + }, + "required": [ + "BackupPlanId", + "BackupSelection" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupSelection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.BackupSelectionResourceType": { + "additionalProperties": false, + "properties": { + "IamRoleArn": { + "type": "string" + }, + "ListOfTags": { + "items": { + "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" + }, + "type": "array" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelectionName": { + "type": "string" + } + }, + "required": [ + "IamRoleArn", + "SelectionName" + ], + "type": "object" + }, + "AWS::Backup::BackupSelection.ConditionResourceType": { + "additionalProperties": false, + "properties": { + "ConditionKey": { + "type": "string" + }, + "ConditionType": { + "type": "string" + }, + "ConditionValue": { + "type": "string" + } + }, + "required": [ + "ConditionKey", + "ConditionType", + "ConditionValue" + ], + "type": "object" + }, + "AWS::Backup::BackupVault": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicy": { + "type": "object" + }, + "BackupVaultName": { + "type": "string" + }, + "BackupVaultTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EncryptionKeyArn": { + "type": "string" + }, + "Notifications": { + "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" + } + }, + "required": [ + "BackupVaultName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Backup::BackupVault" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Backup::BackupVault.NotificationObjectType": { + "additionalProperties": false, + "properties": { + "BackupVaultEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SNSTopicArn": { + "type": "string" + } + }, + "required": [ + "BackupVaultEvents", + "SNSTopicArn" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentName": { + "type": "string" + }, + "ComputeResources": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" + }, + "ServiceRole": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::ComputeEnvironment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.ComputeResources": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BidPercentage": { + "type": "number" + }, + "DesiredvCpus": { + "type": "number" + }, + "Ec2Configuration": { + "items": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" + }, + "type": "array" + }, + "Ec2KeyPair": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" + }, + "MaxvCpus": { + "type": "number" + }, + "MinvCpus": { + "type": "number" + }, + "PlacementGroup": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpotIamFleetRole": { + "type": "string" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "MaxvCpus", + "Subnets", + "Type" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { + "additionalProperties": false, + "properties": { + "ImageIdOverride": { + "type": "string" + }, + "ImageType": { + "type": "string" + } + }, + "required": [ + "ImageType" + ], + "type": "object" + }, + "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "JobDefinitionName": { + "type": "string" + }, + "NodeProperties": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" + }, + "Parameters": { + "type": "object" + }, + "PlatformCapabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PropagateTags": { + "type": "boolean" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "Iam": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.ContainerProperties": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" + }, + "type": "array" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FargatePlatformConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" + }, + "Image": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobRoleArn": { + "type": "string" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" + }, + "Privileged": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "Vcpus": { + "type": "number" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" + }, + "type": "array" + } + }, + "required": [ + "Image" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" + }, + "FileSystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Environment": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.EvaluateOnExit": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "OnExitCode": { + "type": "string" + }, + "OnReason": { + "type": "string" + }, + "OnStatusReason": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { + "additionalProperties": false, + "properties": { + "PlatformVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.MountPoints": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeProperties": { + "additionalProperties": false, + "properties": { + "MainNode": { + "type": "number" + }, + "NodeRangeProperties": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" + }, + "type": "array" + }, + "NumNodes": { + "type": "number" + } + }, + "required": [ + "MainNode", + "NodeRangeProperties", + "NumNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.NodeRangeProperty": { + "additionalProperties": false, + "properties": { + "Container": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" + }, + "TargetNodes": { + "type": "string" + } + }, + "required": [ + "TargetNodes" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.RetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + }, + "EvaluateOnExit": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Timeout": { + "additionalProperties": false, + "properties": { + "AttemptDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "ContainerPath", + "Size" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::Batch::JobDefinition.Volumes": { + "additionalProperties": false, + "properties": { + "EfsVolumeConfiguration": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobDefinition.VolumesHost": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Batch::JobQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ComputeEnvironmentOrder": { + "items": { + "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" + }, + "type": "array" + }, + "JobQueueName": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "State": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ComputeEnvironmentOrder", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Batch::JobQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { + "additionalProperties": false, + "properties": { + "ComputeEnvironment": { + "type": "string" + }, + "Order": { + "type": "number" + } + }, + "required": [ + "ComputeEnvironment", + "Order" + ], + "type": "object" + }, + "AWS::Budgets::Budget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Budget": { + "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" + }, + "NotificationsWithSubscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" + }, + "type": "array" + } + }, + "required": [ + "Budget" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::Budget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::Budget.BudgetData": { + "additionalProperties": false, + "properties": { + "BudgetLimit": { + "$ref": "#/definitions/AWS::Budgets::Budget.Spend" + }, + "BudgetName": { + "type": "string" + }, + "BudgetType": { + "type": "string" + }, + "CostFilters": { + "type": "object" + }, + "CostTypes": { + "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" + }, + "PlannedBudgetLimits": { + "type": "object" + }, + "TimePeriod": { + "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "BudgetType", + "TimeUnit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.CostTypes": { + "additionalProperties": false, + "properties": { + "IncludeCredit": { + "type": "boolean" + }, + "IncludeDiscount": { + "type": "boolean" + }, + "IncludeOtherSubscription": { + "type": "boolean" + }, + "IncludeRecurring": { + "type": "boolean" + }, + "IncludeRefund": { + "type": "boolean" + }, + "IncludeSubscription": { + "type": "boolean" + }, + "IncludeSupport": { + "type": "boolean" + }, + "IncludeTax": { + "type": "boolean" + }, + "IncludeUpfront": { + "type": "boolean" + }, + "UseAmortized": { + "type": "boolean" + }, + "UseBlended": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Budgets::Budget.Notification": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdType": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "NotificationType", + "Threshold" + ], + "type": "object" + }, + "AWS::Budgets::Budget.NotificationWithSubscribers": { + "additionalProperties": false, + "properties": { + "Notification": { + "$ref": "#/definitions/AWS::Budgets::Budget.Notification" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "Notification", + "Subscribers" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Spend": { + "additionalProperties": false, + "properties": { + "Amount": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "Amount", + "Unit" + ], + "type": "object" + }, + "AWS::Budgets::Budget.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "SubscriptionType": { + "type": "string" + } + }, + "required": [ + "Address", + "SubscriptionType" + ], + "type": "object" + }, + "AWS::Budgets::Budget.TimePeriod": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionThreshold": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" + }, + "ActionType": { + "type": "string" + }, + "ApprovalModel": { + "type": "string" + }, + "BudgetName": { + "type": "string" + }, + "Definition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "NotificationType": { + "type": "string" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" + }, + "type": "array" + } + }, + "required": [ + "ActionThreshold", + "ActionType", + "BudgetName", + "Definition", + "ExecutionRoleArn", + "NotificationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Budgets::BudgetsAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ActionThreshold": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Definition": { + "additionalProperties": false, + "properties": { + "IamActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" + }, + "ScpActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" + }, + "SsmActionDefinition": { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" + } + }, + "type": "object" + }, + "AWS::Budgets::BudgetsAction.IamActionDefinition": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyArn": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyArn" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.ScpActionDefinition": { + "additionalProperties": false, + "properties": { + "PolicyId": { + "type": "string" + }, + "TargetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyId", + "TargetIds" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.SsmActionDefinition": { + "additionalProperties": false, + "properties": { + "InstanceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "Subtype": { + "type": "string" + } + }, + "required": [ + "InstanceIds", + "Region", + "Subtype" + ], + "type": "object" + }, + "AWS::Budgets::BudgetsAction.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::AnomalyMonitor": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MonitorDimension": { + "type": "string" + }, + "MonitorName": { + "type": "string" + }, + "MonitorSpecification": { + "type": "string" + }, + "MonitorType": { + "type": "string" + } + }, + "required": [ + "MonitorName", + "MonitorType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalyMonitor" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Frequency": { + "type": "string" + }, + "MonitorArnList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subscribers": { + "items": { + "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" + }, + "type": "array" + }, + "SubscriptionName": { + "type": "string" + }, + "Threshold": { + "type": "number" + } + }, + "required": [ + "Frequency", + "MonitorArnList", + "Subscribers", + "SubscriptionName", + "Threshold" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::AnomalySubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CE::AnomalySubscription.Subscriber": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Address", + "Type" + ], + "type": "object" + }, + "AWS::CE::CostCategory": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleVersion", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CE::CostCategory" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CUR::ReportDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalArtifacts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSchemaElements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BillingViewArn": { + "type": "string" + }, + "Compression": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "RefreshClosedReports": { + "type": "boolean" + }, + "ReportName": { + "type": "string" + }, + "ReportVersioning": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + }, + "S3Region": { + "type": "string" + }, + "TimeUnit": { + "type": "string" + } + }, + "required": [ + "Compression", + "Format", + "RefreshClosedReports", + "ReportName", + "ReportVersioning", + "S3Bucket", + "S3Prefix", + "S3Region", + "TimeUnit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CUR::ReportDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cassandra::Keyspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyspaceName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cassandra::Keyspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cassandra::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BillingMode": { + "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" + }, + "ClusteringKeyColumns": { + "items": { + "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExpiryEventsConfiguration": { + "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" + } + }, + "required": [ + "ExpiryEventsConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Account" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { + "additionalProperties": false, + "properties": { + "DaysBeforeExpiry": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CertificateManager::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArn": { + "type": "string" + }, + "CertificateTransparencyLoggingPreference": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainValidationOptions": { + "items": { + "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" + }, + "type": "array" + }, + "SubjectAlternativeNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationMethod": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CertificateManager::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CertificateManager::Certificate.DomainValidationOption": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "ValidationDomain": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Chatbot::SlackChannelConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationName": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + }, + "LoggingLevel": { + "type": "string" + }, + "SlackChannelId": { + "type": "string" + }, + "SlackWorkspaceId": { + "type": "string" + }, + "SnsTopicArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ConfigurationName", + "IamRoleArn", + "SlackChannelId", + "SlackWorkspaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Chatbot::SlackChannelConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticStopTimeMinutes": { + "type": "number" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerArn": { + "type": "string" + }, + "Repositories": { + "items": { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cloud9::EnvironmentEC2" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cloud9::EnvironmentEC2.Repository": { + "additionalProperties": false, + "properties": { + "PathComponent": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + } + }, + "required": [ + "PathComponent", + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::CloudFormation::CustomResource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ServiceToken": { + "type": "string" + } + }, + "required": [ + "ServiceToken" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::CustomResource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::Macro": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "LogRoleARN": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Macro" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleDefaultVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ModuleName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ModuleVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModuleName": { + "type": "string" + }, + "ModulePackage": { + "type": "string" + } + }, + "required": [ + "ModuleName", + "ModulePackage" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ModuleVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::PublicTypeVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TypeName": { + "type": "string" + }, + "TypeVersionArn": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceDefaultVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "LoggingConfig": { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" + }, + "SchemaHandlerPackage": { + "type": "string" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "SchemaHandlerPackage", + "TypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::ResourceVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::ResourceVersion.LoggingConfig": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFormation::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotificationARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateURL": { + "type": "string" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TemplateURL" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdministrationRoleARN": { + "type": "string" + }, + "AutoDeployment": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" + }, + "CallAs": { + "type": "string" + }, + "Capabilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "ExecutionRoleName": { + "type": "string" + }, + "OperationPreferences": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "PermissionModel": { + "type": "string" + }, + "StackInstancesGroup": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" + }, + "type": "array" + }, + "StackSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateURL": { + "type": "string" + } + }, + "required": [ + "PermissionModel", + "StackSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::StackSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.AutoDeployment": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RetainStacksOnAccountRemoval": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.DeploymentTargets": { + "additionalProperties": false, + "properties": { + "Accounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationalUnitIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.OperationPreferences": { + "additionalProperties": false, + "properties": { + "FailureToleranceCount": { + "type": "number" + }, + "FailureTolerancePercentage": { + "type": "number" + }, + "MaxConcurrentCount": { + "type": "number" + }, + "MaxConcurrentPercentage": { + "type": "number" + }, + "RegionConcurrencyType": { + "type": "string" + }, + "RegionOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CloudFormation::StackSet.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterKey": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterKey", + "ParameterValue" + ], + "type": "object" + }, + "AWS::CloudFormation::StackSet.StackInstances": { + "additionalProperties": false, + "properties": { + "DeploymentTargets": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" + }, + "ParameterOverrides": { + "items": { + "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DeploymentTargets", + "Regions" + ], + "type": "object" + }, + "AWS::CloudFormation::TypeActivation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Handle": { + "type": "string" + }, + "Timeout": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitCondition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFormation::WaitConditionHandle": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFormation::WaitConditionHandle" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CachePolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" + } + }, + "required": [ + "CachePolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CachePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CachePolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DefaultTTL": { + "type": "number" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "ParametersInCacheKeyAndForwardedToOrigin": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" + } + }, + "required": [ + "DefaultTTL", + "MaxTTL", + "MinTTL", + "Name", + "ParametersInCacheKeyAndForwardedToOrigin" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { + "additionalProperties": false, + "properties": { + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" + }, + "EnableAcceptEncodingBrotli": { + "type": "boolean" + }, + "EnableAcceptEncodingGzip": { + "type": "boolean" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "EnableAcceptEncodingGzip", + "HeadersConfig", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::CachePolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudFrontOriginAccessIdentityConfig": { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" + } + }, + "required": [ + "CloudFrontOriginAccessIdentityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::CloudFrontOriginAccessIdentity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "required": [ + "Comment" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DistributionConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Distribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "PathPattern": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "PathPattern", + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Cookies": { + "additionalProperties": false, + "properties": { + "Forward": { + "type": "string" + }, + "WhitelistedNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Forward" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomErrorResponse": { + "additionalProperties": false, + "properties": { + "ErrorCachingMinTTL": { + "type": "number" + }, + "ErrorCode": { + "type": "number" + }, + "ResponseCode": { + "type": "number" + }, + "ResponsePagePath": { + "type": "string" + } + }, + "required": [ + "ErrorCode" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.CustomOriginConfig": { + "additionalProperties": false, + "properties": { + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginKeepaliveTimeout": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginReadTimeout": { + "type": "number" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OriginProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DefaultCacheBehavior": { + "additionalProperties": false, + "properties": { + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CachePolicyId": { + "type": "string" + }, + "CachedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Compress": { + "type": "boolean" + }, + "DefaultTTL": { + "type": "number" + }, + "FieldLevelEncryptionId": { + "type": "string" + }, + "ForwardedValues": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" + }, + "FunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" + }, + "type": "array" + }, + "LambdaFunctionAssociations": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" + }, + "type": "array" + }, + "MaxTTL": { + "type": "number" + }, + "MinTTL": { + "type": "number" + }, + "OriginRequestPolicyId": { + "type": "string" + }, + "RealtimeLogConfigArn": { + "type": "string" + }, + "SmoothStreaming": { + "type": "boolean" + }, + "TargetOriginId": { + "type": "string" + }, + "TrustedKeyGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TrustedSigners": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ViewerProtocolPolicy": { + "type": "string" + } + }, + "required": [ + "TargetOriginId", + "ViewerProtocolPolicy" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.DistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CNAMEs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheBehaviors": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "CustomErrorResponses": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" + }, + "type": "array" + }, + "CustomOrigin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" + }, + "DefaultCacheBehavior": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" + }, + "DefaultRootObject": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "HttpVersion": { + "type": "string" + }, + "IPV6Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" + }, + "OriginGroups": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" + }, + "Origins": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" + }, + "type": "array" + }, + "PriceClass": { + "type": "string" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" + }, + "ViewerCertificate": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ForwardedValues": { + "additionalProperties": false, + "properties": { + "Cookies": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryString": { + "type": "boolean" + }, + "QueryStringCacheKeys": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryString" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.FunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.GeoRestriction": { + "additionalProperties": false, + "properties": { + "Locations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RestrictionType": { + "type": "string" + } + }, + "required": [ + "RestrictionType" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { + "additionalProperties": false, + "properties": { + "EventType": { + "type": "string" + }, + "IncludeBody": { + "type": "boolean" + }, + "LambdaFunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyCustomOrigin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "HTTPPort": { + "type": "number" + }, + "HTTPSPort": { + "type": "number" + }, + "OriginProtocolPolicy": { + "type": "string" + }, + "OriginSSLProtocols": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DNSName", + "OriginProtocolPolicy", + "OriginSSLProtocols" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.LegacyS3Origin": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DNSName" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "IncludeCookies": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.Origin": { + "additionalProperties": false, + "properties": { + "ConnectionAttempts": { + "type": "number" + }, + "ConnectionTimeout": { + "type": "number" + }, + "CustomOriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" + }, + "DomainName": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "OriginCustomHeaders": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" + }, + "type": "array" + }, + "OriginPath": { + "type": "string" + }, + "OriginShield": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" + }, + "S3OriginConfig": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" + } + }, + "required": [ + "DomainName", + "Id" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginCustomHeader": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroup": { + "additionalProperties": false, + "properties": { + "FailoverCriteria": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" + }, + "Id": { + "type": "string" + }, + "Members": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" + } + }, + "required": [ + "FailoverCriteria", + "Id", + "Members" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { + "additionalProperties": false, + "properties": { + "StatusCodes": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" + } + }, + "required": [ + "StatusCodes" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMember": { + "additionalProperties": false, + "properties": { + "OriginId": { + "type": "string" + } + }, + "required": [ + "OriginId" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroupMembers": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginGroups": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.OriginShield": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "OriginShieldRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.Restrictions": { + "additionalProperties": false, + "properties": { + "GeoRestriction": { + "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" + } + }, + "required": [ + "GeoRestriction" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.S3OriginConfig": { + "additionalProperties": false, + "properties": { + "OriginAccessIdentity": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Distribution.StatusCodes": { + "additionalProperties": false, + "properties": { + "Items": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Quantity": { + "type": "number" + } + }, + "required": [ + "Items", + "Quantity" + ], + "type": "object" + }, + "AWS::CloudFront::Distribution.ViewerCertificate": { + "additionalProperties": false, + "properties": { + "AcmCertificateArn": { + "type": "string" + }, + "CloudFrontDefaultCertificate": { + "type": "boolean" + }, + "IamCertificateId": { + "type": "string" + }, + "MinimumProtocolVersion": { + "type": "string" + }, + "SslSupportMethod": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPublish": { + "type": "boolean" + }, + "FunctionCode": { + "type": "string" + }, + "FunctionConfig": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" + }, + "FunctionMetadata": { + "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Runtime": { + "type": "string" + } + }, + "required": [ + "Comment", + "Runtime" + ], + "type": "object" + }, + "AWS::CloudFront::Function.FunctionMetadata": { + "additionalProperties": false, + "properties": { + "FunctionARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudFront::KeyGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KeyGroupConfig": { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" + } + }, + "required": [ + "KeyGroupConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::KeyGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::KeyGroup.KeyGroupConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Items": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Items", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "OriginRequestPolicyConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" + } + }, + "required": [ + "OriginRequestPolicyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::OriginRequestPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { + "additionalProperties": false, + "properties": { + "CookieBehavior": { + "type": "string" + }, + "Cookies": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CookieBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { + "additionalProperties": false, + "properties": { + "HeaderBehavior": { + "type": "string" + }, + "Headers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "HeaderBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "CookiesConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" + }, + "HeadersConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" + }, + "Name": { + "type": "string" + }, + "QueryStringsConfig": { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" + } + }, + "required": [ + "CookiesConfig", + "HeadersConfig", + "Name", + "QueryStringsConfig" + ], + "type": "object" + }, + "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { + "additionalProperties": false, + "properties": { + "QueryStringBehavior": { + "type": "string" + }, + "QueryStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "QueryStringBehavior" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PublicKeyConfig": { + "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" + } + }, + "required": [ + "PublicKeyConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::PublicKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::PublicKey.PublicKeyConfig": { + "additionalProperties": false, + "properties": { + "CallerReference": { + "type": "string" + }, + "Comment": { + "type": "string" + }, + "EncodedKey": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CallerReference", + "EncodedKey", + "Name" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndPoints": { + "items": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" + }, + "type": "array" + }, + "Fields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SamplingRate": { + "type": "number" + } + }, + "required": [ + "EndPoints", + "Fields", + "Name", + "SamplingRate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::RealtimeLogConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.EndPoint": { + "additionalProperties": false, + "properties": { + "KinesisStreamConfig": { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" + }, + "StreamType": { + "type": "string" + } + }, + "required": [ + "KinesisStreamConfig", + "StreamType" + ], + "type": "object" + }, + "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamArn" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StreamingDistributionConfig": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StreamingDistributionConfig", + "Tags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudFront::StreamingDistribution" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.Logging": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Enabled", + "Prefix" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.S3Origin": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "OriginAccessIdentity": { + "type": "string" + } + }, + "required": [ + "DomainName", + "OriginAccessIdentity" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { + "additionalProperties": false, + "properties": { + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Comment": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Logging": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" + }, + "PriceClass": { + "type": "string" + }, + "S3Origin": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" + }, + "TrustedSigners": { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" + } + }, + "required": [ + "Comment", + "Enabled", + "S3Origin", + "TrustedSigners" + ], + "type": "object" + }, + "AWS::CloudFront::StreamingDistribution.TrustedSigners": { + "additionalProperties": false, + "properties": { + "AwsAccountNumbers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "CloudWatchLogsRoleArn": { + "type": "string" + }, + "EnableLogFileValidation": { + "type": "boolean" + }, + "EventSelectors": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" + }, + "type": "array" + }, + "IncludeGlobalServiceEvents": { + "type": "boolean" + }, + "IsLogging": { + "type": "boolean" + }, + "IsMultiRegionTrail": { + "type": "boolean" + }, + "KMSKeyId": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "SnsTopicName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrailName": { + "type": "string" + } + }, + "required": [ + "IsLogging", + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudTrail::Trail" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.DataResource": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CloudTrail::Trail.EventSelector": { + "additionalProperties": false, + "properties": { + "DataResources": { + "items": { + "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" + }, + "type": "array" + }, + "IncludeManagementEvents": { + "type": "boolean" + }, + "ReadWriteType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "ComparisonOperator": { + "type": "string" + }, + "DatapointsToAlarm": { + "type": "number" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "EvaluateLowSampleCountPercentile": { + "type": "string" + }, + "EvaluationPeriods": { + "type": "number" + }, + "ExtendedStatistic": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Metrics": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "ThresholdMetricId": { + "type": "string" + }, + "TreatMissingData": { + "type": "string" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "EvaluationPeriods" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Alarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::Alarm.Metric": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::Alarm.MetricDataQuery": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Stat": { + "type": "string" + } + }, + "required": [ + "MetricName", + "Namespace", + "Stat" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Configuration": { + "additionalProperties": false, + "properties": { + "ExcludedTimeRanges": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" + }, + "type": "array" + }, + "MetricTimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Dimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CloudWatch::AnomalyDetector.Range": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "StartTime": { + "type": "string" + } + }, + "required": [ + "EndTime", + "StartTime" + ], + "type": "object" + }, + "AWS::CloudWatch::CompositeAlarm": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionsEnabled": { + "type": "boolean" + }, + "AlarmActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AlarmDescription": { + "type": "string" + }, + "AlarmName": { + "type": "string" + }, + "AlarmRule": { + "type": "string" + }, + "InsufficientDataActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OKActions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AlarmName", + "AlarmRule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::CompositeAlarm" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardBody": { + "type": "string" + }, + "DashboardName": { + "type": "string" + } + }, + "required": [ + "DashboardBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleBody": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "RuleState": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" + } + }, + "required": [ + "RuleBody", + "RuleName", + "RuleState" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::InsightRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::InsightRule.Tags": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CloudWatch::MetricStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "FirehoseArn": { + "type": "string" + }, + "IncludeFilters": { + "items": { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "OutputFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirehoseArn", + "OutputFormat", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CloudWatch::MetricStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CloudWatch::MetricStream.MetricStreamFilter": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::CodeArtifact::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeArtifact::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "DomainOwner": { + "type": "string" + }, + "ExternalConnections": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsPolicyDocument": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Upstreams": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeArtifact::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Artifacts": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "BadgeEnabled": { + "type": "boolean" + }, + "BuildBatchConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" + }, + "Cache": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" + }, + "ConcurrentBuildLimit": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" + }, + "FileSystemLocations": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" + }, + "type": "array" + }, + "LogsConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" + }, + "Name": { + "type": "string" + }, + "QueuedTimeoutInMinutes": { + "type": "number" + }, + "SecondaryArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" + }, + "type": "array" + }, + "SecondarySourceVersions": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" + }, + "type": "array" + }, + "SecondarySources": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "type": "array" + }, + "ServiceRole": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::CodeBuild::Project.Source" + }, + "SourceVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeoutInMinutes": { + "type": "number" + }, + "Triggers": { + "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" + } + }, + "required": [ + "Artifacts", + "Environment", + "ServiceRole", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Artifacts": { + "additionalProperties": false, + "properties": { + "ArtifactIdentifier": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NamespaceType": { + "type": "string" + }, + "OverrideArtifactName": { + "type": "boolean" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.BatchRestrictions": { + "additionalProperties": false, + "properties": { + "ComputeTypesAllowed": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBuildsAllowed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.BuildStatusConfig": { + "additionalProperties": false, + "properties": { + "Context": { + "type": "string" + }, + "TargetUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.CloudWatchLogsConfig": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Environment": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "ComputeType": { + "type": "string" + }, + "EnvironmentVariables": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" + }, + "type": "array" + }, + "Image": { + "type": "string" + }, + "ImagePullCredentialsType": { + "type": "string" + }, + "PrivilegedMode": { + "type": "boolean" + }, + "RegistryCredential": { + "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ComputeType", + "Image", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.FilterGroup": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::CodeBuild::Project.GitSubmodulesConfig": { + "additionalProperties": false, + "properties": { + "FetchSubmodules": { + "type": "boolean" + } + }, + "required": [ + "FetchSubmodules" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.LogsConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" + }, + "S3Logs": { + "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { + "additionalProperties": false, + "properties": { + "CombineArtifacts": { + "type": "boolean" + }, + "Restrictions": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" + }, + "ServiceRole": { + "type": "string" + }, + "TimeoutInMins": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectCache": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "Modes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectFileSystemLocation": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "MountOptions": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Location", + "MountPoint", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectSourceVersion": { + "additionalProperties": false, + "properties": { + "SourceIdentifier": { + "type": "string" + }, + "SourceVersion": { + "type": "string" + } + }, + "required": [ + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.ProjectTriggers": { + "additionalProperties": false, + "properties": { + "BuildType": { + "type": "string" + }, + "FilterGroups": { + "items": { + "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" + }, + "type": "array" + }, + "Webhook": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.RegistryCredential": { + "additionalProperties": false, + "properties": { + "Credential": { + "type": "string" + }, + "CredentialProvider": { + "type": "string" + } + }, + "required": [ + "Credential", + "CredentialProvider" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.S3LogsConfig": { + "additionalProperties": false, + "properties": { + "EncryptionDisabled": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.Source": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" + }, + "BuildSpec": { + "type": "string" + }, + "BuildStatusConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" + }, + "GitCloneDepth": { + "type": "number" + }, + "GitSubmodulesConfig": { + "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" + }, + "InsecureSsl": { + "type": "boolean" + }, + "Location": { + "type": "string" + }, + "ReportBuildStatus": { + "type": "boolean" + }, + "SourceIdentifier": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.SourceAuth": { + "additionalProperties": false, + "properties": { + "Resource": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::Project.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeBuild::Project.WebhookFilter": { + "additionalProperties": false, + "properties": { + "ExcludeMatchedPattern": { + "type": "boolean" + }, + "Pattern": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Pattern", + "Type" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteReports": { + "type": "boolean" + }, + "ExportConfig": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ExportConfig", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::ReportGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.ReportExportConfig": { + "additionalProperties": false, + "properties": { + "ExportConfigType": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" + } + }, + "required": [ + "ExportConfigType" + ], + "type": "object" + }, + "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BucketOwner": { + "type": "string" + }, + "EncryptionDisabled": { + "type": "boolean" + }, + "EncryptionKey": { + "type": "string" + }, + "Packaging": { + "type": "string" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::CodeBuild::SourceCredential": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthType": { + "type": "string" + }, + "ServerType": { + "type": "string" + }, + "Token": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "AuthType", + "ServerType", + "Token" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeBuild::SourceCredential" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" + }, + "type": "array" + } + }, + "required": [ + "RepositoryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeCommit::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.Code": { + "additionalProperties": false, + "properties": { + "BranchName": { + "type": "string" + }, + "S3": { + "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.RepositoryTrigger": { + "additionalProperties": false, + "properties": { + "Branches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CustomData": { + "type": "string" + }, + "DestinationArn": { + "type": "string" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "Events", + "Name" + ], + "type": "object" + }, + "AWS::CodeCommit::Repository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ComputePlatform": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TriggerConfigurations": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeDeploy::DeploymentGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.Alarm": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "IgnorePollAlarmFailure": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Events": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.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" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { + "additionalProperties": false, + "properties": { + "OnPremisesTagSetList": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { + "additionalProperties": false, + "properties": { + "OnPremisesTagGroup": { + "items": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { + "additionalProperties": false, + "properties": { + "GitHubLocation": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" + }, + "RevisionType": { + "type": "string" + }, + "S3Location": { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "BundleType": { + "type": "string" + }, + "ETag": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TriggerName": { + "type": "string" + }, + "TriggerTargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentPermissions": { + "type": "object" + }, + "AnomalyDetectionNotificationConfiguration": { + "items": { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" + }, + "type": "array" + }, + "ComputePlatform": { + "type": "string" + }, + "ProfilingGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProfilingGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeGuruProfiler::ProfilingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { + "additionalProperties": false, + "properties": { + "channelId": { + "type": "string" + }, + "channelUri": { + "type": "string" + } + }, + "required": [ + "channelUri" + ], + "type": "object" + }, + "AWS::CodeGuruReviewer::RepositoryAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "ConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" + }, + "type": "array" + }, + "InputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "OutputArtifactDetails": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" + }, + "Provider": { + "type": "string" + }, + "Settings": { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "InputArtifactDetails", + "OutputArtifactDetails", + "Provider", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::CustomActionType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ArtifactDetails": { + "additionalProperties": false, + "properties": { + "MaximumCount": { + "type": "number" + }, + "MinimumCount": { + "type": "number" + } + }, + "required": [ + "MaximumCount", + "MinimumCount" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Key": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Queryable": { + "type": "boolean" + }, + "Required": { + "type": "boolean" + }, + "Secret": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Key", + "Name", + "Required", + "Secret" + ], + "type": "object" + }, + "AWS::CodePipeline::CustomActionType.Settings": { + "additionalProperties": false, + "properties": { + "EntityUrlTemplate": { + "type": "string" + }, + "ExecutionUrlTemplate": { + "type": "string" + }, + "RevisionUrlTemplate": { + "type": "string" + }, + "ThirdPartyConfigurationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "ArtifactStores": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" + }, + "type": "array" + }, + "DisableInboundStageTransitions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RestartExecutionOnUpdate": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Stages": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RoleArn", + "Stages" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionDeclaration": { + "additionalProperties": false, + "properties": { + "ActionTypeId": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" + }, + "Configuration": { + "type": "object" + }, + "InputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "OutputArtifacts": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" + }, + "type": "array" + }, + "Region": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RunOrder": { + "type": "number" + } + }, + "required": [ + "ActionTypeId", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ActionTypeId": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Category", + "Owner", + "Provider", + "Version" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStore": { + "additionalProperties": false, + "properties": { + "EncryptionKey": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" + }, + "Location": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Location", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { + "additionalProperties": false, + "properties": { + "ArtifactStore": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "ArtifactStore", + "Region" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.BlockerDeclaration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.EncryptionKey": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Type" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.InputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.OutputArtifact": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageDeclaration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" + }, + "type": "array" + }, + "Blockers": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Actions", + "Name" + ], + "type": "object" + }, + "AWS::CodePipeline::Pipeline.StageTransition": { + "additionalProperties": false, + "properties": { + "Reason": { + "type": "string" + }, + "StageName": { + "type": "string" + } + }, + "required": [ + "Reason", + "StageName" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authentication": { + "type": "string" + }, + "AuthenticationConfiguration": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" + }, + "Filters": { + "items": { + "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RegisterWithThirdParty": { + "type": "boolean" + }, + "TargetAction": { + "type": "string" + }, + "TargetPipeline": { + "type": "string" + }, + "TargetPipelineVersion": { + "type": "number" + } + }, + "required": [ + "Authentication", + "AuthenticationConfiguration", + "Filters", + "TargetAction", + "TargetPipeline", + "TargetPipelineVersion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodePipeline::Webhook" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedIPRange": { + "type": "string" + }, + "SecretToken": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CodePipeline::Webhook.WebhookFilterRule": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "MatchEquals": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" + }, + "ConnectionArn": { + "type": "string" + }, + "EnableIssues": { + "type": "boolean" + }, + "IsPrivate": { + "type": "boolean" + }, + "RepositoryAccessToken": { + "type": "string" + }, + "RepositoryDescription": { + "type": "string" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryOwner": { + "type": "string" + } + }, + "required": [ + "RepositoryName", + "RepositoryOwner" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStar::GitHubRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.Code": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::CodeStar::GitHubRepository.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::CodeStarConnections::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "HostArn": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarConnections::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetailType": { + "type": "string" + }, + "EventTypeIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" + }, + "type": "array" + } + }, + "required": [ + "DetailType", + "EventTypeIds", + "Name", + "Resource", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CodeStarNotifications::NotificationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CodeStarNotifications::NotificationRule.Target": { + "additionalProperties": false, + "properties": { + "TargetAddress": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowClassicFlow": { + "type": "boolean" + }, + "AllowUnauthenticatedIdentities": { + "type": "boolean" + }, + "CognitoEvents": { + "type": "object" + }, + "CognitoIdentityProviders": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" + }, + "type": "array" + }, + "CognitoStreams": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" + }, + "DeveloperProviderName": { + "type": "string" + }, + "IdentityPoolName": { + "type": "string" + }, + "OpenIdConnectProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PushSync": { + "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" + }, + "SamlProviderARNs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SupportedLoginProviders": { + "type": "object" + } + }, + "required": [ + "AllowUnauthenticatedIdentities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "ServerSideTokenCheck": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.CognitoStreams": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "StreamingStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPool.PushSync": { + "additionalProperties": false, + "properties": { + "ApplicationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityPoolId": { + "type": "string" + }, + "RoleMappings": { + "type": "object" + }, + "Roles": { + "type": "object" + } + }, + "required": [ + "IdentityPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::IdentityPoolRoleAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { + "additionalProperties": false, + "properties": { + "Claim": { + "type": "string" + }, + "MatchType": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Claim", + "MatchType", + "RoleARN", + "Value" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { + "additionalProperties": false, + "properties": { + "AmbiguousRoleResolution": { + "type": "string" + }, + "IdentityProvider": { + "type": "string" + }, + "RulesConfiguration": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::Cognito::UserPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountRecoverySetting": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" + }, + "AdminCreateUserConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" + }, + "AliasAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AutoVerifiedAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DeviceConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" + }, + "EmailConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" + }, + "EmailVerificationMessage": { + "type": "string" + }, + "EmailVerificationSubject": { + "type": "string" + }, + "EnabledMfas": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LambdaConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" + }, + "MfaConfiguration": { + "type": "string" + }, + "Policies": { + "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" + }, + "Schema": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" + }, + "type": "array" + }, + "SmsAuthenticationMessage": { + "type": "string" + }, + "SmsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" + }, + "SmsVerificationMessage": { + "type": "string" + }, + "UserPoolAddOns": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" + }, + "UserPoolName": { + "type": "string" + }, + "UserPoolTags": { + "type": "object" + }, + "UsernameAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UsernameConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" + }, + "VerificationMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Cognito::UserPool.AccountRecoverySetting": { + "additionalProperties": false, + "properties": { + "RecoveryMechanisms": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.AdminCreateUserConfig": { + "additionalProperties": false, + "properties": { + "AllowAdminCreateUserOnly": { + "type": "boolean" + }, + "InviteMessageTemplate": { + "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" + }, + "UnusedAccountValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomEmailSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.CustomSMSSender": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "LambdaVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.DeviceConfiguration": { + "additionalProperties": false, + "properties": { + "ChallengeRequiredOnNewDevice": { + "type": "boolean" + }, + "DeviceOnlyRememberedOnUserPrompt": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.EmailConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationSet": { + "type": "string" + }, + "EmailSendingAccount": { + "type": "string" + }, + "From": { + "type": "string" + }, + "ReplyToEmailAddress": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.InviteMessageTemplate": { + "additionalProperties": false, + "properties": { + "EmailMessage": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "SMSMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.LambdaConfig": { + "additionalProperties": false, + "properties": { + "CreateAuthChallenge": { + "type": "string" + }, + "CustomEmailSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" + }, + "CustomMessage": { + "type": "string" + }, + "CustomSMSSender": { + "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" + }, + "DefineAuthChallenge": { + "type": "string" + }, + "KMSKeyID": { + "type": "string" + }, + "PostAuthentication": { + "type": "string" + }, + "PostConfirmation": { + "type": "string" + }, + "PreAuthentication": { + "type": "string" + }, + "PreSignUp": { + "type": "string" + }, + "PreTokenGeneration": { + "type": "string" + }, + "UserMigration": { + "type": "string" + }, + "VerifyAuthChallengeResponse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.NumberAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxValue": { + "type": "string" + }, + "MinValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.PasswordPolicy": { + "additionalProperties": false, + "properties": { + "MinimumLength": { + "type": "number" + }, + "RequireLowercase": { + "type": "boolean" + }, + "RequireNumbers": { + "type": "boolean" + }, + "RequireSymbols": { + "type": "boolean" + }, + "RequireUppercase": { + "type": "boolean" + }, + "TemporaryPasswordValidityDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.Policies": { + "additionalProperties": false, + "properties": { + "PasswordPolicy": { + "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.RecoveryOption": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SchemaAttribute": { + "additionalProperties": false, + "properties": { + "AttributeDataType": { + "type": "string" + }, + "DeveloperOnlyAttribute": { + "type": "boolean" + }, + "Mutable": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "NumberAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" + }, + "Required": { + "type": "boolean" + }, + "StringAttributeConstraints": { + "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.SmsConfiguration": { + "additionalProperties": false, + "properties": { + "ExternalId": { + "type": "string" + }, + "SnsCallerArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.StringAttributeConstraints": { + "additionalProperties": false, + "properties": { + "MaxLength": { + "type": "string" + }, + "MinLength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UserPoolAddOns": { + "additionalProperties": false, + "properties": { + "AdvancedSecurityMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.UsernameConfiguration": { + "additionalProperties": false, + "properties": { + "CaseSensitive": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPool.VerificationMessageTemplate": { + "additionalProperties": false, + "properties": { + "DefaultEmailOption": { + "type": "string" + }, + "EmailMessage": { + "type": "string" + }, + "EmailMessageByLink": { + "type": "string" + }, + "EmailSubject": { + "type": "string" + }, + "EmailSubjectByLink": { + "type": "string" + }, + "SmsMessage": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolClient": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessTokenValidity": { + "type": "number" + }, + "AllowedOAuthFlows": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOAuthFlowsUserPoolClient": { + "type": "boolean" + }, + "AllowedOAuthScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AnalyticsConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" + }, + "CallbackURLs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClientName": { + "type": "string" + }, + "DefaultRedirectURI": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomDomainConfig": { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" + }, + "Domain": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Domain", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Precedence": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolIdentityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeMapping": { + "type": "object" + }, + "IdpIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProviderDetails": { + "type": "object" + }, + "ProviderName": { + "type": "string" + }, + "ProviderType": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ProviderName", + "ProviderType", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolIdentityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Identifier": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scopes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "Identifier", + "Name", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolResourceServer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { + "additionalProperties": false, + "properties": { + "ScopeDescription": { + "type": "string" + }, + "ScopeName": { + "type": "string" + } + }, + "required": [ + "ScopeDescription", + "ScopeName" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountTakeoverRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" + }, + "ClientId": { + "type": "string" + }, + "CompromisedCredentialsRiskConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" + }, + "RiskExceptionConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolRiskConfigurationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + }, + "Notify": { + "type": "boolean" + } + }, + "required": [ + "EventAction", + "Notify" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { + "additionalProperties": false, + "properties": { + "HighAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "LowAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + }, + "MediumAction": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" + }, + "NotifyConfiguration": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { + "additionalProperties": false, + "properties": { + "EventAction": { + "type": "string" + } + }, + "required": [ + "EventAction" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { + "additionalProperties": false, + "properties": { + "Actions": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" + }, + "EventFilter": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "From": { + "type": "string" + }, + "MfaEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "NoActionEmail": { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" + }, + "ReplyTo": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { + "additionalProperties": false, + "properties": { + "HtmlBody": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "TextBody": { + "type": "string" + } + }, + "required": [ + "Subject" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { + "additionalProperties": false, + "properties": { + "BlockedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkippedIPRangeList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUICustomizationAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CSS": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "required": [ + "ClientId", + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUICustomizationAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientMetadata": { + "type": "object" + }, + "DesiredDeliveryMediums": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForceAliasCreation": { + "type": "boolean" + }, + "MessageAction": { + "type": "string" + }, + "UserAttributes": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + }, + "ValidationData": { + "items": { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" + }, + "type": "array" + } + }, + "required": [ + "UserPoolId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUser" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Cognito::UserPoolUser.AttributeType": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Cognito::UserPoolUserToGroupAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "GroupName", + "UserPoolId", + "Username" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Cognito::UserPoolUserToGroupAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::AggregationAuthorization": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizedAccountId": { + "type": "string" + }, + "AuthorizedAwsRegion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::AggregationAuthorization" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigRuleName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "object" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "Scope": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" + }, + "Source": { + "$ref": "#/definitions/AWS::Config::ConfigRule.Source" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.Scope": { + "additionalProperties": false, + "properties": { + "ComplianceResourceId": { + "type": "string" + }, + "ComplianceResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKey": { + "type": "string" + }, + "TagValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::ConfigRule.Source": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + }, + "SourceDetails": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" + }, + "type": "array" + }, + "SourceIdentifier": { + "type": "string" + } + }, + "required": [ + "Owner", + "SourceIdentifier" + ], + "type": "object" + }, + "AWS::Config::ConfigRule.SourceDetail": { + "additionalProperties": false, + "properties": { + "EventSource": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "MessageType": { + "type": "string" + } + }, + "required": [ + "EventSource", + "MessageType" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountAggregationSources": { + "items": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" + }, + "type": "array" + }, + "ConfigurationAggregatorName": { + "type": "string" + }, + "OrganizationAggregationSource": { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationAggregator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { + "additionalProperties": false, + "properties": { + "AccountIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AccountIds" + ], + "type": "object" + }, + "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { + "additionalProperties": false, + "properties": { + "AllAwsRegions": { + "type": "boolean" + }, + "AwsRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RecordingGroup": { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "RoleARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConfigurationRecorder" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConfigurationRecorder.RecordingGroup": { + "additionalProperties": false, + "properties": { + "AllSupported": { + "type": "boolean" + }, + "IncludeGlobalResourceTypes": { + "type": "boolean" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::ConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "ConformancePackName": { + "type": "string" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "ConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::ConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::ConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigSnapshotDeliveryProperties": { + "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" + }, + "Name": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + }, + "S3KmsKeyArn": { + "type": "string" + }, + "SnsTopicARN": { + "type": "string" + } + }, + "required": [ + "S3BucketName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::DeliveryChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { + "additionalProperties": false, + "properties": { + "DeliveryFrequency": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::OrganizationConfigRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConfigRuleName": { + "type": "string" + }, + "OrganizationCustomRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" + }, + "OrganizationManagedRuleMetadata": { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" + } + }, + "required": [ + "OrganizationConfigRuleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConfigRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "LambdaFunctionArn": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "OrganizationConfigRuleTriggerTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "LambdaFunctionArn", + "OrganizationConfigRuleTriggerTypes" + ], + "type": "object" + }, + "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InputParameters": { + "type": "string" + }, + "MaximumExecutionFrequency": { + "type": "string" + }, + "ResourceIdScope": { + "type": "string" + }, + "ResourceTypesScope": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RuleIdentifier": { + "type": "string" + }, + "TagKeyScope": { + "type": "string" + }, + "TagValueScope": { + "type": "string" + } + }, + "required": [ + "RuleIdentifier" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConformancePackInputParameters": { + "items": { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" + }, + "type": "array" + }, + "DeliveryS3Bucket": { + "type": "string" + }, + "DeliveryS3KeyPrefix": { + "type": "string" + }, + "ExcludedAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OrganizationConformancePackName": { + "type": "string" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateS3Uri": { + "type": "string" + } + }, + "required": [ + "OrganizationConformancePackName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::OrganizationConformancePack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Automatic": { + "type": "boolean" + }, + "ConfigRuleName": { + "type": "string" + }, + "ExecutionControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" + }, + "MaximumAutomaticAttempts": { + "type": "number" + }, + "Parameters": { + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "RetryAttemptSeconds": { + "type": "number" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + }, + "TargetVersion": { + "type": "string" + } + }, + "required": [ + "ConfigRuleName", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::RemediationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ExecutionControls": { + "additionalProperties": false, + "properties": { + "SsmControls": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.RemediationParameterValue": { + "additionalProperties": false, + "properties": { + "ResourceValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" + }, + "StaticValue": { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.ResourceValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.SsmControls": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutionRatePercentage": { + "type": "number" + }, + "ErrorPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Config::RemediationConfiguration.StaticValue": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Config::StoredQuery": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "QueryDescription": { + "type": "string" + }, + "QueryExpression": { + "type": "string" + }, + "QueryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "QueryExpression", + "QueryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Config::StoredQuery" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Connect::QuickConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "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::CustomerProfiles::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeadLetterQueueUrl": { + "type": "string" + }, + "DefaultEncryptionKey": { + "type": "string" + }, + "DefaultExpirationDays": { + "type": "number" + }, + "DomainName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "FlowDefinition": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Uri": { + "type": "string" + } + }, + "required": [ + "DomainName", + "ObjectTypeName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::Integration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ConnectorOperator": { + "additionalProperties": false, + "properties": { + "Marketo": { + "type": "string" + }, + "S3": { + "type": "string" + }, + "Salesforce": { + "type": "string" + }, + "ServiceNow": { + "type": "string" + }, + "Zendesk": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.FlowDefinition": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FlowName": { + "type": "string" + }, + "KmsArn": { + "type": "string" + }, + "SourceFlowConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" + }, + "Tasks": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" + }, + "type": "array" + }, + "TriggerConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" + } + }, + "required": [ + "FlowName", + "KmsArn", + "SourceFlowConfig", + "Tasks", + "TriggerConfig" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { + "additionalProperties": false, + "properties": { + "DatetimeTypeFieldName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.S3SourceProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { + "additionalProperties": false, + "properties": { + "EnableDynamicFieldUpdate": { + "type": "boolean" + }, + "IncludeDeletedRecords": { + "type": "boolean" + }, + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { + "additionalProperties": false, + "properties": { + "DataPullMode": { + "type": "string" + }, + "FirstExecutionFrom": { + "type": "number" + }, + "ScheduleEndTime": { + "type": "number" + }, + "ScheduleExpression": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleStartTime": { + "type": "number" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { + "additionalProperties": false, + "properties": { + "Marketo": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" + }, + "S3": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" + }, + "Salesforce": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" + }, + "ServiceNow": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" + }, + "Zendesk": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.SourceFlowConfig": { + "additionalProperties": false, + "properties": { + "ConnectorProfileName": { + "type": "string" + }, + "ConnectorType": { + "type": "string" + }, + "IncrementalPullConfig": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" + }, + "SourceConnectorProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" + } + }, + "required": [ + "ConnectorType", + "SourceConnectorProperties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.Task": { + "additionalProperties": false, + "properties": { + "ConnectorOperator": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" + }, + "DestinationField": { + "type": "string" + }, + "SourceFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TaskProperties": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" + }, + "type": "array" + }, + "TaskType": { + "type": "string" + } + }, + "required": [ + "SourceFields", + "TaskType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { + "additionalProperties": false, + "properties": { + "OperatorPropertyKey": { + "type": "string" + }, + "Property": { + "type": "string" + } + }, + "required": [ + "OperatorPropertyKey", + "Property" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerConfig": { + "additionalProperties": false, + "properties": { + "TriggerProperties": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" + }, + "TriggerType": { + "type": "string" + } + }, + "required": [ + "TriggerType" + ], + "type": "object" + }, + "AWS::CustomerProfiles::Integration.TriggerProperties": { + "additionalProperties": false, + "properties": { + "Scheduled": { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { + "additionalProperties": false, + "properties": { + "Object": { + "type": "string" + } + }, + "required": [ + "Object" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowProfileCreation": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EncryptionKey": { + "type": "string" + }, + "ExpirationDays": { + "type": "number" + }, + "Fields": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" + }, + "type": "array" + }, + "Keys": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" + }, + "type": "array" + }, + "ObjectTypeName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::CustomerProfiles::ObjectType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.FieldMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeField": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.KeyMap": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectTypeKeyList": { + "items": { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { + "additionalProperties": false, + "properties": { + "FieldNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DAX::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterEndpointEncryptionType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NotificationTopicARN": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationFactor": { + "type": "number" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetGroupName": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "IAMRoleARN", + "NodeType", + "ReplicationFactor" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DAX::Cluster.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DAX::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupName": { + "type": "string" + }, + "ParameterNameValues": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DAX::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DAX::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "PolicyDetails": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" + }, + "State": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DLM::LifecyclePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Action": { + "additionalProperties": false, + "properties": { + "CrossRegionCopy": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "CrossRegionCopy", + "Name" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CreateRule": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Times": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" + }, + "RetainRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Target" + ], + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.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" + }, + "NoReboot": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.PolicyDetails": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" + }, + "type": "array" + }, + "EventSource": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" + }, + "PolicyType": { + "type": "string" + }, + "ResourceLocations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Schedules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" + }, + "type": "array" + }, + "TargetTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.RetainRule": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Interval": { + "type": "number" + }, + "IntervalUnit": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DLM::LifecyclePolicy.Schedule": { + "additionalProperties": false, + "properties": { + "CopyTags": { + "type": "boolean" + }, + "CreateRule": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" + }, + "CrossRegionCopyRules": { + "items": { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" + }, + "type": "array" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateIdentifier": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateWallet": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DMS::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" + }, + "DynamoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" + }, + "ElasticsearchSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" + }, + "EndpointIdentifier": { + "type": "string" + }, + "EndpointType": { + "type": "string" + }, + "EngineName": { + "type": "string" + }, + "ExtraConnectionAttributes": { + "type": "string" + }, + "IbmDb2Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" + }, + "KafkaSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" + }, + "KinesisSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" + }, + "KmsKeyId": { + "type": "string" + }, + "MicrosoftSqlServerSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" + }, + "MongoDbSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" + }, + "MySqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" + }, + "NeptuneSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" + }, + "OracleSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PostgreSqlSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" + }, + "RedshiftSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" + }, + "ResourceIdentifier": { + "type": "string" + }, + "S3Settings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" + }, + "ServerName": { + "type": "string" + }, + "SslMode": { + "type": "string" + }, + "SybaseSettings": { + "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "EndpointType", + "EngineName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::Endpoint.DocDbSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.DynamoDbSettings": { + "additionalProperties": false, + "properties": { + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.ElasticsearchSettings": { + "additionalProperties": false, + "properties": { + "EndpointUri": { + "type": "string" + }, + "ErrorRetryDuration": { + "type": "number" + }, + "FullLoadErrorPercentage": { + "type": "number" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.IbmDb2Settings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KafkaSettings": { + "additionalProperties": false, + "properties": { + "Broker": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.KinesisSettings": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MongoDbSettings": { + "additionalProperties": false, + "properties": { + "AuthMechanism": { + "type": "string" + }, + "AuthSource": { + "type": "string" + }, + "AuthType": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DocsToInvestigate": { + "type": "string" + }, + "ExtractDocId": { + "type": "string" + }, + "NestingLevel": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + }, + "ServerName": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.MySqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.NeptuneSettings": { + "additionalProperties": false, + "properties": { + "ErrorRetryDuration": { + "type": "number" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "MaxFileSize": { + "type": "number" + }, + "MaxRetryCount": { + "type": "number" + }, + "S3BucketFolder": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.OracleSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "SecretsManagerOracleAsmSecretId": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.PostgreSqlSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.RedshiftSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.S3Settings": { + "additionalProperties": false, + "properties": { + "BucketFolder": { + "type": "string" + }, + "BucketName": { + "type": "string" + }, + "CompressionType": { + "type": "string" + }, + "CsvDelimiter": { + "type": "string" + }, + "CsvRowDelimiter": { + "type": "string" + }, + "ExternalTableDefinition": { + "type": "string" + }, + "ServiceAccessRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::Endpoint.SybaseSettings": { + "additionalProperties": false, + "properties": { + "SecretsManagerAccessRoleArn": { + "type": "string" + }, + "SecretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DMS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "SubscriptionName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "number" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "ReplicationInstanceClass": { + "type": "string" + }, + "ReplicationInstanceIdentifier": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationSubnetGroupDescription": { + "type": "string" + }, + "ReplicationSubnetGroupIdentifier": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReplicationSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DMS::ReplicationTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdcStartPosition": { + "type": "string" + }, + "CdcStartTime": { + "type": "number" + }, + "CdcStopPosition": { + "type": "string" + }, + "MigrationType": { + "type": "string" + }, + "ReplicationInstanceArn": { + "type": "string" + }, + "ReplicationTaskIdentifier": { + "type": "string" + }, + "ReplicationTaskSettings": { + "type": "string" + }, + "ResourceIdentifier": { + "type": "string" + }, + "SourceEndpointArn": { + "type": "string" + }, + "TableMappings": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetEndpointArn": { + "type": "string" + }, + "TaskData": { + "type": "string" + } + }, + "required": [ + "MigrationType", + "ReplicationInstanceArn", + "SourceEndpointArn", + "TableMappings", + "TargetEndpointArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DMS::ReplicationTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" + }, + "Input": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" + }, + "Name": { + "type": "string" + }, + "PathOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Input", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.CsvOptions": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "HeaderRow": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatabaseInputDefinition": { + "additionalProperties": false, + "properties": { + "DatabaseTableName": { + "type": "string" + }, + "GlueConnectionName": { + "type": "string" + }, + "TempDirectory": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.DatasetParameter": { + "additionalProperties": false, + "properties": { + "CreateColumn": { + "type": "boolean" + }, + "DatetimeOptions": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" + }, + "Filter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.DatetimeOptions": { + "additionalProperties": false, + "properties": { + "Format": { + "type": "string" + }, + "LocaleCode": { + "type": "string" + }, + "TimezoneOffset": { + "type": "string" + } + }, + "required": [ + "Format" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.ExcelOptions": { + "additionalProperties": false, + "properties": { + "HeaderRow": { + "type": "boolean" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.FilesLimit": { + "additionalProperties": false, + "properties": { + "MaxFiles": { + "type": "number" + }, + "Order": { + "type": "string" + }, + "OrderedBy": { + "type": "string" + } + }, + "required": [ + "MaxFiles" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterExpression": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "ValuesMap": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ValuesMap" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FilterValue": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "ValueReference": { + "type": "string" + } + }, + "required": [ + "Value", + "ValueReference" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.FormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" + }, + "Excel": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" + }, + "Json": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.Input": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" + }, + "DatabaseInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.JsonOptions": { + "additionalProperties": false, + "properties": { + "MultiLine": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathOptions": { + "additionalProperties": false, + "properties": { + "FilesLimit": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" + }, + "LastModifiedDateCondition": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DataBrew::Dataset.PathParameter": { + "additionalProperties": false, + "properties": { + "DatasetParameter": { + "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" + }, + "PathParameterName": { + "type": "string" + } + }, + "required": [ + "DatasetParameter", + "PathParameterName" + ], + "type": "object" + }, + "AWS::DataBrew::Dataset.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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": { + "type": "object" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "RoleArn", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Job.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.JobSample": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + }, + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.Output": { + "additionalProperties": false, + "properties": { + "CompressionFormat": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "FormatOptions": { + "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" + }, + "Location": { + "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" + }, + "Overwrite": { + "type": "boolean" + }, + "PartitionColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::DataBrew::Job.OutputFormatOptions": { + "additionalProperties": false, + "properties": { + "Csv": { + "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" + } + }, + "type": "object" + }, + "AWS::DataBrew::Job.OutputLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Job.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "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" + }, + "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" + }, + "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": { + "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" + }, + "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::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecipeName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sample": { + "$ref": "#/definitions/AWS::DataBrew::Project.Sample" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatasetName", + "Name", + "RecipeName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Project.Sample": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Steps" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Recipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.Action": { + "additionalProperties": false, + "properties": { + "Operation": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" + } + }, + "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.ParameterMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeParameters": { + "additionalProperties": false, + "properties": { + "AggregateFunction": { + "type": "string" + }, + "Base": { + "type": "string" + }, + "CaseStatement": { + "type": "string" + }, + "CategoryMap": { + "type": "string" + }, + "CharsToRemove": { + "type": "string" + }, + "CollapseConsecutiveWhitespace": { + "type": "string" + }, + "ColumnDataType": { + "type": "string" + }, + "ColumnRange": { + "type": "string" + }, + "Count": { + "type": "string" + }, + "CustomCharacters": { + "type": "string" + }, + "CustomStopWords": { + "type": "string" + }, + "CustomValue": { + "type": "string" + }, + "DatasetsColumns": { + "type": "string" + }, + "DateAddValue": { + "type": "string" + }, + "DateTimeFormat": { + "type": "string" + }, + "DateTimeParameters": { + "type": "string" + }, + "DeleteOtherRows": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "EndPattern": { + "type": "string" + }, + "EndPosition": { + "type": "string" + }, + "EndValue": { + "type": "string" + }, + "ExpandContractions": { + "type": "string" + }, + "Exponent": { + "type": "string" + }, + "FalseString": { + "type": "string" + }, + "GroupByAggFunctionOptions": { + "type": "string" + }, + "GroupByColumns": { + "type": "string" + }, + "HiddenColumns": { + "type": "string" + }, + "IgnoreCase": { + "type": "string" + }, + "IncludeInSplit": { + "type": "string" + }, + "Input": { + "type": "object" + }, + "Interval": { + "type": "string" + }, + "IsText": { + "type": "string" + }, + "JoinKeys": { + "type": "string" + }, + "JoinType": { + "type": "string" + }, + "LeftColumns": { + "type": "string" + }, + "Limit": { + "type": "string" + }, + "LowerBound": { + "type": "string" + }, + "MapType": { + "type": "string" + }, + "ModeType": { + "type": "string" + }, + "MultiLine": { + "type": "boolean" + }, + "NumRows": { + "type": "string" + }, + "NumRowsAfter": { + "type": "string" + }, + "NumRowsBefore": { + "type": "string" + }, + "OrderByColumn": { + "type": "string" + }, + "OrderByColumns": { + "type": "string" + }, + "Other": { + "type": "string" + }, + "Pattern": { + "type": "string" + }, + "PatternOption1": { + "type": "string" + }, + "PatternOption2": { + "type": "string" + }, + "PatternOptions": { + "type": "string" + }, + "Period": { + "type": "string" + }, + "Position": { + "type": "string" + }, + "RemoveAllPunctuation": { + "type": "string" + }, + "RemoveAllQuotes": { + "type": "string" + }, + "RemoveAllWhitespace": { + "type": "string" + }, + "RemoveCustomCharacters": { + "type": "string" + }, + "RemoveCustomValue": { + "type": "string" + }, + "RemoveLeadingAndTrailingPunctuation": { + "type": "string" + }, + "RemoveLeadingAndTrailingQuotes": { + "type": "string" + }, + "RemoveLeadingAndTrailingWhitespace": { + "type": "string" + }, + "RemoveLetters": { + "type": "string" + }, + "RemoveNumbers": { + "type": "string" + }, + "RemoveSourceColumn": { + "type": "string" + }, + "RemoveSpecialCharacters": { + "type": "string" + }, + "RightColumns": { + "type": "string" + }, + "SampleSize": { + "type": "string" + }, + "SampleType": { + "type": "string" + }, + "SecondInput": { + "type": "string" + }, + "SecondaryInputs": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" + }, + "type": "array" + }, + "SheetIndexes": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SheetNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceColumn": { + "type": "string" + }, + "SourceColumn1": { + "type": "string" + }, + "SourceColumn2": { + "type": "string" + }, + "SourceColumns": { + "type": "string" + }, + "StartColumnIndex": { + "type": "string" + }, + "StartPattern": { + "type": "string" + }, + "StartPosition": { + "type": "string" + }, + "StartValue": { + "type": "string" + }, + "StemmingMode": { + "type": "string" + }, + "StepCount": { + "type": "string" + }, + "StepIndex": { + "type": "string" + }, + "StopWordsMode": { + "type": "string" + }, + "Strategy": { + "type": "string" + }, + "TargetColumn": { + "type": "string" + }, + "TargetColumnNames": { + "type": "string" + }, + "TargetDateFormat": { + "type": "string" + }, + "TargetIndex": { + "type": "string" + }, + "TimeZone": { + "type": "string" + }, + "TokenizerPattern": { + "type": "string" + }, + "TrueString": { + "type": "string" + }, + "UdfLang": { + "type": "string" + }, + "Units": { + "type": "string" + }, + "UnpivotColumn": { + "type": "string" + }, + "UpperBound": { + "type": "string" + }, + "UseNewDataFrame": { + "type": "string" + }, + "Value": { + "type": "string" + }, + "Value1": { + "type": "string" + }, + "Value2": { + "type": "string" + }, + "ValueColumn": { + "type": "string" + }, + "ViewFrame": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataBrew::Recipe.RecipeStep": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" + }, + "ConditionExpressions": { + "items": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" + }, + "type": "array" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::DataBrew::Recipe.SecondaryInput": { + "additionalProperties": false, + "properties": { + "DataCatalogInputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" + }, + "S3InputDefinition": { + "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" + } + }, + "type": "object" + }, + "AWS::DataBrew::Schedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CronExpression": { + "type": "string" + }, + "JobNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CronExpression", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataBrew::Schedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParameterObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" + }, + "type": "array" + }, + "ParameterValues": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" + }, + "type": "array" + }, + "PipelineObjects": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" + }, + "type": "array" + }, + "PipelineTags": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "ParameterObjects" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataPipeline::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.Field": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "RefValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Key", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterObject": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" + }, + "type": "array" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "Attributes", + "Id" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.ParameterValue": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "required": [ + "Id", + "StringValue" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineObject": { + "additionalProperties": false, + "properties": { + "Fields": { + "items": { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Fields", + "Id", + "Name" + ], + "type": "object" + }, + "AWS::DataPipeline::Pipeline.PipelineTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::DataSync::Agent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActivationKey": { + "type": "string" + }, + "AgentName": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + } + }, + "required": [ + "ActivationKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Agent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2Config": { + "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" + }, + "EfsFilesystemArn": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Ec2Config", + "EfsFilesystemArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationEFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationEFS.Ec2Config": { + "additionalProperties": false, + "properties": { + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetArn": { + "type": "string" + } + }, + "required": [ + "SecurityGroupArns", + "SubnetArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationFSxWindows": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "FsxFilesystemArn": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "SecurityGroupArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "FsxFilesystemArn", + "Password", + "SecurityGroupArns", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationFSxWindows" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" + }, + "OnPremConfig": { + "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "OnPremConfig", + "ServerHostname", + "Subdirectory" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationNFS" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationNFS.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::LocationNFS.OnPremConfig": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "AgentArns" + ], + "type": "object" + }, + "AWS::DataSync::LocationObjectStorage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BucketName": { + "type": "string" + }, + "SecretKey": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "ServerPort": { + "type": "number" + }, + "ServerProtocol": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AgentArns", + "BucketName", + "ServerHostname" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationObjectStorage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "S3BucketArn": { + "type": "string" + }, + "S3Config": { + "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" + }, + "S3StorageClass": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "S3BucketArn", + "S3Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationS3" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationS3.S3Config": { + "additionalProperties": false, + "properties": { + "BucketAccessRoleArn": { + "type": "string" + } + }, + "required": [ + "BucketAccessRoleArn" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Domain": { + "type": "string" + }, + "MountOptions": { + "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" + }, + "Password": { + "type": "string" + }, + "ServerHostname": { + "type": "string" + }, + "Subdirectory": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "User": { + "type": "string" + } + }, + "required": [ + "AgentArns", + "Password", + "ServerHostname", + "Subdirectory", + "User" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::LocationSMB" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::LocationSMB.MountOptions": { + "additionalProperties": false, + "properties": { + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "DestinationLocationArn": { + "type": "string" + }, + "Excludes": { + "items": { + "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Options": { + "$ref": "#/definitions/AWS::DataSync::Task.Options" + }, + "Schedule": { + "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" + }, + "SourceLocationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationLocationArn", + "SourceLocationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DataSync::Task" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DataSync::Task.FilterRule": { + "additionalProperties": false, + "properties": { + "FilterType": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DataSync::Task.Options": { + "additionalProperties": false, + "properties": { + "Atime": { + "type": "string" + }, + "BytesPerSecond": { + "type": "number" + }, + "Gid": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "Mtime": { + "type": "string" + }, + "OverwriteMode": { + "type": "string" + }, + "PosixPermissions": { + "type": "string" + }, + "PreserveDeletedFiles": { + "type": "string" + }, + "PreserveDevices": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::Graph" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Detective::MemberInvitation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisableEmailNotification": { + "type": "boolean" + }, + "GraphArn": { + "type": "string" + }, + "MemberEmailAddress": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + } + }, + "required": [ + "GraphArn", + "MemberEmailAddress", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Detective::MemberInvitation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Config": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" + } + }, + "required": [ + "Config" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceCollectionFilter": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" + } + }, + "required": [ + "ResourceCollectionFilter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DevOpsGuru::ResourceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { + "additionalProperties": false, + "properties": { + "StackNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { + "additionalProperties": false, + "properties": { + "CloudFormation": { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" + } + }, + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Edition": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::MicrosoftAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::MicrosoftAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CreateAlias": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "EnableSso": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "ShortName": { + "type": "string" + }, + "Size": { + "type": "string" + }, + "VpcSettings": { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" + } + }, + "required": [ + "Name", + "Password", + "Size", + "VpcSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DirectoryService::SimpleAD" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DirectoryService::SimpleAD.VpcSettings": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "AWS::DocDB::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "MasterUserPassword", + "MasterUsername" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBClusterIdentifier", + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DocDB::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DocDB::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" + }, + "type": "array" + }, + "Replicas": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" + }, + "type": "array" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "AttributeDefinitions", + "KeySchema", + "Replicas" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::GlobalTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SeedCapacity": { + "type": "number" + }, + "TargetTrackingScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity", + "TargetTrackingScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + }, + "WriteProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "ReadCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + }, + "ReadCapacityUnits": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + } + }, + "required": [ + "IndexName" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + } + }, + "required": [ + "KMSMasterKeyId" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" + }, + "ReadProvisionedThroughputSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" + }, + "Region": { + "type": "string" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "DisableScaleIn": { + "type": "boolean" + }, + "ScaleInCooldown": { + "type": "number" + }, + "ScaleOutCooldown": { + "type": "number" + }, + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { + "additionalProperties": false, + "properties": { + "WriteCapacityAutoScalingSettings": { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributeDefinitions": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" + }, + "type": "array" + }, + "BillingMode": { + "type": "string" + }, + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "GlobalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" + }, + "type": "array" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "KinesisStreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" + }, + "LocalSecondaryIndexes": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" + }, + "type": "array" + }, + "PointInTimeRecoverySpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" + }, + "StreamSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeToLiveSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" + } + }, + "required": [ + "KeySchema" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::DynamoDB::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.AttributeDefinition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.ContributorInsightsSpecification": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.GlobalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "ContributorInsightsSpecification": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" + }, + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KeySchema": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "KeyType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.KinesisStreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamArn": { + "type": "string" + } + }, + "required": [ + "StreamArn" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.LocalSecondaryIndex": { + "additionalProperties": false, + "properties": { + "IndexName": { + "type": "string" + }, + "KeySchema": { + "items": { + "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" + }, + "type": "array" + }, + "Projection": { + "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" + } + }, + "required": [ + "IndexName", + "KeySchema", + "Projection" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { + "additionalProperties": false, + "properties": { + "PointInTimeRecoveryEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.Projection": { + "additionalProperties": false, + "properties": { + "NonKeyAttributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ProjectionType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::DynamoDB::Table.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "ReadCapacityUnits", + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.SSESpecification": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyId": { + "type": "string" + }, + "SSEEnabled": { + "type": "boolean" + }, + "SSEType": { + "type": "string" + } + }, + "required": [ + "SSEEnabled" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.StreamSpecification": { + "additionalProperties": false, + "properties": { + "StreamViewType": { + "type": "string" + } + }, + "required": [ + "StreamViewType" + ], + "type": "object" + }, + "AWS::DynamoDB::Table.TimeToLiveSpecification": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "AttributeName", + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "EbsOptimized": { + "type": "boolean" + }, + "EndDate": { + "type": "string" + }, + "EndDateType": { + "type": "string" + }, + "EphemeralStorage": { + "type": "boolean" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceMatchCriteria": { + "type": "string" + }, + "InstancePlatform": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceCount", + "InstancePlatform", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CapacityReservation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CapacityReservation.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::CarrierGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CarrierGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnAuthorizationRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessGroupId": { + "type": "string" + }, + "AuthorizeAllGroups": { + "type": "boolean" + }, + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "TargetNetworkCidr": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnAuthorizationRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationOptions": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" + }, + "type": "array" + }, + "ClientCidrBlock": { + "type": "string" + }, + "ClientConnectOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" + }, + "ConnectionLogOptions": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" + }, + "Description": { + "type": "string" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfServicePortal": { + "type": "string" + }, + "ServerCertificateArn": { + "type": "string" + }, + "SplitTunnel": { + "type": "boolean" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" + }, + "type": "array" + }, + "TransportProtocol": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnPort": { + "type": "number" + } + }, + "required": [ + "AuthenticationOptions", + "ClientCidrBlock", + "ConnectionLogOptions", + "ServerCertificateArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ClientRootCertificateChainArn": { + "type": "string" + } + }, + "required": [ + "ClientRootCertificateChainArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "ActiveDirectory": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" + }, + "FederatedAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" + }, + "MutualAuthentication": { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LambdaFunctionArn": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { + "additionalProperties": false, + "properties": { + "CloudwatchLogGroup": { + "type": "string" + }, + "CloudwatchLogStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + } + }, + "required": [ + "DirectoryId" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { + "additionalProperties": false, + "properties": { + "SAMLProviderArn": { + "type": "string" + }, + "SelfServiceSAMLProviderArn": { + "type": "string" + } + }, + "required": [ + "SAMLProviderArn" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnEndpoint.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceType", + "Tags" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TargetVpcSubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "DestinationCidrBlock", + "TargetVpcSubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::ClientVpnTargetNetworkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientVpnEndpointId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "ClientVpnEndpointId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::ClientVpnTargetNetworkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::CustomerGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BgpAsn": { + "type": "number" + }, + "IpAddress": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "BgpAsn", + "IpAddress", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::CustomerGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::DHCPOptions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "DomainNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNameServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetbiosNodeType": { + "type": "number" + }, + "NtpServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::DHCPOptions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EC2Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "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.CapacityReservationOptionsRequest": { + "additionalProperties": false, + "properties": { + "UsageStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" + }, + "Priority": { + "type": "number" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "CapacityReservationOptions": { + "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.SpotOptionsRequest": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "InstancePoolsToUseCount": { + "type": "number" + }, + "MaxTotalPrice": { + "type": "string" + }, + "MinTargetCapacity": { + "type": "number" + }, + "SingleAvailabilityZone": { + "type": "boolean" + }, + "SingleInstanceType": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { + "additionalProperties": false, + "properties": { + "DefaultTargetCapacityType": { + "type": "string" + }, + "OnDemandTargetCapacity": { + "type": "number" + }, + "SpotTargetCapacity": { + "type": "number" + }, + "TotalTargetCapacity": { + "type": "number" + } + }, + "required": [ + "TotalTargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::EIP": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "PublicIpv4Pool": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIP" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EIPAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "EIP": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EIPAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::EgressOnlyInternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EgressOnlyInternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::EnclaveCertificateIamRoleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::EnclaveCertificateIamRoleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::FlowLog": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliverLogsPermissionArn": { + "type": "string" + }, + "LogDestination": { + "type": "string" + }, + "LogDestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MaxAggregationInterval": { + "type": "number" + }, + "ResourceId": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficType": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "ResourceType", + "TrafficType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::FlowLog" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::GatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + } + }, + "required": [ + "GatewayId", + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::GatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Host": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoPlacement": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "HostRecovery": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Host" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Instance": { + "additionalProperties": false, + "properties": { + "CreationPolicy": { + "type": "object" + }, + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "string" + }, + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "IamInstanceProfile": { + "type": "string" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" + }, + "type": "array" + }, + "Monitoring": { + "type": "boolean" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" + }, + "type": "array" + }, + "PlacementGroupName": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SsmAssociations": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Tenancy": { + "type": "string" + }, + "UserData": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.AssociationParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EC2::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::Instance.Ebs" + }, + "NoDevice": { + "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::Instance.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CPUCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.ElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::Instance.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::Instance.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::Instance.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::Instance.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "required": [ + "LicenseConfigurationArn" + ], + "type": "object" + }, + "AWS::EC2::Instance.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex" + ], + "type": "object" + }, + "AWS::EC2::Instance.NoDevice": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::EC2::Instance.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::Instance.SsmAssociation": { + "additionalProperties": false, + "properties": { + "AssociationParameters": { + "items": { + "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" + }, + "type": "array" + }, + "DocumentName": { + "type": "string" + } + }, + "required": [ + "DocumentName" + ], + "type": "object" + }, + "AWS::EC2::Instance.Volume": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "VolumeId" + ], + "type": "object" + }, + "AWS::EC2::InternetGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::InternetGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LaunchTemplateData": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" + }, + "LaunchTemplateName": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LaunchTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { + "additionalProperties": false, + "properties": { + "CapacityReservationPreference": { + "type": "string" + }, + "CapacityReservationTarget": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { + "additionalProperties": false, + "properties": { + "CapacityReservationId": { + "type": "string" + }, + "CapacityReservationResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CpuOptions": { + "additionalProperties": false, + "properties": { + "CoreCount": { + "type": "number" + }, + "ThreadsPerCore": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.CreditSpecification": { + "additionalProperties": false, + "properties": { + "CpuCredits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ebs": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "Throughput": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.EnclaveOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.HibernationOptions": { + "additionalProperties": false, + "properties": { + "Configured": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.IamInstanceProfile": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { + "additionalProperties": false, + "properties": { + "MarketType": { + "type": "string" + }, + "SpotOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Ipv6Add": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateData": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" + }, + "type": "array" + }, + "CapacityReservationSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" + }, + "CpuOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" + }, + "CreditSpecification": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" + }, + "DisableApiTermination": { + "type": "boolean" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticGpuSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" + }, + "type": "array" + }, + "ElasticInferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" + }, + "type": "array" + }, + "EnclaveOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" + }, + "HibernationOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" + }, + "ImageId": { + "type": "string" + }, + "InstanceInitiatedShutdownBehavior": { + "type": "string" + }, + "InstanceMarketOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "LicenseSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" + }, + "type": "array" + }, + "MetadataOptions": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" + }, + "RamDiskId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.LicenseSpecification": { + "additionalProperties": false, + "properties": { + "LicenseConfigurationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.MetadataOptions": { + "additionalProperties": false, + "properties": { + "HttpEndpoint": { + "type": "string" + }, + "HttpPutResponseHopLimit": { + "type": "number" + }, + "HttpTokens": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Monitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.NetworkInterface": { + "additionalProperties": false, + "properties": { + "AssociateCarrierIpAddress": { + "type": "boolean" + }, + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" + }, + "type": "array" + }, + "NetworkCardIndex": { + "type": "number" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.Placement": { + "additionalProperties": false, + "properties": { + "Affinity": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "HostId": { + "type": "string" + }, + "HostResourceGroupArn": { + "type": "string" + }, + "PartitionNumber": { + "type": "number" + }, + "SpreadDomain": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.PrivateIpAdd": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.SpotOptions": { + "additionalProperties": false, + "properties": { + "BlockDurationMinutes": { + "type": "number" + }, + "InstanceInterruptionBehavior": { + "type": "string" + }, + "MaxPrice": { + "type": "string" + }, + "SpotInstanceType": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::LaunchTemplate.TagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::LocalGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "LocalGatewayRouteTableId": { + "type": "string" + }, + "LocalGatewayVirtualInterfaceGroupId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LocalGatewayRouteTableId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "LocalGatewayRouteTableId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::LocalGatewayRouteTableVPCAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NatGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "ConnectivityType": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAcl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "Icmp": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "NetworkAclId": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "required": [ + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkAclEntry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.Icmp": { + "additionalProperties": false, + "properties": { + "Code": { + "type": "number" + }, + "Type": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkAclEntry.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterInArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkInsightsPathId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "NetworkInsightsPathId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsAnalysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "ComponentId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Egress": { + "type": "boolean" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "Protocol": { + "type": "string" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "number" + }, + "LoadBalancerPort": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "Instance": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { + "additionalProperties": false, + "properties": { + "DestinationAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DestinationPortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SourceAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourcePortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { + "additionalProperties": false, + "properties": { + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Origin": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + }, + "destinationCidr": { + "type": "string" + }, + "destinationPrefixListId": { + "type": "string" + }, + "egressOnlyInternetGatewayId": { + "type": "string" + }, + "gatewayId": { + "type": "string" + }, + "instanceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "PortRange": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "PrefixListId": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.Explanation": { + "additionalProperties": false, + "properties": { + "Acl": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Address": { + "type": "string" + }, + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AttachedTo": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClassicLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "CustomerGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Destination": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Direction": { + "type": "string" + }, + "ElasticLoadBalancerListener": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "ExplanationCode": { + "type": "string" + }, + "IngressRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InternetGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerArn": { + "type": "string" + }, + "LoadBalancerListenerPort": { + "type": "number" + }, + "LoadBalancerTarget": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" + }, + "LoadBalancerTargetGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "LoadBalancerTargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "LoadBalancerTargetPort": { + "type": "number" + }, + "MissingComponent": { + "type": "string" + }, + "NatGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "NetworkInterface": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "PacketField": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" + }, + "type": "array" + }, + "PrefixList": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Protocols": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroup": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "type": "array" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "State": { + "type": "string" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "SubnetRouteTable": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpcPeeringConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnConnection": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "VpnGateway": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "vpcEndpoint": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { + "additionalProperties": false, + "properties": { + "AclRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" + }, + "Component": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "DestinationVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "InboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "OutboundHeader": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" + }, + "RouteTableRoute": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" + }, + "SecurityGroupRule": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" + }, + "SequenceNumber": { + "type": "number" + }, + "SourceVpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Subnet": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + }, + "Vpc": { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsAnalysis.PortRange": { + "additionalProperties": false, + "properties": { + "From": { + "type": "number" + }, + "To": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::NetworkInsightsPath": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationIp": { + "type": "string" + }, + "DestinationPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourceIp": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Destination", + "Protocol", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInsightsPath" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GroupSet": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InterfaceType": { + "type": "string" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" + }, + "type": "array" + }, + "PrivateIpAddress": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SourceDestCheck": { + "type": "boolean" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "Primary", + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "DeviceIndex": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfaceAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::NetworkInterfacePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "NetworkInterfaceId", + "Permission" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::NetworkInterfacePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PlacementGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Strategy": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PlacementGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::PrefixList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddressFamily": { + "type": "string" + }, + "Entries": { + "items": { + "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" + }, + "type": "array" + }, + "MaxEntries": { + "type": "number" + }, + "PrefixListName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddressFamily", + "MaxEntries", + "PrefixListName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::PrefixList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::PrefixList.Entry": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "Cidr" + ], + "type": "object" + }, + "AWS::EC2::Route": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CarrierGatewayId": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationIpv6CidrBlock": { + "type": "string" + }, + "EgressOnlyInternetGatewayId": { + "type": "string" + }, + "GatewayId": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "LocalGatewayId": { + "type": "string" + }, + "NatGatewayId": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "RouteTableId": { + "type": "string" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcPeeringConnectionId": { + "type": "string" + } + }, + "required": [ + "RouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Route" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::RouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::RouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupDescription": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "SecurityGroupEgress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" + }, + "type": "array" + }, + "SecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Egress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupEgress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DestinationPrefixListId": { + "type": "string" + }, + "DestinationSecurityGroupId": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "GroupId", + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupEgress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrIp": { + "type": "string" + }, + "CidrIpv6": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FromPort": { + "type": "number" + }, + "GroupId": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "IpProtocol": { + "type": "string" + }, + "SourcePrefixListId": { + "type": "string" + }, + "SourceSecurityGroupId": { + "type": "string" + }, + "SourceSecurityGroupName": { + "type": "string" + }, + "SourceSecurityGroupOwnerId": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "IpProtocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SpotFleetRequestConfigData": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" + } + }, + "required": [ + "SpotFleetRequestConfigData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SpotFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancer": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" + }, + "type": "array" + } + }, + "required": [ + "ClassicLoadBalancers" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Version" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.GroupIdentifier": { + "additionalProperties": false, + "properties": { + "GroupId": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceIpv6Address": { + "additionalProperties": false, + "properties": { + "Ipv6Address": { + "type": "string" + } + }, + "required": [ + "Ipv6Address" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "DeleteOnTermination": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "DeviceIndex": { + "type": "number" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Ipv6AddressCount": { + "type": "number" + }, + "Ipv6Addresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" + }, + "type": "array" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PrivateIpAddresses": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" + }, + "type": "array" + }, + "SecondaryPrivateIpAddressCount": { + "type": "number" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateConfig": { + "additionalProperties": false, + "properties": { + "LaunchTemplateSpecification": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" + }, + "Overrides": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.LoadBalancersConfig": { + "additionalProperties": false, + "properties": { + "ClassicLoadBalancersConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" + }, + "TargetGroupsConfig": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { + "additionalProperties": false, + "properties": { + "Primary": { + "type": "boolean" + }, + "PrivateIpAddress": { + "type": "string" + } + }, + "required": [ + "PrivateIpAddress" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotCapacityRebalance": { + "additionalProperties": false, + "properties": { + "ReplacementStrategy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "IamInstanceProfile": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" + }, + "ImageId": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KernelId": { + "type": "string" + }, + "KeyName": { + "type": "string" + }, + "Monitoring": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" + }, + "NetworkInterfaces": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" + }, + "type": "array" + }, + "Placement": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" + }, + "RamdiskId": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" + }, + "type": "array" + }, + "SpotPrice": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "TagSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" + }, + "type": "array" + }, + "UserData": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "ImageId", + "InstanceType" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetMonitoring": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "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" + }, + "TargetCapacity": { + "type": "number" + }, + "TerminateInstancesWithExpiration": { + "type": "boolean" + }, + "Type": { + "type": "string" + }, + "ValidFrom": { + "type": "string" + }, + "ValidUntil": { + "type": "string" + } + }, + "required": [ + "IamFleetRole", + "TargetCapacity" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { + "additionalProperties": false, + "properties": { + "ResourceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { + "additionalProperties": false, + "properties": { + "CapacityRebalance": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.SpotPlacement": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "Tenancy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroup": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::EC2::SpotFleet.TargetGroupsConfig": { + "additionalProperties": false, + "properties": { + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" + }, + "type": "array" + } + }, + "required": [ + "TargetGroups" + ], + "type": "object" + }, + "AWS::EC2::Subnet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssignIpv6AddressOnCreation": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "MapPublicIpOnLaunch": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "CidrBlock", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Subnet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ipv6CidrBlock": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "Ipv6CidrBlock", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetCidrBlock" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetNetworkAclAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NetworkAclId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "NetworkAclId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetNetworkAclAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::SubnetRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "RouteTableId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::SubnetRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkServices": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "DestinationPortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "Protocol": { + "type": "number" + }, + "RuleAction": { + "type": "string" + }, + "RuleNumber": { + "type": "number" + }, + "SourceCidrBlock": { + "type": "string" + }, + "SourcePortRange": { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" + }, + "TrafficDirection": { + "type": "string" + }, + "TrafficMirrorFilterId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "RuleAction", + "RuleNumber", + "SourceCidrBlock", + "TrafficDirection", + "TrafficMirrorFilterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorFilterRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorSession": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "PacketLength": { + "type": "number" + }, + "SessionNumber": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrafficMirrorFilterId": { + "type": "string" + }, + "TrafficMirrorTargetId": { + "type": "string" + }, + "VirtualNetworkId": { + "type": "number" + } + }, + "required": [ + "NetworkInterfaceId", + "SessionNumber", + "TrafficMirrorFilterId", + "TrafficMirrorTargetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorSession" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TrafficMirrorTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "NetworkLoadBalancerArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TrafficMirrorTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::TransitGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SubnetIds", + "TransitGatewayId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransportTransitGatewayAttachmentId": { + "type": "string" + } + }, + "required": [ + "Options", + "TransportTransitGatewayAttachmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayConnect" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { + "additionalProperties": false, + "properties": { + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Options": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastDomainAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "SubnetId", + "TransitGatewayAttachmentId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastDomainAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupMember": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupMember" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayMulticastGroupSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupIpAddress": { + "type": "string" + }, + "NetworkInterfaceId": { + "type": "string" + }, + "TransitGatewayMulticastDomainId": { + "type": "string" + } + }, + "required": [ + "GroupIpAddress", + "NetworkInterfaceId", + "TransitGatewayMulticastDomainId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayMulticastGroupSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayPeeringAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerAccountId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerTransitGatewayId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "PeerAccountId", + "PeerRegion", + "PeerTransitGatewayId", + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayPeeringAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Blackhole": { + "type": "boolean" + }, + "DestinationCidrBlock": { + "type": "string" + }, + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTableAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTableAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::TransitGatewayRouteTablePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "TransitGatewayAttachmentId": { + "type": "string" + }, + "TransitGatewayRouteTableId": { + "type": "string" + } + }, + "required": [ + "TransitGatewayAttachmentId", + "TransitGatewayRouteTableId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::TransitGatewayRouteTablePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrBlock": { + "type": "string" + }, + "EnableDnsHostnames": { + "type": "boolean" + }, + "EnableDnsSupport": { + "type": "boolean" + }, + "InstanceTenancy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CidrBlock" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCCidrBlock": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonProvidedIpv6CidrBlock": { + "type": "boolean" + }, + "CidrBlock": { + "type": "string" + }, + "Ipv6CidrBlock": { + "type": "string" + }, + "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": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DhcpOptionsId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DhcpOptionsId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCDHCPOptionsAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PrivateDnsEnabled": { + "type": "boolean" + }, + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointType": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "ServiceName", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointConnectionNotification": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionNotificationArn": { + "type": "string" + }, + "ServiceId": { + "type": "string" + }, + "VPCEndpointId": { + "type": "string" + } + }, + "required": [ + "ConnectionEvents", + "ConnectionNotificationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointConnectionNotification" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointService": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "GatewayLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NetworkLoadBalancerArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointService" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EC2::VPCEndpointServicePermissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPrincipals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCEndpointServicePermissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCGatewayAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InternetGatewayId": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCGatewayAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPCPeeringConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PeerOwnerId": { + "type": "string" + }, + "PeerRegion": { + "type": "string" + }, + "PeerRoleArn": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "PeerVpcId", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPCPeeringConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayId": { + "type": "string" + }, + "StaticRoutesOnly": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitGatewayId": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "VpnGatewayId": { + "type": "string" + }, + "VpnTunnelOptionsSpecifications": { + "items": { + "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" + }, + "type": "array" + } + }, + "required": [ + "CustomerGatewayId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { + "additionalProperties": false, + "properties": { + "PreSharedKey": { + "type": "string" + }, + "TunnelInsideCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EC2::VPNConnectionRoute": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationCidrBlock": { + "type": "string" + }, + "VpnConnectionId": { + "type": "string" + } + }, + "required": [ + "DestinationCidrBlock", + "VpnConnectionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNConnectionRoute" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmazonSideAsn": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VPNGatewayRoutePropagation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RouteTableIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpnGatewayId": { + "type": "string" + } + }, + "required": [ + "RouteTableIds", + "VpnGatewayId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VPNGatewayRoutePropagation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoEnableIO": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "MultiAttachEnabled": { + "type": "boolean" + }, + "OutpostArn": { + "type": "string" + }, + "Size": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Throughput": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EC2::VolumeAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "VolumeId": { + "type": "string" + } + }, + "required": [ + "Device", + "InstanceId", + "VolumeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EC2::VolumeAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::PublicRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RepositoryCatalogData": { + "type": "object" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::PublicRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyText": { + "type": "object" + } + }, + "required": [ + "PolicyText" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" + } + }, + "required": [ + "ReplicationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::ReplicationConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "required": [ + "Region", + "RegistryId" + ], + "type": "object" + }, + "AWS::ECR::ReplicationConfiguration.ReplicationRule": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" + }, + "type": "array" + } + }, + "required": [ + "Destinations" + ], + "type": "object" + }, + "AWS::ECR::Repository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" + }, + "ImageScanningConfiguration": { + "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" + }, + "ImageTagMutability": { + "type": "string" + }, + "LifecyclePolicy": { + "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" + }, + "RepositoryName": { + "type": "string" + }, + "RepositoryPolicyText": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECR::Repository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECR::Repository.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KmsKey": { + "type": "string" + } + }, + "required": [ + "EncryptionType" + ], + "type": "object" + }, + "AWS::ECR::Repository.ImageScanningConfiguration": { + "additionalProperties": false, + "properties": { + "ScanOnPush": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ECR::Repository.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "LifecyclePolicyText": { + "type": "string" + }, + "RegistryId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::CapacityProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupProvider": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AutoScalingGroupProvider" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::CapacityProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { + "additionalProperties": false, + "properties": { + "AutoScalingGroupArn": { + "type": "string" + }, + "ManagedScaling": { + "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" + }, + "ManagedTerminationProtection": { + "type": "string" + } + }, + "required": [ + "AutoScalingGroupArn" + ], + "type": "object" + }, + "AWS::ECS::CapacityProvider.ManagedScaling": { + "additionalProperties": false, + "properties": { + "InstanceWarmupPeriod": { + "type": "number" + }, + "MaximumScalingStepSize": { + "type": "number" + }, + "MinimumScalingStepSize": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "TargetCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterName": { + "type": "string" + }, + "ClusterSettings": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" + }, + "type": "array" + }, + "Configuration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Cluster.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterConfiguration": { + "additionalProperties": false, + "properties": { + "ExecuteCommandConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ClusterSettings": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" + }, + "Logging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionEnabled": { + "type": "boolean" + }, + "CloudWatchLogGroupName": { + "type": "string" + }, + "S3BucketName": { + "type": "string" + }, + "S3EncryptionEnabled": { + "type": "boolean" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DefaultCapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" + }, + "type": "array" + } + }, + "required": [ + "CapacityProviders", + "Cluster", + "DefaultCapacityProviderStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::ClusterCapacityProviderAssociations" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "CapacityProvider" + ], + "type": "object" + }, + "AWS::ECS::PrimaryTaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "Service": { + "type": "string" + }, + "TaskSetId": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskSetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::PrimaryTaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityProviderStrategy": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" + }, + "type": "array" + }, + "Cluster": { + "type": "string" + }, + "DeploymentConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" + }, + "DeploymentController": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" + }, + "DesiredCount": { + "type": "number" + }, + "EnableECSManagedTags": { + "type": "boolean" + }, + "EnableExecuteCommand": { + "type": "boolean" + }, + "HealthCheckGracePeriodSeconds": { + "type": "number" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" + }, + "type": "array" + }, + "PlacementStrategies": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" + }, + "type": "array" + }, + "PlatformVersion": { + "type": "string" + }, + "PropagateTags": { + "type": "string" + }, + "Role": { + "type": "string" + }, + "SchedulingStrategy": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::Service.CapacityProviderStrategyItem": { + "additionalProperties": false, + "properties": { + "Base": { + "type": "number" + }, + "CapacityProvider": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentCircuitBreaker": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + }, + "Rollback": { + "type": "boolean" + } + }, + "required": [ + "Enable", + "Rollback" + ], + "type": "object" + }, + "AWS::ECS::Service.DeploymentConfiguration": { + "additionalProperties": false, + "properties": { + "DeploymentCircuitBreaker": { + "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" + }, + "MaximumPercent": { + "type": "number" + }, + "MinimumHealthyPercent": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::Service.DeploymentController": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::Service.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsvpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::Service.PlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.PlacementStrategy": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::Service.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerDefinitions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" + }, + "type": "array" + }, + "Cpu": { + "type": "string" + }, + "EphemeralStorage": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "InferenceAccelerators": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" + }, + "type": "array" + }, + "IpcMode": { + "type": "string" + }, + "Memory": { + "type": "string" + }, + "NetworkMode": { + "type": "string" + }, + "PidMode": { + "type": "string" + }, + "PlacementConstraints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" + }, + "type": "array" + }, + "ProxyConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" + }, + "RequiresCompatibilities": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskRoleArn": { + "type": "string" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.AuthorizationConfig": { + "additionalProperties": false, + "properties": { + "AccessPointId": { + "type": "string" + }, + "IAM": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Cpu": { + "type": "number" + }, + "DependsOn": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" + }, + "type": "array" + }, + "DisableNetworking": { + "type": "boolean" + }, + "DnsSearchDomains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DnsServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DockerLabels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DockerSecurityOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "EnvironmentFiles": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" + }, + "type": "array" + }, + "Essential": { + "type": "boolean" + }, + "ExtraHosts": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" + }, + "type": "array" + }, + "FirelensConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" + }, + "Hostname": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "Interactive": { + "type": "boolean" + }, + "Links": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LinuxParameters": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" + }, + "LogConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" + }, + "Memory": { + "type": "number" + }, + "MemoryReservation": { + "type": "number" + }, + "MountPoints": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PortMappings": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" + }, + "type": "array" + }, + "Privileged": { + "type": "boolean" + }, + "PseudoTerminal": { + "type": "boolean" + }, + "ReadonlyRootFilesystem": { + "type": "boolean" + }, + "RepositoryCredentials": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" + }, + "ResourceRequirements": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" + }, + "type": "array" + }, + "Secrets": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + }, + "StartTimeout": { + "type": "number" + }, + "StopTimeout": { + "type": "number" + }, + "SystemControls": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" + }, + "type": "array" + }, + "Ulimits": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" + }, + "type": "array" + }, + "User": { + "type": "string" + }, + "VolumesFrom": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ContainerDependency": { + "additionalProperties": false, + "properties": { + "Condition": { + "type": "string" + }, + "ContainerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.Device": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "HostPath": { + "type": "string" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Autoprovision": { + "type": "boolean" + }, + "Driver": { + "type": "string" + }, + "DriverOpts": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Labels": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Scope": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { + "additionalProperties": false, + "properties": { + "AuthorizationConfig": { + "type": "object" + }, + "FilesystemId": { + "type": "string" + }, + "RootDirectory": { + "type": "string" + }, + "TransitEncryption": { + "type": "string" + }, + "TransitEncryptionPort": { + "type": "number" + } + }, + "required": [ + "FilesystemId" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.EnvironmentFile": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.EphemeralStorage": { + "additionalProperties": false, + "properties": { + "SizeInGiB": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.FirelensConfiguration": { + "additionalProperties": false, + "properties": { + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HealthCheck": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Interval": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "StartPeriod": { + "type": "number" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostEntry": { + "additionalProperties": false, + "properties": { + "Hostname": { + "type": "string" + }, + "IpAddress": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.HostVolumeProperties": { + "additionalProperties": false, + "properties": { + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.InferenceAccelerator": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KernelCapabilities": { + "additionalProperties": false, + "properties": { + "Add": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Drop": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.KeyValuePair": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LinuxParameters": { + "additionalProperties": false, + "properties": { + "Capabilities": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" + }, + "type": "array" + }, + "InitProcessEnabled": { + "type": "boolean" + }, + "MaxSwap": { + "type": "number" + }, + "SharedMemorySize": { + "type": "number" + }, + "Swappiness": { + "type": "number" + }, + "Tmpfs": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogDriver": { + "type": "string" + }, + "Options": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecretOptions": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" + }, + "type": "array" + } + }, + "required": [ + "LogDriver" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.MountPoint": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "ReadOnly": { + "type": "boolean" + }, + "SourceVolume": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.PortMapping": { + "additionalProperties": false, + "properties": { + "ContainerPort": { + "type": "number" + }, + "HostPort": { + "type": "number" + }, + "Protocol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ProxyConfiguration": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ProxyConfigurationProperties": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.RepositoryCredentials": { + "additionalProperties": false, + "properties": { + "CredentialsParameter": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.ResourceRequirement": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Secret": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ValueFrom": { + "type": "string" + } + }, + "required": [ + "Name", + "ValueFrom" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.SystemControl": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Tmpfs": { + "additionalProperties": false, + "properties": { + "ContainerPath": { + "type": "string" + }, + "MountOptions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Size": { + "type": "number" + } + }, + "required": [ + "Size" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Ulimit": { + "additionalProperties": false, + "properties": { + "HardLimit": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "SoftLimit": { + "type": "number" + } + }, + "required": [ + "HardLimit", + "Name", + "SoftLimit" + ], + "type": "object" + }, + "AWS::ECS::TaskDefinition.Volume": { + "additionalProperties": false, + "properties": { + "DockerVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" + }, + "EFSVolumeConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" + }, + "Host": { + "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskDefinition.VolumeFrom": { + "additionalProperties": false, + "properties": { + "ReadOnly": { + "type": "boolean" + }, + "SourceContainer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cluster": { + "type": "string" + }, + "ExternalId": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "LoadBalancers": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" + }, + "type": "array" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "Scale": { + "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" + }, + "Service": { + "type": "string" + }, + "ServiceRegistries": { + "items": { + "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" + }, + "type": "array" + }, + "TaskDefinition": { + "type": "string" + } + }, + "required": [ + "Cluster", + "Service", + "TaskDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ECS::TaskSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::ECS::TaskSet.LoadBalancer": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "LoadBalancerName": { + "type": "string" + }, + "TargetGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.Scale": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ECS::TaskSet.ServiceRegistry": { + "additionalProperties": false, + "properties": { + "ContainerName": { + "type": "string" + }, + "ContainerPort": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "RegistryArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPointTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" + }, + "type": "array" + }, + "ClientToken": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "PosixUser": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" + }, + "RootDirectory": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" + } + }, + "required": [ + "FileSystemId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.AccessPointTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::AccessPoint.CreationInfo": { + "additionalProperties": false, + "properties": { + "OwnerGid": { + "type": "string" + }, + "OwnerUid": { + "type": "string" + }, + "Permissions": { + "type": "string" + } + }, + "required": [ + "OwnerGid", + "OwnerUid", + "Permissions" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.PosixUser": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "string" + }, + "SecondaryGids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Uid": { + "type": "string" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::EFS::AccessPoint.RootDirectory": { + "additionalProperties": false, + "properties": { + "CreationInfo": { + "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EFS::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneName": { + "type": "string" + }, + "BackupPolicy": { + "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" + }, + "BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "FileSystemPolicy": { + "type": "object" + }, + "FileSystemTags": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecyclePolicies": { + "items": { + "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" + }, + "type": "array" + }, + "PerformanceMode": { + "type": "string" + }, + "ProvisionedThroughputInMibps": { + "type": "number" + }, + "ThroughputMode": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.BackupPolicy": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.ElasticFileSystemTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EFS::FileSystem.LifecyclePolicy": { + "additionalProperties": false, + "properties": { + "TransitionToIA": { + "type": "string" + } + }, + "required": [ + "TransitionToIA" + ], + "type": "object" + }, + "AWS::EFS::MountTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FileSystemId": { + "type": "string" + }, + "IpAddress": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FileSystemId", + "SecurityGroups", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EFS::MountTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Addon": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AddonName": { + "type": "string" + }, + "AddonVersion": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "ResolveConflicts": { + "type": "string" + }, + "ServiceAccountRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AddonName", + "ClusterName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Addon" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfig": { + "items": { + "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" + }, + "type": "array" + }, + "KubernetesNetworkConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" + }, + "Name": { + "type": "string" + }, + "ResourcesVpcConfig": { + "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" + }, + "RoleArn": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ResourcesVpcConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Cluster.EncryptionConfig": { + "additionalProperties": false, + "properties": { + "Provider": { + "$ref": "#/definitions/AWS::EKS::Cluster.Provider" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.KubernetesNetworkConfig": { + "additionalProperties": false, + "properties": { + "ServiceIpv4Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.Provider": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Cluster.ResourcesVpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SubnetIds" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterName": { + "type": "string" + }, + "FargateProfileName": { + "type": "string" + }, + "PodExecutionRoleArn": { + "type": "string" + }, + "Selectors": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ClusterName", + "PodExecutionRoleArn", + "Selectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::FargateProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Label": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EKS::FargateProfile.Selector": { + "additionalProperties": false, + "properties": { + "Labels": { + "items": { + "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" + }, + "type": "array" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AmiType": { + "type": "string" + }, + "CapacityType": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "DiskSize": { + "type": "number" + }, + "ForceUpdateEnabled": { + "type": "boolean" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Labels": { + "type": "object" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" + }, + "NodeRole": { + "type": "string" + }, + "NodegroupName": { + "type": "string" + }, + "ReleaseVersion": { + "type": "string" + }, + "RemoteAccess": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" + }, + "ScalingConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Taints": { + "items": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" + }, + "type": "array" + }, + "UpdateConfig": { + "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ClusterName", + "NodeRole", + "Subnets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EKS::Nodegroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.RemoteAccess": { + "additionalProperties": false, + "properties": { + "Ec2SshKey": { + "type": "string" + }, + "SourceSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Ec2SshKey" + ], + "type": "object" + }, + "AWS::EKS::Nodegroup.ScalingConfig": { + "additionalProperties": false, + "properties": { + "DesiredSize": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.Taint": { + "additionalProperties": false, + "properties": { + "Effect": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EKS::Nodegroup.UpdateConfig": { + "additionalProperties": false, + "properties": { + "MaxUnavailable": { + "type": "number" + }, + "MaxUnavailablePercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "type": "object" + }, + "Applications": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Application" + }, + "type": "array" + }, + "AutoScalingRole": { + "type": "string" + }, + "BootstrapActions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" + }, + "type": "array" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "CustomAmiId": { + "type": "string" + }, + "EbsRootVolumeSize": { + "type": "number" + }, + "Instances": { + "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" + }, + "JobFlowRole": { + "type": "string" + }, + "KerberosAttributes": { + "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" + }, + "LogEncryptionKmsKeyId": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "ManagedScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" + }, + "Name": { + "type": "string" + }, + "ReleaseLabel": { + "type": "string" + }, + "ScaleDownBehavior": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "StepConcurrencyLevel": { + "type": "number" + }, + "Steps": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibleToAllUsers": { + "type": "boolean" + } + }, + "required": [ + "Instances", + "JobFlowRole", + "Name", + "ServiceRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Application": { + "additionalProperties": false, + "properties": { + "AdditionalInfo": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::Cluster.BootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ScriptBootstrapAction": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" + } + }, + "required": [ + "Name", + "ScriptBootstrapAction" + ], + "type": "object" + }, + "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ComputeLimits": { + "additionalProperties": false, + "properties": { + "MaximumCapacityUnits": { + "type": "number" + }, + "MaximumCoreCapacityUnits": { + "type": "number" + }, + "MaximumOnDemandCapacityUnits": { + "type": "number" + }, + "MinimumCapacityUnits": { + "type": "number" + }, + "UnitType": { + "type": "string" + } + }, + "required": [ + "MaximumCapacityUnits", + "MinimumCapacityUnits", + "UnitType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::Cluster.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::Cluster.JobFlowInstancesConfig": { + "additionalProperties": false, + "properties": { + "AdditionalMasterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalSlaveSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CoreInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "CoreInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Ec2KeyName": { + "type": "string" + }, + "Ec2SubnetId": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmrManagedMasterSecurityGroup": { + "type": "string" + }, + "EmrManagedSlaveSecurityGroup": { + "type": "string" + }, + "HadoopVersion": { + "type": "string" + }, + "KeepJobFlowAliveWhenNoSteps": { + "type": "boolean" + }, + "MasterInstanceFleet": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" + }, + "MasterInstanceGroup": { + "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" + }, + "Placement": { + "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" + }, + "ServiceAccessSecurityGroup": { + "type": "string" + }, + "TerminationProtected": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.KerberosAttributes": { + "additionalProperties": false, + "properties": { + "ADDomainJoinPassword": { + "type": "string" + }, + "ADDomainJoinUser": { + "type": "string" + }, + "CrossRealmTrustPrincipalPassword": { + "type": "string" + }, + "KdcAdminPassword": { + "type": "string" + }, + "Realm": { + "type": "string" + } + }, + "required": [ + "KdcAdminPassword", + "Realm" + ], + "type": "object" + }, + "AWS::EMR::Cluster.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.ManagedScalingPolicy": { + "additionalProperties": false, + "properties": { + "ComputeLimits": { + "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" + } + }, + "type": "object" + }, + "AWS::EMR::Cluster.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::Cluster.PlacementType": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "required": [ + "Path" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::Cluster.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::Cluster.StepConfig": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "HadoopJarStep", + "Name" + ], + "type": "object" + }, + "AWS::EMR::Cluster.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "InstanceFleetType": { + "type": "string" + }, + "InstanceTypeConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" + }, + "type": "array" + }, + "LaunchSpecifications": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" + }, + "Name": { + "type": "string" + }, + "TargetOnDemandCapacity": { + "type": "number" + }, + "TargetSpotCapacity": { + "type": "number" + } + }, + "required": [ + "ClusterId", + "InstanceFleetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceFleetConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { + "additionalProperties": false, + "properties": { + "OnDemandSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" + }, + "SpotSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { + "additionalProperties": false, + "properties": { + "BidPrice": { + "type": "string" + }, + "BidPriceAsPercentageOfOnDemandPrice": { + "type": "number" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" + }, + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "number" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + } + }, + "required": [ + "AllocationStrategy" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { + "additionalProperties": false, + "properties": { + "AllocationStrategy": { + "type": "string" + }, + "BlockDurationMinutes": { + "type": "number" + }, + "TimeoutAction": { + "type": "string" + }, + "TimeoutDurationMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutAction", + "TimeoutDurationMinutes" + ], + "type": "object" + }, + "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" + }, + "BidPrice": { + "type": "string" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + }, + "EbsConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceRole": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "JobFlowId": { + "type": "string" + }, + "Market": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "InstanceCount", + "InstanceRole", + "InstanceType", + "JobFlowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::InstanceGroupConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "Constraints": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" + }, + "type": "array" + } + }, + "required": [ + "Constraints", + "Rules" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" + }, + "type": "array" + }, + "EvaluationPeriods": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "Period": { + "type": "number" + }, + "Statistic": { + "type": "string" + }, + "Threshold": { + "type": "number" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.Configuration": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "ConfigurationProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Configurations": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { + "additionalProperties": false, + "properties": { + "VolumeSpecification": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" + }, + "VolumesPerInstance": { + "type": "number" + } + }, + "required": [ + "VolumeSpecification" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { + "additionalProperties": false, + "properties": { + "EbsBlockDeviceConfigs": { + "items": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.MetricDimension": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingAction": { + "additionalProperties": false, + "properties": { + "Market": { + "type": "string" + }, + "SimpleScalingPolicyConfiguration": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" + } + }, + "required": [ + "SimpleScalingPolicyConfiguration" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { + "additionalProperties": false, + "properties": { + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + } + }, + "required": [ + "MaxCapacity", + "MinCapacity" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Trigger": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" + } + }, + "required": [ + "Action", + "Name", + "Trigger" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { + "additionalProperties": false, + "properties": { + "CloudWatchAlarmDefinition": { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" + } + }, + "required": [ + "CloudWatchAlarmDefinition" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { + "additionalProperties": false, + "properties": { + "AdjustmentType": { + "type": "string" + }, + "CoolDown": { + "type": "number" + }, + "ScalingAdjustment": { + "type": "number" + } + }, + "required": [ + "ScalingAdjustment" + ], + "type": "object" + }, + "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { + "additionalProperties": false, + "properties": { + "Iops": { + "type": "number" + }, + "SizeInGB": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "required": [ + "SizeInGB", + "VolumeType" + ], + "type": "object" + }, + "AWS::EMR::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "object" + } + }, + "required": [ + "SecurityConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionOnFailure": { + "type": "string" + }, + "HadoopJarStep": { + "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" + }, + "JobFlowId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ActionOnFailure", + "HadoopJarStep", + "JobFlowId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Step" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::Step.HadoopJarStepConfig": { + "additionalProperties": false, + "properties": { + "Args": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Jar": { + "type": "string" + }, + "MainClass": { + "type": "string" + }, + "StepProperties": { + "items": { + "$ref": "#/definitions/AWS::EMR::Step.KeyValue" + }, + "type": "array" + } + }, + "required": [ + "Jar" + ], + "type": "object" + }, + "AWS::EMR::Step.KeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::EMR::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthMode": { + "type": "string" + }, + "DefaultS3Location": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EngineSecurityGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ServiceRole": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserRole": { + "type": "string" + }, + "VpcId": { + "type": "string" + }, + "WorkspaceSecurityGroupId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultS3Location", + "EngineSecurityGroupId", + "Name", + "ServiceRole", + "SubnetIds", + "UserRole", + "VpcId", + "WorkspaceSecurityGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMR::StudioSessionMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + }, + "IdentityType": { + "type": "string" + }, + "SessionPolicyArn": { + "type": "string" + }, + "StudioId": { + "type": "string" + } + }, + "required": [ + "IdentityName", + "IdentityType", + "SessionPolicyArn", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMR::StudioSessionMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerProvider": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerProvider", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EMRContainers::VirtualCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerInfo": { + "additionalProperties": false, + "properties": { + "EksInfo": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" + } + }, + "required": [ + "EksInfo" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.ContainerProvider": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Info": { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Id", + "Info", + "Type" + ], + "type": "object" + }, + "AWS::EMRContainers::VirtualCluster.EksInfo": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + } + }, + "required": [ + "Namespace" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AZMode": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "ClusterName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheNodes": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredAvailabilityZone": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "CacheNodeType", + "Engine", + "NumCacheNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::CacheCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalNodeGroupCount": { + "type": "number" + }, + "GlobalReplicationGroupDescription": { + "type": "string" + }, + "GlobalReplicationGroupIdSuffix": { + "type": "string" + }, + "Members": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" + }, + "type": "array" + }, + "RegionalConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Members" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::GlobalReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "Role": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicationGroupId": { + "type": "string" + }, + "ReplicationGroupRegion": { + "type": "string" + }, + "ReshardingConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PreferredAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheParameterGroupFamily": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Properties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CacheParameterGroupFamily", + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AtRestEncryptionEnabled": { + "type": "boolean" + }, + "AuthToken": { + "type": "string" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AutomaticFailoverEnabled": { + "type": "boolean" + }, + "CacheNodeType": { + "type": "string" + }, + "CacheParameterGroupName": { + "type": "string" + }, + "CacheSecurityGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheSubnetGroupName": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalReplicationGroupId": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LogDeliveryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" + }, + "type": "array" + }, + "MultiAZEnabled": { + "type": "boolean" + }, + "NodeGroupConfiguration": { + "items": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" + }, + "type": "array" + }, + "NotificationTopicArn": { + "type": "string" + }, + "NumCacheClusters": { + "type": "number" + }, + "NumNodeGroups": { + "type": "number" + }, + "Port": { + "type": "number" + }, + "PreferredCacheClusterAZs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PrimaryClusterId": { + "type": "string" + }, + "ReplicasPerNodeGroup": { + "type": "number" + }, + "ReplicationGroupDescription": { + "type": "string" + }, + "ReplicationGroupId": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnapshotName": { + "type": "string" + }, + "SnapshotRetentionLimit": { + "type": "number" + }, + "SnapshotWindow": { + "type": "string" + }, + "SnapshottingClusterId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TransitEncryptionEnabled": { + "type": "boolean" + }, + "UserGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ReplicationGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::ReplicationGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { + "additionalProperties": false, + "properties": { + "LogGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" + }, + "KinesisFirehoseDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { + "additionalProperties": false, + "properties": { + "DestinationDetails": { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" + }, + "DestinationType": { + "type": "string" + }, + "LogFormat": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { + "additionalProperties": false, + "properties": { + "NodeGroupId": { + "type": "string" + }, + "PrimaryAvailabilityZone": { + "type": "string" + }, + "ReplicaAvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ReplicaCount": { + "type": "number" + }, + "Slots": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElastiCache::SecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "CacheSecurityGroupName", + "EC2SecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::SubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CacheSubnetGroupName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::SubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessString": { + "type": "string" + }, + "Engine": { + "type": "string" + }, + "NoPasswordRequired": { + "type": "boolean" + }, + "Passwords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserId": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Engine", + "UserId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElastiCache::UserGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Engine": { + "type": "string" + }, + "UserGroupId": { + "type": "string" + }, + "UserIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine", + "UserGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElastiCache::UserGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ResourceLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "ServiceRole": { + "type": "string" + }, + "VersionLifecycleConfig": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { + "additionalProperties": false, + "properties": { + "MaxAgeRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" + }, + "MaxCountRule": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxAgeRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxAgeInDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::Application.MaxCountRule": { + "additionalProperties": false, + "properties": { + "DeleteSourceFromS3": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "SourceBundle": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" + } + }, + "required": [ + "ApplicationName", + "SourceBundle" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentId": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "SourceConfiguration": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::ConfigurationTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ApplicationName", + "TemplateName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CNAMEPrefix": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EnvironmentName": { + "type": "string" + }, + "OperationsRole": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" + }, + "type": "array" + }, + "PlatformArn": { + "type": "string" + }, + "SolutionStackName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateName": { + "type": "string" + }, + "Tier": { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" + }, + "VersionLabel": { + "type": "string" + } + }, + "required": [ + "ApplicationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticBeanstalk::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.OptionSetting": { + "additionalProperties": false, + "properties": { + "Namespace": { + "type": "string" + }, + "OptionName": { + "type": "string" + }, + "ResourceName": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Namespace", + "OptionName" + ], + "type": "object" + }, + "AWS::ElasticBeanstalk::Environment.Tier": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" + }, + "AppCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ConnectionDrainingPolicy": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" + }, + "ConnectionSettings": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" + }, + "CrossZone": { + "type": "boolean" + }, + "HealthCheck": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" + }, + "Instances": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LBCookieStickinessPolicy": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" + }, + "type": "array" + }, + "Listeners": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" + }, + "type": "array" + }, + "LoadBalancerName": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" + }, + "type": "array" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Listeners" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancing::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { + "additionalProperties": false, + "properties": { + "EmitInterval": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "S3BucketName": { + "type": "string" + }, + "S3BucketPrefix": { + "type": "string" + } + }, + "required": [ + "Enabled", + "S3BucketName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieName": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "CookieName", + "PolicyName" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { + "additionalProperties": false, + "properties": { + "IdleTimeout": { + "type": "number" + } + }, + "required": [ + "IdleTimeout" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { + "additionalProperties": false, + "properties": { + "HealthyThreshold": { + "type": "string" + }, + "Interval": { + "type": "string" + }, + "Target": { + "type": "string" + }, + "Timeout": { + "type": "string" + }, + "UnhealthyThreshold": { + "type": "string" + } + }, + "required": [ + "HealthyThreshold", + "Interval", + "Target", + "Timeout", + "UnhealthyThreshold" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { + "additionalProperties": false, + "properties": { + "CookieExpirationPeriod": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { + "additionalProperties": false, + "properties": { + "InstancePort": { + "type": "string" + }, + "InstanceProtocol": { + "type": "string" + }, + "LoadBalancerPort": { + "type": "string" + }, + "PolicyNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + }, + "SSLCertificateId": { + "type": "string" + } + }, + "required": [ + "InstancePort", + "LoadBalancerPort", + "Protocol" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "object" + }, + "type": "array" + }, + "InstancePorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoadBalancerPorts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyName": { + "type": "string" + }, + "PolicyType": { + "type": "string" + } + }, + "required": [ + "Attributes", + "PolicyName", + "PolicyType" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlpnPolicy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" + }, + "type": "array" + }, + "DefaultActions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" + }, + "type": "array" + }, + "LoadBalancerArn": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "SslPolicy": { + "type": "string" + } + }, + "required": [ + "DefaultActions", + "LoadBalancerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "string" + }, + "TokenEndpoint": { + "type": "string" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificates": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + } + }, + "required": [ + "Certificates", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" + }, + "type": "array" + }, + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" + }, + "type": "array" + }, + "ListenerArn": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Actions", + "Conditions", + "ListenerArn", + "Priority" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::ListenerRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { + "additionalProperties": false, + "properties": { + "AuthenticateCognitoConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" + }, + "AuthenticateOidcConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" + }, + "FixedResponseConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" + }, + "ForwardConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" + }, + "Order": { + "type": "number" + }, + "RedirectConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" + }, + "TargetGroupArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "UserPoolArn": { + "type": "string" + }, + "UserPoolClientId": { + "type": "string" + }, + "UserPoolDomain": { + "type": "string" + } + }, + "required": [ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { + "additionalProperties": false, + "properties": { + "AuthenticationRequestExtraParams": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationEndpoint": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "OnUnauthenticatedRequest": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "SessionCookieName": { + "type": "string" + }, + "SessionTimeout": { + "type": "number" + }, + "TokenEndpoint": { + "type": "string" + }, + "UseExistingClientSecret": { + "type": "boolean" + }, + "UserInfoEndpoint": { + "type": "string" + } + }, + "required": [ + "AuthorizationEndpoint", + "ClientId", + "ClientSecret", + "Issuer", + "TokenEndpoint", + "UserInfoEndpoint" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { + "additionalProperties": false, + "properties": { + "ContentType": { + "type": "string" + }, + "MessageBody": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { + "additionalProperties": false, + "properties": { + "TargetGroupStickinessConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" + }, + "TargetGroups": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { + "additionalProperties": false, + "properties": { + "HttpHeaderName": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Port": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Query": { + "type": "string" + }, + "StatusCode": { + "type": "string" + } + }, + "required": [ + "StatusCode" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { + "additionalProperties": false, + "properties": { + "Field": { + "type": "string" + }, + "HostHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" + }, + "HttpHeaderConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" + }, + "HttpRequestMethodConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" + }, + "PathPatternConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" + }, + "QueryStringConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" + }, + "SourceIpConfig": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { + "additionalProperties": false, + "properties": { + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { + "additionalProperties": false, + "properties": { + "DurationSeconds": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { + "additionalProperties": false, + "properties": { + "TargetGroupArn": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IpAddressType": { + "type": "string" + }, + "LoadBalancerAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Scheme": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::LoadBalancer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { + "additionalProperties": false, + "properties": { + "AllocationId": { + "type": "string" + }, + "IPv6Address": { + "type": "string" + }, + "PrivateIPv4Address": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckEnabled": { + "type": "boolean" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "string" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "HealthCheckTimeoutSeconds": { + "type": "number" + }, + "HealthyThresholdCount": { + "type": "number" + }, + "Matcher": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "ProtocolVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetGroupAttributes": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" + }, + "type": "array" + }, + "UnhealthyThresholdCount": { + "type": "number" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ElasticLoadBalancingV2::TargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { + "additionalProperties": false, + "properties": { + "GrpcCode": { + "type": "string" + }, + "HttpCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicies": { + "type": "object" + }, + "AdvancedOptions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AdvancedSecurityOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" + }, + "CognitoOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" + }, + "DomainEndpointOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" + }, + "DomainName": { + "type": "string" + }, + "EBSOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" + }, + "ElasticsearchClusterConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" + }, + "ElasticsearchVersion": { + "type": "string" + }, + "EncryptionAtRestOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" + }, + "LogPublishingOptions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" + } + }, + "type": "object" + }, + "NodeToNodeEncryptionOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" + }, + "SnapshotOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Elasticsearch::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InternalUserDatabaseEnabled": { + "type": "boolean" + }, + "MasterUserOptions": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.CognitoOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IdentityPoolId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UserPoolId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.DomainEndpointOptions": { + "additionalProperties": false, + "properties": { + "CustomEndpoint": { + "type": "string" + }, + "CustomEndpointCertificateArn": { + "type": "string" + }, + "CustomEndpointEnabled": { + "type": "boolean" + }, + "EnforceHTTPS": { + "type": "boolean" + }, + "TLSSecurityPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EBSOptions": { + "additionalProperties": false, + "properties": { + "EBSEnabled": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { + "additionalProperties": false, + "properties": { + "DedicatedMasterCount": { + "type": "number" + }, + "DedicatedMasterEnabled": { + "type": "boolean" + }, + "DedicatedMasterType": { + "type": "string" + }, + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "WarmCount": { + "type": "number" + }, + "WarmEnabled": { + "type": "boolean" + }, + "WarmType": { + "type": "string" + }, + "ZoneAwarenessConfig": { + "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" + }, + "ZoneAwarenessEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.LogPublishingOption": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.MasterUserOptions": { + "additionalProperties": false, + "properties": { + "MasterUserARN": { + "type": "string" + }, + "MasterUserName": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.SnapshotOptions": { + "additionalProperties": false, + "properties": { + "AutomatedSnapshotStartHour": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.VPCOptions": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { + "additionalProperties": false, + "properties": { + "AvailabilityZoneCount": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::EventSchemas::Discoverer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Discoverer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Discoverer.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::EventSchemas::Registry.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::EventSchemas::RegistryPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Policy": { + "type": "object" + }, + "RegistryName": { + "type": "string" + }, + "RevisionId": { + "type": "string" + } + }, + "required": [ + "Policy", + "RegistryName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::RegistryPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "RegistryName": { + "type": "string" + }, + "SchemaName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Content", + "RegistryName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::EventSchemas::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::EventSchemas::Schema.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Events::ApiDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HttpMethod": { + "type": "string" + }, + "InvocationEndpoint": { + "type": "string" + }, + "InvocationRateLimitPerSecond": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ConnectionArn", + "HttpMethod", + "InvocationEndpoint" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::ApiDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Archive": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArchiveName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "RetentionDays": { + "type": "number" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "SourceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Archive" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthParameters": { + "type": "object" + }, + "AuthorizationType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "AuthParameters", + "AuthorizationType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBus": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EventSourceName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBus" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Condition": { + "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" + }, + "EventBusName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "Statement": { + "type": "object" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::EventBusPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Events::EventBusPolicy.Condition": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventBusName": { + "type": "string" + }, + "EventPattern": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + }, + "State": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Events::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Events::Rule.AwsVpcConfiguration": { + "additionalProperties": false, + "properties": { + "AssignPublicIp": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Subnets" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchArrayProperties": { + "additionalProperties": false, + "properties": { + "Size": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.BatchParameters": { + "additionalProperties": false, + "properties": { + "ArrayProperties": { + "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" + }, + "JobDefinition": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "RetryStrategy": { + "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" + } + }, + "required": [ + "JobDefinition", + "JobName" + ], + "type": "object" + }, + "AWS::Events::Rule.BatchRetryStrategy": { + "additionalProperties": false, + "properties": { + "Attempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Events::Rule.EcsParameters": { + "additionalProperties": false, + "properties": { + "Group": { + "type": "string" + }, + "LaunchType": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" + }, + "PlatformVersion": { + "type": "string" + }, + "TaskCount": { + "type": "number" + }, + "TaskDefinitionArn": { + "type": "string" + } + }, + "required": [ + "TaskDefinitionArn" + ], + "type": "object" + }, + "AWS::Events::Rule.HttpParameters": { + "additionalProperties": false, + "properties": { + "HeaderParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "PathParameterValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QueryStringParameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Events::Rule.InputTransformer": { + "additionalProperties": false, + "properties": { + "InputPathsMap": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "InputTemplate": { + "type": "string" + } + }, + "required": [ + "InputTemplate" + ], + "type": "object" + }, + "AWS::Events::Rule.KinesisParameters": { + "additionalProperties": false, + "properties": { + "PartitionKeyPath": { + "type": "string" + } + }, + "required": [ + "PartitionKeyPath" + ], + "type": "object" + }, + "AWS::Events::Rule.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "AwsVpcConfiguration": { + "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RedshiftDataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "Sql": { + "type": "string" + }, + "StatementName": { + "type": "string" + }, + "WithEvent": { + "type": "boolean" + } + }, + "required": [ + "Database", + "Sql" + ], + "type": "object" + }, + "AWS::Events::Rule.RetryPolicy": { + "additionalProperties": false, + "properties": { + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Events::Rule.RunCommandParameters": { + "additionalProperties": false, + "properties": { + "RunCommandTargets": { + "items": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" + }, + "type": "array" + } + }, + "required": [ + "RunCommandTargets" + ], + "type": "object" + }, + "AWS::Events::Rule.RunCommandTarget": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::Events::Rule.SqsParameters": { + "additionalProperties": false, + "properties": { + "MessageGroupId": { + "type": "string" + } + }, + "required": [ + "MessageGroupId" + ], + "type": "object" + }, + "AWS::Events::Rule.Target": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "BatchParameters": { + "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" + }, + "EcsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" + }, + "HttpParameters": { + "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" + }, + "Id": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "InputTransformer": { + "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" + }, + "KinesisParameters": { + "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" + }, + "RedshiftDataParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" + }, + "RetryPolicy": { + "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" + }, + "RoleArn": { + "type": "string" + }, + "RunCommandParameters": { + "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" + }, + "SqsParameters": { + "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" + } + }, + "required": [ + "Arn", + "Id" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StopConditions": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Targets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" + } + }, + "type": "object" + } + }, + "required": [ + "Description", + "RoleArn", + "StopConditions", + "Tags", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FIS::ExperimentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { + "additionalProperties": false, + "properties": { + "ActionId": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "StartAfter": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ActionId" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceType": { + "type": "string" + }, + "SelectionMode": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "SelectionMode" + ], + "type": "object" + }, + "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Path", + "Values" + ], + "type": "object" + }, + "AWS::FMS::NotificationChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SnsRoleName": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "SnsRoleName", + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::NotificationChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteAllPolicyResources": { + "type": "boolean" + }, + "ExcludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "ExcludeResourceTags": { + "type": "boolean" + }, + "IncludeMap": { + "$ref": "#/definitions/AWS::FMS::Policy.IEMap" + }, + "PolicyName": { + "type": "string" + }, + "RemediationEnabled": { + "type": "boolean" + }, + "ResourceTags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" + }, + "type": "array" + }, + "ResourceType": { + "type": "string" + }, + "ResourceTypeList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityServicePolicyData": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" + }, + "type": "array" + } + }, + "required": [ + "ExcludeResourceTags", + "PolicyName", + "RemediationEnabled", + "ResourceType", + "SecurityServicePolicyData" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FMS::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FMS::Policy.IEMap": { + "additionalProperties": false, + "properties": { + "ACCOUNT": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ORGUNIT": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FMS::Policy.PolicyTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::FMS::Policy.ResourceTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key" + ], + "type": "object" + }, + "AWS::FSx::FileSystem": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BackupId": { + "type": "string" + }, + "FileSystemType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LustreConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageCapacity": { + "type": "number" + }, + "StorageType": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WindowsConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" + } + }, + "required": [ + "FileSystemType", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FSx::FileSystem" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.AuditLogConfiguration": { + "additionalProperties": false, + "properties": { + "AuditLogDestination": { + "type": "string" + }, + "FileAccessAuditLogLevel": { + "type": "string" + }, + "FileShareAccessAuditLogLevel": { + "type": "string" + } + }, + "required": [ + "FileAccessAuditLogLevel", + "FileShareAccessAuditLogLevel" + ], + "type": "object" + }, + "AWS::FSx::FileSystem.LustreConfiguration": { + "additionalProperties": false, + "properties": { + "AutoImportPolicy": { + "type": "string" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DataCompressionType": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "DriveCacheType": { + "type": "string" + }, + "ExportPath": { + "type": "string" + }, + "ImportPath": { + "type": "string" + }, + "ImportedFileChunkSize": { + "type": "number" + }, + "PerUnitStorageThroughput": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "DnsIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DomainName": { + "type": "string" + }, + "FileSystemAdministratorsGroup": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + }, + "Password": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FSx::FileSystem.WindowsConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryId": { + "type": "string" + }, + "Aliases": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuditLogConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" + }, + "AutomaticBackupRetentionDays": { + "type": "number" + }, + "CopyTagsToBackups": { + "type": "boolean" + }, + "DailyAutomaticBackupStartTime": { + "type": "string" + }, + "DeploymentType": { + "type": "string" + }, + "PreferredSubnetId": { + "type": "string" + }, + "SelfManagedActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" + }, + "ThroughputCapacity": { + "type": "number" + }, + "WeeklyMaintenanceStartTime": { + "type": "string" + } + }, + "required": [ + "ThroughputCapacity" + ], + "type": "object" + }, + "AWS::FinSpace::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FederationMode": { + "type": "string" + }, + "FederationParameters": { + "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FinSpace::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FinSpace::Environment.FederationParameters": { + "additionalProperties": false, + "properties": { + "ApplicationCallBackURL": { + "type": "string" + }, + "AttributeMap": { + "type": "object" + }, + "FederationProviderName": { + "type": "string" + }, + "FederationURN": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "SamlMetadataURL": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedModels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "DetectorVersionStatus": { + "type": "string" + }, + "EventType": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" + }, + "RuleExecutionMode": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorId", + "EventType", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Detector.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" + }, + "type": "array" + }, + "Inline": { + "type": "boolean" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" + }, + "type": "array" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Model": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Outcome": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Detector.Rule": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "Language": { + "type": "string" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Outcomes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" + }, + "type": "array" + }, + "RuleId": { + "type": "string" + }, + "RuleVersion": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EntityType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EntityType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EntityTypes": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" + }, + "type": "array" + }, + "EventVariables": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" + }, + "type": "array" + }, + "Labels": { + "items": { + "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EntityTypes", + "EventVariables", + "Labels", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::EventType" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::EventType.EntityType": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.EventVariable": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::FraudDetector::EventType.Label": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "CreatedTime": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Inline": { + "type": "boolean" + }, + "LastUpdatedTime": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::FraudDetector::Label": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Label" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Outcome": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Outcome" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::FraudDetector::Variable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "DefaultValue": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VariableType": { + "type": "string" + } + }, + "required": [ + "DataSource", + "DataType", + "DefaultValue", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::FraudDetector::Variable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoutingStrategy": { + "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" + } + }, + "required": [ + "Name", + "RoutingStrategy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Alias.RoutingStrategy": { + "additionalProperties": false, + "properties": { + "FleetId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Build.S3Location" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Build" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Build.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GameLift::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BuildId": { + "type": "string" + }, + "CertificateConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" + }, + "Description": { + "type": "string" + }, + "DesiredEC2Instances": { + "type": "number" + }, + "EC2InboundPermissions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" + }, + "type": "array" + }, + "EC2InstanceType": { + "type": "string" + }, + "FleetType": { + "type": "string" + }, + "InstanceRoleARN": { + "type": "string" + }, + "Locations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" + }, + "type": "array" + }, + "MaxSize": { + "type": "number" + }, + "MetricGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MinSize": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NewGameSessionProtectionPolicy": { + "type": "string" + }, + "PeerVpcAwsAccountId": { + "type": "string" + }, + "PeerVpcId": { + "type": "string" + }, + "ResourceCreationLimitPolicy": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" + }, + "RuntimeConfiguration": { + "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" + }, + "ScriptId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.CertificateConfiguration": { + "additionalProperties": false, + "properties": { + "CertificateType": { + "type": "string" + } + }, + "required": [ + "CertificateType" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.IpPermission": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "IpRange": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "IpRange", + "Protocol", + "ToPort" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationCapacity": { + "additionalProperties": false, + "properties": { + "DesiredEC2Instances": { + "type": "number" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + } + }, + "required": [ + "DesiredEC2Instances", + "MaxSize", + "MinSize" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.LocationConfiguration": { + "additionalProperties": false, + "properties": { + "Location": { + "type": "string" + }, + "LocationCapacity": { + "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { + "additionalProperties": false, + "properties": { + "NewGameSessionsPerCreator": { + "type": "number" + }, + "PolicyPeriodInMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.RuntimeConfiguration": { + "additionalProperties": false, + "properties": { + "GameSessionActivationTimeoutSeconds": { + "type": "number" + }, + "MaxConcurrentGameSessionActivations": { + "type": "number" + }, + "ServerProcesses": { + "items": { + "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::Fleet.ServerProcess": { + "additionalProperties": false, + "properties": { + "ConcurrentExecutions": { + "type": "number" + }, + "LaunchPath": { + "type": "string" + }, + "Parameters": { + "type": "string" + } + }, + "required": [ + "ConcurrentExecutions", + "LaunchPath" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoScalingPolicy": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" + }, + "BalancingStrategy": { + "type": "string" + }, + "DeleteOption": { + "type": "string" + }, + "GameServerGroupName": { + "type": "string" + }, + "GameServerProtectionPolicy": { + "type": "string" + }, + "InstanceDefinitions": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" + }, + "type": "array" + }, + "LaunchTemplate": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" + }, + "MaxSize": { + "type": "number" + }, + "MinSize": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSubnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GameServerGroupName", + "InstanceDefinitions", + "LaunchTemplate", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameServerGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { + "additionalProperties": false, + "properties": { + "EstimatedInstanceWarmup": { + "type": "number" + }, + "TargetTrackingConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" + } + }, + "required": [ + "TargetTrackingConfiguration" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.InstanceDefinition": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "WeightedCapacity": { + "type": "string" + } + }, + "required": [ + "InstanceType" + ], + "type": "object" + }, + "AWS::GameLift::GameServerGroup.LaunchTemplate": { + "additionalProperties": false, + "properties": { + "LaunchTemplateId": { + "type": "string" + }, + "LaunchTemplateName": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { + "additionalProperties": false, + "properties": { + "TargetValue": { + "type": "number" + } + }, + "required": [ + "TargetValue" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomEventData": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" + }, + "type": "array" + }, + "FilterConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "PlayerLatencyPolicies": { + "items": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" + }, + "type": "array" + }, + "PriorityConfiguration": { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::GameSessionQueue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.Destination": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.FilterConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedLocations": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { + "additionalProperties": false, + "properties": { + "MaximumIndividualPlayerLatencyMilliseconds": { + "type": "number" + }, + "PolicyDurationSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { + "additionalProperties": false, + "properties": { + "LocationOrder": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PriorityOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptanceRequired": { + "type": "boolean" + }, + "AcceptanceTimeoutSeconds": { + "type": "number" + }, + "AdditionalPlayerCount": { + "type": "number" + }, + "BackfillMode": { + "type": "string" + }, + "CustomEventData": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FlexMatchMode": { + "type": "string" + }, + "GameProperties": { + "items": { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" + }, + "type": "array" + }, + "GameSessionData": { + "type": "string" + }, + "GameSessionQueueArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "NotificationTarget": { + "type": "string" + }, + "RequestTimeoutSeconds": { + "type": "number" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "AcceptanceRequired", + "Name", + "RequestTimeoutSeconds", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingConfiguration.GameProperty": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::GameLift::MatchmakingRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RuleSetBody": { + "type": "string" + } + }, + "required": [ + "Name", + "RuleSetBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::MatchmakingRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StorageLocation": { + "$ref": "#/definitions/AWS::GameLift::Script.S3Location" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "StorageLocation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GameLift::Script" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GameLift::Script.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Accelerator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "IpAddressType": { + "type": "string" + }, + "IpAddresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Accelerator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointConfigurations": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" + }, + "type": "array" + }, + "EndpointGroupRegion": { + "type": "string" + }, + "HealthCheckIntervalSeconds": { + "type": "number" + }, + "HealthCheckPath": { + "type": "string" + }, + "HealthCheckPort": { + "type": "number" + }, + "HealthCheckProtocol": { + "type": "string" + }, + "ListenerArn": { + "type": "string" + }, + "PortOverrides": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" + }, + "type": "array" + }, + "ThresholdCount": { + "type": "number" + }, + "TrafficDialPercentage": { + "type": "number" + } + }, + "required": [ + "EndpointGroupRegion", + "ListenerArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::EndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "ClientIPPreservationEnabled": { + "type": "boolean" + }, + "EndpointId": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "EndpointId" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { + "additionalProperties": false, + "properties": { + "EndpointPort": { + "type": "number" + }, + "ListenerPort": { + "type": "number" + } + }, + "required": [ + "EndpointPort", + "ListenerPort" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorArn": { + "type": "string" + }, + "ClientAffinity": { + "type": "string" + }, + "PortRanges": { + "items": { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" + }, + "type": "array" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "AcceleratorArn", + "PortRanges", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GlobalAccelerator::Listener" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GlobalAccelerator::Listener.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::Glue::Classifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CsvClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" + }, + "GrokClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" + }, + "JsonClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" + }, + "XMLClassifier": { + "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Classifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Glue::Classifier.CsvClassifier": { + "additionalProperties": false, + "properties": { + "AllowSingleColumn": { + "type": "boolean" + }, + "ContainsHeader": { + "type": "string" + }, + "Delimiter": { + "type": "string" + }, + "DisableValueTrimming": { + "type": "boolean" + }, + "Header": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Classifier.GrokClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "CustomPatterns": { + "type": "string" + }, + "GrokPattern": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Classification", + "GrokPattern" + ], + "type": "object" + }, + "AWS::Glue::Classifier.JsonClassifier": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::Glue::Classifier.XMLClassifier": { + "additionalProperties": false, + "properties": { + "Classification": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RowTag": { + "type": "string" + } + }, + "required": [ + "Classification", + "RowTag" + ], + "type": "object" + }, + "AWS::Glue::Connection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionInput": { + "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" + } + }, + "required": [ + "CatalogId", + "ConnectionInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Connection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Connection.ConnectionInput": { + "additionalProperties": false, + "properties": { + "ConnectionProperties": { + "type": "object" + }, + "ConnectionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MatchCriteria": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "PhysicalConnectionRequirements": { + "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" + } + }, + "required": [ + "ConnectionType" + ], + "type": "object" + }, + "AWS::Glue::Connection.PhysicalConnectionRequirements": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Classifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Configuration": { + "type": "string" + }, + "CrawlerSecurityConfiguration": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecrawlPolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" + }, + "Role": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" + }, + "SchemaChangePolicy": { + "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" + }, + "TablePrefix": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Targets": { + "$ref": "#/definitions/AWS::Glue::Crawler.Targets" + } + }, + "required": [ + "Role", + "Targets" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Crawler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Crawler.CatalogTarget": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "Tables": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.DynamoDBTarget": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.JdbcTarget": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.RecrawlPolicy": { + "additionalProperties": false, + "properties": { + "RecrawlBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.S3Target": { + "additionalProperties": false, + "properties": { + "ConnectionName": { + "type": "string" + }, + "Exclusions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.SchemaChangePolicy": { + "additionalProperties": false, + "properties": { + "DeleteBehavior": { + "type": "string" + }, + "UpdateBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Crawler.Targets": { + "additionalProperties": false, + "properties": { + "CatalogTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" + }, + "type": "array" + }, + "DynamoDBTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" + }, + "type": "array" + }, + "JdbcTargets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" + }, + "type": "array" + }, + "S3Targets": { + "items": { + "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DataCatalogEncryptionSettings": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" + } + }, + "required": [ + "CatalogId", + "DataCatalogEncryptionSettings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DataCatalogEncryptionSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "ReturnConnectionPasswordEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { + "additionalProperties": false, + "properties": { + "ConnectionPasswordEncryption": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" + }, + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" + } + }, + "type": "object" + }, + "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "CatalogEncryptionMode": { + "type": "string" + }, + "SseAwsKmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseInput": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" + } + }, + "required": [ + "CatalogId", + "DatabaseInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Database.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Database.DatabaseInput": { + "additionalProperties": false, + "properties": { + "CreateTableDefaultPermissions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "LocationUri": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "TargetDatabase": { + "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" + } + }, + "type": "object" + }, + "AWS::Glue::Database.PrincipalPrivileges": { + "additionalProperties": false, + "properties": { + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" + } + }, + "type": "object" + }, + "AWS::Glue::DevEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "EndpointName": { + "type": "string" + }, + "ExtraJarsS3Path": { + "type": "string" + }, + "ExtraPythonLibsS3Path": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "NumberOfWorkers": { + "type": "number" + }, + "PublicKey": { + "type": "string" + }, + "PublicKeys": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::DevEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedCapacity": { + "type": "number" + }, + "Command": { + "$ref": "#/definitions/AWS::Glue::Job.JobCommand" + }, + "Connections": { + "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" + }, + "DefaultArguments": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ExecutionProperty": { + "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" + }, + "GlueVersion": { + "type": "string" + }, + "LogUri": { + "type": "string" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "Command", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Job" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Job.ConnectionsList": { + "additionalProperties": false, + "properties": { + "Connections": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Job.ExecutionProperty": { + "additionalProperties": false, + "properties": { + "MaxConcurrentRuns": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Job.JobCommand": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PythonVersion": { + "type": "string" + }, + "ScriptLocation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Job.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlueVersion": { + "type": "string" + }, + "InputRecordTables": { + "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" + }, + "MaxCapacity": { + "type": "number" + }, + "MaxRetries": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NumberOfWorkers": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "TransformEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" + }, + "TransformParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" + }, + "WorkerType": { + "type": "string" + } + }, + "required": [ + "InputRecordTables", + "Role", + "TransformParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::MLTransform" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.FindMatchesParameters": { + "additionalProperties": false, + "properties": { + "AccuracyCostTradeoff": { + "type": "number" + }, + "EnforceProvidedLabels": { + "type": "boolean" + }, + "PrecisionRecallTradeoff": { + "type": "number" + }, + "PrimaryKeyColumnName": { + "type": "string" + } + }, + "required": [ + "PrimaryKeyColumnName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.GlueTables": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ConnectionName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.InputRecordTables": { + "additionalProperties": false, + "properties": { + "GlueTables": { + "items": { + "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.MLUserDataEncryption": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MLUserDataEncryptionMode": { + "type": "string" + } + }, + "required": [ + "MLUserDataEncryptionMode" + ], + "type": "object" + }, + "AWS::Glue::MLTransform.TransformEncryption": { + "additionalProperties": false, + "properties": { + "MLUserDataEncryption": { + "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" + }, + "TaskRunSecurityConfigurationName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::MLTransform.TransformParameters": { + "additionalProperties": false, + "properties": { + "FindMatchesParameters": { + "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" + }, + "TransformType": { + "type": "string" + } + }, + "required": [ + "TransformType" + ], + "type": "object" + }, + "AWS::Glue::Partition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "PartitionInput": { + "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "PartitionInput", + "TableName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Partition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Partition.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Partition.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column" + ], + "type": "object" + }, + "AWS::Glue::Partition.PartitionInput": { + "additionalProperties": false, + "properties": { + "Parameters": { + "type": "object" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Values" + ], + "type": "object" + }, + "AWS::Glue::Partition.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Partition.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Partition.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Registry": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Registry" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CheckpointVersion": { + "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" + }, + "Compatibility": { + "type": "string" + }, + "DataFormat": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Registry": { + "$ref": "#/definitions/AWS::Glue::Schema.Registry" + }, + "SchemaDefinition": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Compatibility", + "DataFormat", + "Name", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Schema" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Schema.Registry": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Schema.SchemaVersion": { + "additionalProperties": false, + "properties": { + "IsLatest": { + "type": "boolean" + }, + "VersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Schema": { + "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" + }, + "SchemaDefinition": { + "type": "string" + } + }, + "required": [ + "Schema", + "SchemaDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SchemaVersion.Schema": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SchemaVersionMetadata": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "SchemaVersionId": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "SchemaVersionId", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SchemaVersionMetadata" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "EncryptionConfiguration", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::SecurityConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" + }, + "JobBookmarksEncryption": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" + }, + "S3Encryptions": { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { + "additionalProperties": false, + "properties": { + "JobBookmarksEncryptionMode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryption": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "S3EncryptionMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::SecurityConfiguration.S3Encryptions": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Glue::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "TableInput": { + "$ref": "#/definitions/AWS::Glue::Table.TableInput" + } + }, + "required": [ + "CatalogId", + "DatabaseName", + "TableInput" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Table.Column": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::Glue::Table.Order": { + "additionalProperties": false, + "properties": { + "Column": { + "type": "string" + }, + "SortOrder": { + "type": "number" + } + }, + "required": [ + "Column", + "SortOrder" + ], + "type": "object" + }, + "AWS::Glue::Table.SchemaId": { + "additionalProperties": false, + "properties": { + "RegistryName": { + "type": "string" + }, + "SchemaArn": { + "type": "string" + }, + "SchemaName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SchemaReference": { + "additionalProperties": false, + "properties": { + "SchemaId": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaId" + }, + "SchemaVersionId": { + "type": "string" + }, + "SchemaVersionNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SerdeInfo": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SerializationLibrary": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.SkewedInfo": { + "additionalProperties": false, + "properties": { + "SkewedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SkewedColumnValueLocationMaps": { + "type": "object" + }, + "SkewedColumnValues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Glue::Table.StorageDescriptor": { + "additionalProperties": false, + "properties": { + "BucketColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Columns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Compressed": { + "type": "boolean" + }, + "InputFormat": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "NumberOfBuckets": { + "type": "number" + }, + "OutputFormat": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "SchemaReference": { + "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" + }, + "SerdeInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" + }, + "SkewedInfo": { + "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" + }, + "SortColumns": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Order" + }, + "type": "array" + }, + "StoredAsSubDirectories": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableIdentifier": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Table.TableInput": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "PartitionKeys": { + "items": { + "$ref": "#/definitions/AWS::Glue::Table.Column" + }, + "type": "array" + }, + "Retention": { + "type": "number" + }, + "StorageDescriptor": { + "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" + }, + "TableType": { + "type": "string" + }, + "TargetTable": { + "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" + }, + "ViewExpandedText": { + "type": "string" + }, + "ViewOriginalText": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Action" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicate": { + "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" + }, + "Schedule": { + "type": "string" + }, + "StartOnCreation": { + "type": "boolean" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "WorkflowName": { + "type": "string" + } + }, + "required": [ + "Actions", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Trigger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Glue::Trigger.Action": { + "additionalProperties": false, + "properties": { + "Arguments": { + "type": "object" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "NotificationProperty": { + "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" + }, + "SecurityConfiguration": { + "type": "string" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Condition": { + "additionalProperties": false, + "properties": { + "CrawlState": { + "type": "string" + }, + "CrawlerName": { + "type": "string" + }, + "JobName": { + "type": "string" + }, + "LogicalOperator": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.NotificationProperty": { + "additionalProperties": false, + "properties": { + "NotifyDelayAfter": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Glue::Trigger.Predicate": { + "additionalProperties": false, + "properties": { + "Conditions": { + "items": { + "$ref": "#/definitions/AWS::Glue::Trigger.Condition" + }, + "type": "array" + }, + "Logical": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Glue::Workflow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultRunProperties": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Glue::Workflow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" + }, + "type": "array" + } + }, + "required": [ + "Connectors" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionId": { + "type": "string" + }, + "Connectors": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" + }, + "type": "array" + } + }, + "required": [ + "ConnectorDefinitionId", + "Connectors" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ConnectorDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { + "additionalProperties": false, + "properties": { + "ConnectorArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "required": [ + "ConnectorArn", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" + }, + "type": "array" + } + }, + "required": [ + "Cores" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CoreDefinitionId": { + "type": "string" + }, + "Cores": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" + }, + "type": "array" + } + }, + "required": [ + "CoreDefinitionId", + "Cores" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::CoreDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::CoreDefinitionVersion.Core": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" + }, + "type": "array" + } + }, + "required": [ + "Devices" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceDefinitionId": { + "type": "string" + }, + "Devices": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" + }, + "type": "array" + } + }, + "required": [ + "DeviceDefinitionId", + "Devices" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::DeviceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::DeviceDefinitionVersion.Device": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "SyncShadow": { + "type": "boolean" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "Id", + "ThingArn" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" + }, + "type": "array" + } + }, + "required": [ + "Functions" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinition.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultConfig": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" + }, + "FunctionDefinitionId": { + "type": "string" + }, + "Functions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" + }, + "type": "array" + } + }, + "required": [ + "FunctionDefinitionId", + "Functions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::FunctionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { + "additionalProperties": false, + "properties": { + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + } + }, + "required": [ + "Execution" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Environment": { + "additionalProperties": false, + "properties": { + "AccessSysfs": { + "type": "boolean" + }, + "Execution": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" + }, + "ResourceAccessPolicies": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" + }, + "type": "array" + }, + "Variables": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Execution": { + "additionalProperties": false, + "properties": { + "IsolationMode": { + "type": "string" + }, + "RunAs": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.Function": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "FunctionConfiguration": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" + }, + "Id": { + "type": "string" + } + }, + "required": [ + "FunctionArn", + "FunctionConfiguration", + "Id" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { + "additionalProperties": false, + "properties": { + "EncodingType": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" + }, + "ExecArgs": { + "type": "string" + }, + "Executable": { + "type": "string" + }, + "MemorySize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "Timeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { + "additionalProperties": false, + "properties": { + "Permission": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "required": [ + "ResourceId" + ], + "type": "object" + }, + "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "Uid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Greengrass::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::Group.GroupVersion": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Greengrass::GroupVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectorDefinitionVersionArn": { + "type": "string" + }, + "CoreDefinitionVersionArn": { + "type": "string" + }, + "DeviceDefinitionVersionArn": { + "type": "string" + }, + "FunctionDefinitionVersionArn": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "LoggerDefinitionVersionArn": { + "type": "string" + }, + "ResourceDefinitionVersionArn": { + "type": "string" + }, + "SubscriptionDefinitionVersionArn": { + "type": "string" + } + }, + "required": [ + "GroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::GroupVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" + }, + "type": "array" + } + }, + "required": [ + "Loggers" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoggerDefinitionId": { + "type": "string" + }, + "Loggers": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" + }, + "type": "array" + } + }, + "required": [ + "LoggerDefinitionId", + "Loggers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::LoggerDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::LoggerDefinitionVersion.Logger": { + "additionalProperties": false, + "properties": { + "Component": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "Space": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Component", + "Id", + "Level", + "Type" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "Resources" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceDefinitionId": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" + }, + "type": "array" + } + }, + "required": [ + "ResourceDefinitionId", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::ResourceDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { + "additionalProperties": false, + "properties": { + "AutoAddGroupOwner": { + "type": "boolean" + }, + "GroupOwner": { + "type": "string" + } + }, + "required": [ + "AutoAddGroupOwner" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { + "additionalProperties": false, + "properties": { + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "GroupOwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" + }, + "SourcePath": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SourcePath" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { + "additionalProperties": false, + "properties": { + "LocalDeviceResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" + }, + "LocalVolumeResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" + }, + "S3MachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" + }, + "SageMakerMachineLearningModelResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" + }, + "SecretsManagerSecretResourceData": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" + } + }, + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { + "additionalProperties": false, + "properties": { + "GroupOwner": { + "type": "string" + }, + "GroupPermission": { + "type": "string" + } + }, + "required": [ + "GroupOwner", + "GroupPermission" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceDataContainer": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" + } + }, + "required": [ + "Id", + "Name", + "ResourceDataContainer" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { + "additionalProperties": false, + "properties": { + "DestinationPath": { + "type": "string" + }, + "OwnerSetting": { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn": { + "type": "string" + } + }, + "required": [ + "DestinationPath", + "SageMakerJobArn" + ], + "type": "object" + }, + "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { + "additionalProperties": false, + "properties": { + "ARN": { + "type": "string" + }, + "AdditionalStagingLabelsToDownload": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ARN" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InitialVersion": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" + }, + "type": "array" + } + }, + "required": [ + "Subscriptions" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SubscriptionDefinitionId": { + "type": "string" + }, + "Subscriptions": { + "items": { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" + }, + "type": "array" + } + }, + "required": [ + "SubscriptionDefinitionId", + "Subscriptions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Greengrass::SubscriptionDefinitionVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Id", + "Source", + "Subject", + "Target" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InlineRecipe": { + "type": "string" + }, + "LambdaFunction": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GreengrassV2::ComponentVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { + "additionalProperties": false, + "properties": { + "DependencyType": { + "type": "string" + }, + "VersionRequirement": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { + "additionalProperties": false, + "properties": { + "Devices": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" + }, + "type": "array" + }, + "MemorySizeInKB": { + "type": "number" + }, + "MountROSysfs": { + "type": "boolean" + }, + "Volumes": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "Path": { + "type": "string" + }, + "Permission": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { + "additionalProperties": false, + "properties": { + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "EventSources": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" + }, + "type": "array" + }, + "ExecArgs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InputPayloadEncodingType": { + "type": "string" + }, + "LinuxProcessParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" + }, + "MaxIdleTimeInSeconds": { + "type": "number" + }, + "MaxInstancesCount": { + "type": "number" + }, + "MaxQueueSize": { + "type": "number" + }, + "Pinned": { + "type": "boolean" + }, + "StatusTimeoutInSeconds": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { + "additionalProperties": false, + "properties": { + "ComponentDependencies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" + } + }, + "type": "object" + }, + "ComponentLambdaParameters": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" + }, + "ComponentName": { + "type": "string" + }, + "ComponentPlatforms": { + "items": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" + }, + "type": "array" + }, + "ComponentVersion": { + "type": "string" + }, + "LambdaArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { + "additionalProperties": false, + "properties": { + "ContainerParams": { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" + }, + "IsolationMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { + "additionalProperties": false, + "properties": { + "AddGroupOwner": { + "type": "boolean" + }, + "DestinationPath": { + "type": "string" + }, + "Permission": { + "type": "string" + }, + "SourcePath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigData": { + "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConfigData", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::Config" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { + "additionalProperties": false, + "properties": { + "DecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" + }, + "DemodulationConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" + }, + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.AntennaUplinkConfig": { + "additionalProperties": false, + "properties": { + "SpectrumConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" + }, + "TargetEirp": { + "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" + }, + "TransmitDisabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.ConfigData": { + "additionalProperties": false, + "properties": { + "AntennaDownlinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" + }, + "AntennaDownlinkDemodDecodeConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" + }, + "AntennaUplinkConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" + }, + "DataflowEndpointConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" + }, + "S3RecordingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" + }, + "TrackingConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" + }, + "UplinkEchoConfig": { + "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DataflowEndpointConfig": { + "additionalProperties": false, + "properties": { + "DataflowEndpointName": { + "type": "string" + }, + "DataflowEndpointRegion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DecodeConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.DemodulationConfig": { + "additionalProperties": false, + "properties": { + "UnvalidatedJSON": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Eirp": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.Frequency": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.FrequencyBandwidth": { + "additionalProperties": false, + "properties": { + "Units": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.S3RecordingConfig": { + "additionalProperties": false, + "properties": { + "BucketArn": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.SpectrumConfig": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" + }, + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.TrackingConfig": { + "additionalProperties": false, + "properties": { + "Autotrack": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkEchoConfig": { + "additionalProperties": false, + "properties": { + "AntennaUplinkConfigArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GroundStation::Config.UplinkSpectrumConfig": { + "additionalProperties": false, + "properties": { + "CenterFrequency": { + "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" + }, + "Polarization": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointDetails": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::DataflowEndpointGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" + }, + "Mtu": { + "type": "number" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" + }, + "SecurityDetails": { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::GroundStation::MissionProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactPostPassDurationSeconds": { + "type": "number" + }, + "ContactPrePassDurationSeconds": { + "type": "number" + }, + "DataflowEdges": { + "items": { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" + }, + "type": "array" + }, + "MinimumViableContactDurationSeconds": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TrackingConfigArn": { + "type": "string" + } + }, + "required": [ + "DataflowEdges", + "MinimumViableContactDurationSeconds", + "Name", + "TrackingConfigArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GroundStation::MissionProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GroundStation::MissionProfile.DataflowEdge": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Source": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSources": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" + }, + "Enable": { + "type": "boolean" + }, + "FindingPublishingFrequency": { + "type": "string" + } + }, + "required": [ + "Enable" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Detector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { + "additionalProperties": false, + "properties": { + "Enable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DetectorId": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Rank": { + "type": "number" + } + }, + "required": [ + "Action", + "Description", + "DetectorId", + "FindingCriteria", + "Name", + "Rank" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Filter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Filter.Condition": { + "additionalProperties": false, + "properties": { + "Eq": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Gte": { + "type": "number" + }, + "Lt": { + "type": "number" + }, + "Lte": { + "type": "number" + }, + "Neq": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::GuardDuty::Filter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "type": "object" + }, + "ItemType": { + "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" + } + }, + "type": "object" + }, + "AWS::GuardDuty::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Master": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "InvitationId": { + "type": "string" + }, + "MasterId": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "MasterId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Master" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorId": { + "type": "string" + }, + "DisableEmailNotification": { + "type": "boolean" + }, + "Email": { + "type": "string" + }, + "MemberId": { + "type": "string" + }, + "Message": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "DetectorId", + "Email", + "MemberId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::GuardDuty::ThreatIntelSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Activate": { + "type": "boolean" + }, + "DetectorId": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Location": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Activate", + "DetectorId", + "Format", + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::GuardDuty::ThreatIntelSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::AccessKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Serial": { + "type": "number" + }, + "Status": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::AccessKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Group.Policy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::Group.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::InstanceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceProfileName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Roles" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::InstanceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ManagedPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ManagedPolicyName": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ManagedPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::OIDCProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClientIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThumbprintList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ThumbprintList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::OIDCProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + }, + "Roles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionDuration": { + "type": "number" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::Role.Policy" + }, + "type": "array" + }, + "RoleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssumeRolePolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::Role" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::Role.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::SAMLProvider": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SamlMetadataDocument": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SamlMetadataDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::SAMLProvider" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::ServerCertificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CertificateBody": { + "type": "string" + }, + "CertificateChain": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + }, + "ServerCertificateName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServerCertificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::ServiceLinkedRole": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AWSServiceName": { + "type": "string" + }, + "CustomSuffix": { + "type": "string" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AWSServiceName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::ServiceLinkedRole" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LoginProfile": { + "$ref": "#/definitions/AWS::IAM::User.LoginProfile" + }, + "ManagedPolicyArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Path": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "items": { + "$ref": "#/definitions/AWS::IAM::User.Policy" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IAM::User.LoginProfile": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "PasswordResetRequired": { + "type": "boolean" + } + }, + "required": [ + "Password" + ], + "type": "object" + }, + "AWS::IAM::User.Policy": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "AWS::IAM::UserToGroupAddition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GroupName": { + "type": "string" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GroupName", + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::UserToGroupAddition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IAM::VirtualMFADevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Path": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Users": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VirtualMfaDeviceName": { + "type": "string" + } + }, + "required": [ + "Users" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IAM::VirtualMFADevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorized": { + "type": "boolean" + }, + "LatencyMode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RecordingConfigurationArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IVS::PlaybackKeyPair": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "PublicKeyMaterial": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PublicKeyMaterial" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::PlaybackKeyPair" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfiguration": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DestinationConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::RecordingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "S3": { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" + } + }, + "required": [ + "S3" + ], + "type": "object" + }, + "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::IVS::StreamKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ChannelArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IVS::StreamKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Component": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChangeDescription": { + "type": "string" + }, + "Data": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "SupportedOsVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Uri": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Platform", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Component" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "ContainerType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DockerfileTemplateData": { + "type": "string" + }, + "DockerfileTemplateUri": { + "type": "string" + }, + "ImageOsVersionOverride": { + "type": "string" + }, + "InstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "PlatformOverride": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TargetRepository": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "ContainerType", + "Name", + "ParentImage", + "TargetRepository", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ContainerRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { + "additionalProperties": false, + "properties": { + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Image": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { + "additionalProperties": false, + "properties": { + "RepositoryName": { + "type": "string" + }, + "Service": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Distributions": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Distributions", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::DistributionConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.Distribution": { + "additionalProperties": false, + "properties": { + "AmiDistributionConfiguration": { + "type": "object" + }, + "ContainerDistributionConfiguration": { + "type": "object" + }, + "LaunchTemplateConfigurations": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" + }, + "type": "array" + }, + "LicenseConfigurationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "LaunchTemplateId": { + "type": "string" + }, + "SetDefaultVersion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::Image.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContainerRecipeArn": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DistributionConfigurationArn": { + "type": "string" + }, + "EnhancedImageMetadataEnabled": { + "type": "boolean" + }, + "ImageRecipeArn": { + "type": "string" + }, + "ImageTestsConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" + }, + "InfrastructureConfigurationArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" + }, + "Status": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "InfrastructureConfigurationArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImagePipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { + "additionalProperties": false, + "properties": { + "ImageTestsEnabled": { + "type": "boolean" + }, + "TimeoutMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImagePipeline.Schedule": { + "additionalProperties": false, + "properties": { + "PipelineExecutionStartCondition": { + "type": "string" + }, + "ScheduleExpression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalInstanceConfiguration": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" + }, + "type": "array" + }, + "Components": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ParentImage": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Version": { + "type": "string" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "required": [ + "Components", + "Name", + "ParentImage", + "Version" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::ImageRecipe" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { + "additionalProperties": false, + "properties": { + "SystemsManagerAgent": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" + }, + "UserDataOverride": { + "type": "string" + } + }, + "required": [ + "UserDataOverride" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ComponentArn": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { + "additionalProperties": false, + "properties": { + "UninstallAfterBuild": { + "type": "boolean" + } + }, + "required": [ + "UninstallAfterBuild" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InstanceProfileName": { + "type": "string" + }, + "InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KeyPair": { + "type": "string" + }, + "Logging": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "ResourceTags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TerminateInstanceOnFailure": { + "type": "boolean" + } + }, + "required": [ + "InstanceProfileName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ImageBuilder::InfrastructureConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { + "additionalProperties": false, + "properties": { + "S3Logs": { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" + } + }, + "type": "object" + }, + "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { + "additionalProperties": false, + "properties": { + "S3BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Inspector::AssessmentTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetName": { + "type": "string" + }, + "ResourceGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Inspector::AssessmentTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssessmentTargetArn": { + "type": "string" + }, + "AssessmentTemplateName": { + "type": "string" + }, + "DurationInSeconds": { + "type": "number" + }, + "RulesPackageArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UserAttributesForFindings": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssessmentTargetArn", + "DurationInSeconds", + "RulesPackageArns" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::AssessmentTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Inspector::ResourceGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceGroupTags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceGroupTags" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Inspector::ResourceGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "DeviceId", + "Enabled" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Placement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedDevices": { + "type": "object" + }, + "Attributes": { + "type": "object" + }, + "PlacementName": { + "type": "string" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Placement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "PlacementTemplate": { + "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" + }, + "ProjectName": { + "type": "string" + } + }, + "required": [ + "PlacementTemplate" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT1Click::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT1Click::Project.DeviceTemplate": { + "additionalProperties": false, + "properties": { + "CallbackOverrides": { + "type": "object" + }, + "DeviceType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT1Click::Project.PlacementTemplate": { + "additionalProperties": false, + "properties": { + "DefaultAttributes": { + "type": "object" + }, + "DeviceTemplates": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "AuditCheckConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" + }, + "AuditNotificationTargetConfigurations": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AccountId", + "AuditCheckConfigurations", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::AccountAuditConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { + "additionalProperties": false, + "properties": { + "AuthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "CaCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "ConflictingClientIdsCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateExpiringCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateKeyQualityCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "DeviceCertificateSharedCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotPolicyOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasAllowsAccessToUnusedServicesCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "IotRoleAliasOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "LoggingDisabledCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedCaCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "RevokedDeviceCertificateStillActiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + }, + "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { + "additionalProperties": false, + "properties": { + "Sns": { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" + } + }, + "type": "object" + }, + "AWS::IoT::Authorizer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerFunctionArn": { + "type": "string" + }, + "AuthorizerName": { + "type": "string" + }, + "SigningDisabled": { + "type": "boolean" + }, + "Status": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TokenKeyName": { + "type": "string" + }, + "TokenSigningPublicKeys": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "AuthorizerFunctionArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Authorizer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Certificate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CACertificatePem": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "CertificatePem": { + "type": "string" + }, + "CertificateSigningRequest": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Certificate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::CustomMetric": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "MetricType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MetricType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::CustomMetric" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::Dimension": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "StringValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "StringValues", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Dimension" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthorizerConfig": { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" + }, + "DomainConfigurationName": { + "type": "string" + }, + "DomainConfigurationStatus": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "ServerCertificateArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServiceType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ValidationCertificateArn": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::DomainConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::DomainConfiguration.AuthorizerConfig": { + "additionalProperties": false, + "properties": { + "AllowAuthorizerOverride": { + "type": "boolean" + }, + "DefaultAuthorizerName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { + "additionalProperties": false, + "properties": { + "ServerCertificateArn": { + "type": "string" + }, + "ServerCertificateStatus": { + "type": "string" + }, + "ServerCertificateStatusDetail": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ActionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ActionParams", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::MitigationAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ActionParams": { + "additionalProperties": false, + "properties": { + "AddThingsToThingGroupParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" + }, + "EnableIoTLoggingParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" + }, + "PublishFindingToSnsParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" + }, + "ReplaceDefaultPolicyVersionParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" + }, + "UpdateCACertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" + }, + "UpdateDeviceCertificateParams": { + "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" + } + }, + "type": "object" + }, + "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { + "additionalProperties": false, + "properties": { + "OverrideDynamicGroups": { + "type": "boolean" + }, + "ThingGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ThingGroupNames" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + }, + "RoleArnForLogging": { + "type": "string" + } + }, + "required": [ + "LogLevel", + "RoleArnForLogging" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { + "additionalProperties": false, + "properties": { + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateCACertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + } + }, + "required": [ + "Action" + ], + "type": "object" + }, + "AWS::IoT::Policy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Policy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::PolicyPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyName": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "PolicyName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::PolicyPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PreProvisioningHook": { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" + }, + "ProvisioningRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateBody": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "ProvisioningRoleArn", + "TemplateBody" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ProvisioningTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { + "additionalProperties": false, + "properties": { + "PayloadVersion": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::ScheduledAudit": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DayOfMonth": { + "type": "string" + }, + "DayOfWeek": { + "type": "string" + }, + "Frequency": { + "type": "string" + }, + "ScheduledAuditName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetCheckNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Frequency", + "TargetCheckNames" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ScheduledAudit" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalMetricsToRetainV2": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" + }, + "type": "array" + }, + "AlertTargets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" + } + }, + "type": "object" + }, + "Behaviors": { + "items": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" + }, + "type": "array" + }, + "SecurityProfileDescription": { + "type": "string" + }, + "SecurityProfileName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::SecurityProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.AlertTarget": { + "additionalProperties": false, + "properties": { + "AlertTargetArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "AlertTargetArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.Behavior": { + "additionalProperties": false, + "properties": { + "Criteria": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" + }, + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + }, + "Name": { + "type": "string" + }, + "SuppressAlerts": { + "type": "boolean" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.BehaviorCriteria": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "ConsecutiveDatapointsToAlarm": { + "type": "number" + }, + "ConsecutiveDatapointsToClear": { + "type": "number" + }, + "DurationSeconds": { + "type": "number" + }, + "MlDetectionConfig": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" + }, + "StatisticalThreshold": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { + "additionalProperties": false, + "properties": { + "ConfidenceLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricDimension": { + "additionalProperties": false, + "properties": { + "DimensionName": { + "type": "string" + }, + "Operator": { + "type": "string" + } + }, + "required": [ + "DimensionName" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricToRetain": { + "additionalProperties": false, + "properties": { + "Metric": { + "type": "string" + }, + "MetricDimension": { + "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" + } + }, + "required": [ + "Metric" + ], + "type": "object" + }, + "AWS::IoT::SecurityProfile.MetricValue": { + "additionalProperties": false, + "properties": { + "Cidrs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Count": { + "type": "string" + }, + "Number": { + "type": "number" + }, + "Numbers": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Ports": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Strings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoT::SecurityProfile.StatisticalThreshold": { + "additionalProperties": false, + "properties": { + "Statistic": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::Thing": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AttributePayload": { + "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::Thing" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::Thing.AttributePayload": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::IoT::ThingPrincipalAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Principal": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "required": [ + "Principal", + "ThingName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::ThingPrincipalAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicRulePayload": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" + } + }, + "required": [ + "TopicRulePayload" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.Action": { + "additionalProperties": false, + "properties": { + "CloudwatchAlarm": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" + }, + "CloudwatchLogs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" + }, + "CloudwatchMetric": { + "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" + }, + "Elasticsearch": { + "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" + }, + "Http": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" + }, + "IotAnalytics": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" + }, + "Kafka": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" + }, + "Kinesis": { + "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" + }, + "Republish": { + "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" + }, + "S3": { + "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" + }, + "StepFunctions": { + "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" + }, + "Timestream": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" + } + }, + "required": [ + "Timestamp", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchAlarmAction": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateReason": { + "type": "string" + }, + "StateValue": { + "type": "string" + } + }, + "required": [ + "AlarmName", + "RoleArn", + "StateReason", + "StateValue" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchLogsAction": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LogGroupName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.CloudwatchMetricAction": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricTimestamp": { + "type": "string" + }, + "MetricUnit": { + "type": "string" + }, + "MetricValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricUnit", + "MetricValue", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBAction": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.DynamoDBv2Action": { + "additionalProperties": false, + "properties": { + "PutItem": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" + }, + "RoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.ElasticsearchAction": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "Index": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Id", + "Index", + "RoleArn", + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.FirehoseAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DeliveryStreamName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAction": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" + }, + "ConfirmationUrl": { + "type": "string" + }, + "Headers": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpActionHeader": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.HttpAuthorization": { + "additionalProperties": false, + "properties": { + "Sigv4": { + "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.IotAnalyticsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "ChannelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ChannelName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotEventsAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "InputName": { + "type": "string" + }, + "MessageId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.IotSiteWiseAction": { + "additionalProperties": false, + "properties": { + "PutAssetPropertyValueEntries": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PutAssetPropertyValueEntries", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KafkaAction": { + "additionalProperties": false, + "properties": { + "ClientProperties": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DestinationArn": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Partition": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "ClientProperties", + "DestinationArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.KinesisAction": { + "additionalProperties": false, + "properties": { + "PartitionKey": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValues": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" + }, + "type": "array" + } + }, + "required": [ + "PropertyValues" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.PutItemInput": { + "additionalProperties": false, + "properties": { + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.RepublishAction": { + "additionalProperties": false, + "properties": { + "Qos": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "Topic" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "CannedAcl": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "BucketName", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SigV4Authorization": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "SigningRegion": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "ServiceName", + "SigningRegion" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SnsAction": { + "additionalProperties": false, + "properties": { + "MessageFormat": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.SqsAction": { + "additionalProperties": false, + "properties": { + "QueueUrl": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.StepFunctionsAction": { + "additionalProperties": false, + "properties": { + "ExecutionNamePrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "StateMachineName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamAction": { + "additionalProperties": false, + "properties": { + "BatchMode": { + "type": "boolean" + }, + "DatabaseName": { + "type": "string" + }, + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" + } + }, + "required": [ + "DatabaseName", + "Dimensions", + "RoleArn", + "TableName" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamDimension": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TimestreamTimestamp": { + "additionalProperties": false, + "properties": { + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Unit", + "Value" + ], + "type": "object" + }, + "AWS::IoT::TopicRule.TopicRulePayload": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "type": "array" + }, + "AwsIotSqlVersion": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ErrorAction": { + "$ref": "#/definitions/AWS::IoT::TopicRule.Action" + }, + "RuleDisabled": { + "type": "boolean" + }, + "Sql": { + "type": "string" + } + }, + "required": [ + "Actions", + "Sql" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HttpUrlProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" + }, + "Status": { + "type": "string" + }, + "VpcProperties": { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoT::TopicRuleDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { + "additionalProperties": false, + "properties": { + "ConfirmationUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "ChannelStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ChannelStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Channel.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Channel.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" + }, + "type": "array" + }, + "ContentDeliveryRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" + }, + "type": "array" + }, + "DatasetName": { + "type": "string" + }, + "LateDataRules": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" + }, + "type": "array" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Triggers": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" + } + }, + "required": [ + "Actions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Dataset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Action": { + "additionalProperties": false, + "properties": { + "ActionName": { + "type": "string" + }, + "ContainerAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" + }, + "QueryAction": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" + } + }, + "required": [ + "ActionName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ContainerAction": { + "additionalProperties": false, + "properties": { + "ExecutionRoleArn": { + "type": "string" + }, + "Image": { + "type": "string" + }, + "ResourceConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" + }, + "type": "array" + } + }, + "required": [ + "ExecutionRoleArn", + "Image", + "ResourceConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" + }, + "EntryName": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { + "additionalProperties": false, + "properties": { + "IotEventsDestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTime": { + "additionalProperties": false, + "properties": { + "OffsetSeconds": { + "type": "number" + }, + "TimeExpression": { + "type": "string" + } + }, + "required": [ + "OffsetSeconds", + "TimeExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { + "additionalProperties": false, + "properties": { + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "TimeoutInMinutes" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Filter": { + "additionalProperties": false, + "properties": { + "DeltaTime": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.GlueConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseName", + "TableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "InputName", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRule": { + "additionalProperties": false, + "properties": { + "RuleConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" + }, + "RuleName": { + "type": "string" + } + }, + "required": [ + "RuleConfiguration" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { + "additionalProperties": false, + "properties": { + "DeltaTimeSessionWindowConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { + "additionalProperties": false, + "properties": { + "FileName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.QueryAction": { + "additionalProperties": false, + "properties": { + "Filters": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" + }, + "type": "array" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "SqlQuery" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { + "additionalProperties": false, + "properties": { + "ComputeType": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "ComputeType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "required": [ + "NumberOfDays", + "Unlimited" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "GlueConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Schedule": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Trigger": { + "additionalProperties": false, + "properties": { + "Schedule": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" + }, + "TriggeringDataset": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.TriggeringDataset": { + "additionalProperties": false, + "properties": { + "DatasetName": { + "type": "string" + } + }, + "required": [ + "DatasetName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.Variable": { + "additionalProperties": false, + "properties": { + "DatasetContentVersionValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" + }, + "DoubleValue": { + "type": "number" + }, + "OutputFileUriValue": { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" + }, + "StringValue": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "VariableName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "MaxVersions": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "DatastorePartitions": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" + }, + "DatastoreStorage": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" + }, + "FileFormatConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" + }, + "RetentionPeriod": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Datastore" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Column": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "KeyPrefix": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "Bucket", + "RoleArn" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartition": { + "additionalProperties": false, + "properties": { + "Partition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" + }, + "TimestampPartition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastorePartitions": { + "additionalProperties": false, + "properties": { + "Partitions": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.DatastoreStorage": { + "additionalProperties": false, + "properties": { + "CustomerManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" + }, + "ServiceManagedS3": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { + "additionalProperties": false, + "properties": { + "JsonConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" + }, + "ParquetConfiguration": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.JsonConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { + "additionalProperties": false, + "properties": { + "SchemaDefinition": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.Partition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.RetentionPeriod": { + "additionalProperties": false, + "properties": { + "NumberOfDays": { + "type": "number" + }, + "Unlimited": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.SchemaDefinition": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::IoTAnalytics::Datastore.TimestampPartition": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "TimestampFormat": { + "type": "string" + } + }, + "required": [ + "AttributeName" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineActivities": { + "items": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" + }, + "type": "array" + }, + "PipelineName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineActivities" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTAnalytics::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Activity": { + "additionalProperties": false, + "properties": { + "AddAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" + }, + "Channel": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" + }, + "Datastore": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" + }, + "DeviceRegistryEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" + }, + "DeviceShadowEnrich": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" + }, + "Filter": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" + }, + "Math": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" + }, + "RemoveAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" + }, + "SelectAttributes": { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.AddAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Channel": { + "additionalProperties": false, + "properties": { + "ChannelName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Datastore": { + "additionalProperties": false, + "properties": { + "DatastoreName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ThingName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Filter": { + "additionalProperties": false, + "properties": { + "Filter": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Lambda": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "LambdaName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.Math": { + "additionalProperties": false, + "properties": { + "Attribute": { + "type": "string" + }, + "Math": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTAnalytics::Pipeline.SelectAttributes": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Next": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SuiteDefinitionConfiguration": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "SuiteDefinitionConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DetectorModelDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" + }, + "DetectorModelDescription": { + "type": "string" + }, + "DetectorModelName": { + "type": "string" + }, + "EvaluationMethod": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DetectorModelDefinition", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::DetectorModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Action": { + "additionalProperties": false, + "properties": { + "ClearTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" + }, + "DynamoDB": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" + }, + "DynamoDBv2": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" + }, + "Firehose": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" + }, + "IotEvents": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" + }, + "IotSiteWise": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" + }, + "IotTopicPublish": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" + }, + "Lambda": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" + }, + "ResetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" + }, + "SetTimer": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" + }, + "SetVariable": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" + }, + "Sns": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" + }, + "Sqs": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { + "additionalProperties": false, + "properties": { + "OffsetInNanos": { + "type": "string" + }, + "TimeInSeconds": { + "type": "string" + } + }, + "required": [ + "TimeInSeconds" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { + "additionalProperties": false, + "properties": { + "Quality": { + "type": "string" + }, + "Timestamp": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { + "additionalProperties": false, + "properties": { + "BooleanValue": { + "type": "string" + }, + "DoubleValue": { + "type": "string" + }, + "IntegerValue": { + "type": "string" + }, + "StringValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ClearTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { + "additionalProperties": false, + "properties": { + "InitialStateName": { + "type": "string" + }, + "States": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" + }, + "type": "array" + } + }, + "required": [ + "InitialStateName", + "States" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDB": { + "additionalProperties": false, + "properties": { + "HashKeyField": { + "type": "string" + }, + "HashKeyType": { + "type": "string" + }, + "HashKeyValue": { + "type": "string" + }, + "Operation": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "PayloadField": { + "type": "string" + }, + "RangeKeyField": { + "type": "string" + }, + "RangeKeyType": { + "type": "string" + }, + "RangeKeyValue": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "HashKeyField", + "HashKeyValue", + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.DynamoDBv2": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Event": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + } + }, + "required": [ + "EventName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStreamName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "Separator": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotEvents": { + "additionalProperties": false, + "properties": { + "InputName": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "InputName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotSiteWise": { + "additionalProperties": false, + "properties": { + "AssetId": { + "type": "string" + }, + "EntryId": { + "type": "string" + }, + "PropertyAlias": { + "type": "string" + }, + "PropertyId": { + "type": "string" + }, + "PropertyValue": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" + } + }, + "required": [ + "PropertyValue" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.IotTopicPublish": { + "additionalProperties": false, + "properties": { + "MqttTopic": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "MqttTopic" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Lambda": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnEnter": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnExit": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.OnInput": { + "additionalProperties": false, + "properties": { + "Events": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" + }, + "type": "array" + }, + "TransitionEvents": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Payload": { + "additionalProperties": false, + "properties": { + "ContentExpression": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "ContentExpression", + "Type" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.ResetTimer": { + "additionalProperties": false, + "properties": { + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetTimer": { + "additionalProperties": false, + "properties": { + "DurationExpression": { + "type": "string" + }, + "Seconds": { + "type": "number" + }, + "TimerName": { + "type": "string" + } + }, + "required": [ + "TimerName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.SetVariable": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + }, + "VariableName": { + "type": "string" + } + }, + "required": [ + "Value", + "VariableName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sns": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "TargetArn" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.Sqs": { + "additionalProperties": false, + "properties": { + "Payload": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" + }, + "QueueUrl": { + "type": "string" + }, + "UseBase64": { + "type": "boolean" + } + }, + "required": [ + "QueueUrl" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.State": { + "additionalProperties": false, + "properties": { + "OnEnter": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" + }, + "OnExit": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" + }, + "OnInput": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" + }, + "StateName": { + "type": "string" + } + }, + "required": [ + "StateName" + ], + "type": "object" + }, + "AWS::IoTEvents::DetectorModel.TransitionEvent": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" + }, + "type": "array" + }, + "Condition": { + "type": "string" + }, + "EventName": { + "type": "string" + }, + "NextState": { + "type": "string" + } + }, + "required": [ + "Condition", + "EventName", + "NextState" + ], + "type": "object" + }, + "AWS::IoTEvents::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InputDefinition": { + "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" + }, + "InputDescription": { + "type": "string" + }, + "InputName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InputDefinition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTEvents::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.Attribute": { + "additionalProperties": false, + "properties": { + "JsonPath": { + "type": "string" + } + }, + "required": [ + "JsonPath" + ], + "type": "object" + }, + "AWS::IoTEvents::Input.InputDefinition": { + "additionalProperties": false, + "properties": { + "Attributes": { + "items": { + "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" + }, + "type": "array" + } + }, + "required": [ + "Attributes" + ], + "type": "object" + }, + "AWS::IoTFleetHub::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ApplicationName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTFleetHub::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessPolicyIdentity": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" + }, + "AccessPolicyPermission": { + "type": "string" + }, + "AccessPolicyResource": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" + } + }, + "required": [ + "AccessPolicyIdentity", + "AccessPolicyPermission", + "AccessPolicyResource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AccessPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { + "additionalProperties": false, + "properties": { + "IamRole": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" + }, + "IamUser": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" + }, + "User": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { + "additionalProperties": false, + "properties": { + "Portal": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" + }, + "Project": { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamRole": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.IamUser": { + "additionalProperties": false, + "properties": { + "arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Portal": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.Project": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AccessPolicy.User": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" + }, + "type": "array" + }, + "AssetModelId": { + "type": "string" + }, + "AssetName": { + "type": "string" + }, + "AssetProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelId", + "AssetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + } + }, + "required": [ + "ChildAssetId", + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Asset.AssetProperty": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "NotificationState": { + "type": "string" + } + }, + "required": [ + "LogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssetModelCompositeModels": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" + }, + "type": "array" + }, + "AssetModelDescription": { + "type": "string" + }, + "AssetModelHierarchies": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" + }, + "type": "array" + }, + "AssetModelName": { + "type": "string" + }, + "AssetModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AssetModelName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::AssetModel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { + "additionalProperties": false, + "properties": { + "CompositeModelProperties": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { + "additionalProperties": false, + "properties": { + "ChildAssetModelId": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "ChildAssetModelId", + "LogicalId", + "Name" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { + "additionalProperties": false, + "properties": { + "DataType": { + "type": "string" + }, + "DataTypeSpec": { + "type": "string" + }, + "LogicalId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" + }, + "Unit": { + "type": "string" + } + }, + "required": [ + "DataType", + "LogicalId", + "Name", + "Type" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Attribute": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Metric": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + }, + "Window": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" + } + }, + "required": [ + "Expression", + "Variables", + "Window" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.MetricWindow": { + "additionalProperties": false, + "properties": { + "Tumbling": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" + } + }, + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.PropertyType": { + "additionalProperties": false, + "properties": { + "Attribute": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" + }, + "Metric": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" + }, + "Transform": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" + }, + "TypeName": { + "type": "string" + } + }, + "required": [ + "TypeName" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.Transform": { + "additionalProperties": false, + "properties": { + "Expression": { + "type": "string" + }, + "Variables": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "Variables" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.TumblingWindow": { + "additionalProperties": false, + "properties": { + "Interval": { + "type": "string" + }, + "Offset": { + "type": "string" + } + }, + "required": [ + "Interval" + ], + "type": "object" + }, + "AWS::IoTSiteWise::AssetModel.VariableValue": { + "additionalProperties": false, + "properties": { + "HierarchyLogicalId": { + "type": "string" + }, + "PropertyLogicalId": { + "type": "string" + } + }, + "required": [ + "PropertyLogicalId" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DashboardDefinition": { + "type": "string" + }, + "DashboardDescription": { + "type": "string" + }, + "DashboardName": { + "type": "string" + }, + "ProjectId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DashboardDefinition", + "DashboardDescription", + "DashboardName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GatewayCapabilitySummaries": { + "items": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" + }, + "type": "array" + }, + "GatewayName": { + "type": "string" + }, + "GatewayPlatform": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GatewayName", + "GatewayPlatform" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Gateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { + "additionalProperties": false, + "properties": { + "CapabilityConfiguration": { + "type": "string" + }, + "CapabilityNamespace": { + "type": "string" + } + }, + "required": [ + "CapabilityNamespace" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.GatewayPlatform": { + "additionalProperties": false, + "properties": { + "Greengrass": { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" + } + }, + "required": [ + "Greengrass" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Gateway.Greengrass": { + "additionalProperties": false, + "properties": { + "GroupArn": { + "type": "string" + } + }, + "required": [ + "GroupArn" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Portal": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alarms": { + "type": "object" + }, + "NotificationSenderEmail": { + "type": "string" + }, + "PortalAuthMode": { + "type": "string" + }, + "PortalContactEmail": { + "type": "string" + }, + "PortalDescription": { + "type": "string" + }, + "PortalName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalContactEmail", + "PortalName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Portal" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTSiteWise::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PortalId": { + "type": "string" + }, + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PortalId", + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTSiteWise::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleNamespaceVersion": { + "type": "number" + }, + "Definition": { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" + } + }, + "required": [ + "Definition" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTThingsGraph::FlowTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { + "additionalProperties": false, + "properties": { + "Language": { + "type": "string" + }, + "Text": { + "type": "string" + } + }, + "required": [ + "Language", + "Text" + ], + "type": "object" + }, + "AWS::IoTWireless::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Expression": { + "type": "string" + }, + "ExpressionType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Expression", + "ExpressionType", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::DeviceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { + "additionalProperties": false, + "properties": { + "ClassBTimeout": { + "type": "number" + }, + "ClassCTimeout": { + "type": "number" + }, + "MacVersion": { + "type": "string" + }, + "MaxDutyCycle": { + "type": "number" + }, + "MaxEirp": { + "type": "number" + }, + "PingSlotDr": { + "type": "number" + }, + "PingSlotFreq": { + "type": "number" + }, + "PingSlotPeriod": { + "type": "number" + }, + "RegParamsRevision": { + "type": "string" + }, + "RfRegion": { + "type": "string" + }, + "Supports32BitFCnt": { + "type": "boolean" + }, + "SupportsClassB": { + "type": "boolean" + }, + "SupportsClassC": { + "type": "boolean" + }, + "SupportsJoin": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccountLinked": { + "type": "boolean" + }, + "Fingerprint": { + "type": "string" + }, + "PartnerAccountId": { + "type": "string" + }, + "PartnerType": { + "type": "string" + }, + "Sidewalk": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" + }, + "SidewalkUpdate": { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::PartnerAccount" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "required": [ + "AppServerPrivateKey" + ], + "type": "object" + }, + "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { + "additionalProperties": false, + "properties": { + "AppServerPrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::ServiceProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { + "additionalProperties": false, + "properties": { + "AddGwMetadata": { + "type": "boolean" + }, + "ChannelMask": { + "type": "string" + }, + "DevStatusReqFreq": { + "type": "number" + }, + "DlBucketSize": { + "type": "number" + }, + "DlRate": { + "type": "number" + }, + "DlRatePolicy": { + "type": "string" + }, + "DrMax": { + "type": "number" + }, + "DrMin": { + "type": "number" + }, + "HrAllowed": { + "type": "boolean" + }, + "MinGwDiversity": { + "type": "number" + }, + "NwkGeoLoc": { + "type": "boolean" + }, + "PrAllowed": { + "type": "boolean" + }, + "RaAllowed": { + "type": "boolean" + }, + "ReportDevStatusBattery": { + "type": "boolean" + }, + "ReportDevStatusMargin": { + "type": "boolean" + }, + "TargetPer": { + "type": "number" + }, + "UlBucketSize": { + "type": "number" + }, + "UlRate": { + "type": "number" + }, + "UlRatePolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AutoCreateTasks": { + "type": "boolean" + }, + "LoRaWANUpdateGatewayTaskEntry": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TaskDefinitionType": { + "type": "string" + }, + "Update": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" + } + }, + "required": [ + "AutoCreateTasks" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::TaskDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { + "additionalProperties": false, + "properties": { + "Model": { + "type": "string" + }, + "PackageVersion": { + "type": "string" + }, + "Station": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "SigKeyCrc": { + "type": "number" + }, + "UpdateSignature": { + "type": "string" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { + "additionalProperties": false, + "properties": { + "CurrentVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + }, + "UpdateVersion": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" + } + }, + "type": "object" + }, + "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { + "additionalProperties": false, + "properties": { + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" + }, + "UpdateDataRole": { + "type": "string" + }, + "UpdateDataSource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DestinationName": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessDevice" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV10x": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.AbpV11": { + "additionalProperties": false, + "properties": { + "DevAddr": { + "type": "string" + }, + "SessionKeys": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" + } + }, + "required": [ + "DevAddr", + "SessionKeys" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { + "additionalProperties": false, + "properties": { + "AbpV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" + }, + "AbpV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" + }, + "DevEui": { + "type": "string" + }, + "DeviceProfileId": { + "type": "string" + }, + "OtaaV10x": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" + }, + "OtaaV11": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" + }, + "ServiceProfileId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV10x": { + "additionalProperties": false, + "properties": { + "AppEui": { + "type": "string" + }, + "AppKey": { + "type": "string" + } + }, + "required": [ + "AppEui", + "AppKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.OtaaV11": { + "additionalProperties": false, + "properties": { + "AppKey": { + "type": "string" + }, + "JoinEui": { + "type": "string" + }, + "NwkKey": { + "type": "string" + } + }, + "required": [ + "AppKey", + "JoinEui", + "NwkKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "NwkSKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "NwkSKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { + "additionalProperties": false, + "properties": { + "AppSKey": { + "type": "string" + }, + "FNwkSIntKey": { + "type": "string" + }, + "NwkSEncKey": { + "type": "string" + }, + "SNwkSIntKey": { + "type": "string" + } + }, + "required": [ + "AppSKey", + "FNwkSIntKey", + "NwkSEncKey", + "SNwkSIntKey" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LastUplinkReceivedAt": { + "type": "string" + }, + "LoRaWAN": { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThingArn": { + "type": "string" + } + }, + "required": [ + "LoRaWAN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::IoTWireless::WirelessGateway" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { + "additionalProperties": false, + "properties": { + "GatewayEui": { + "type": "string" + }, + "RfRegion": { + "type": "string" + } + }, + "required": [ + "GatewayEui", + "RfRegion" + ], + "type": "object" + }, + "AWS::KMS::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasName": { + "type": "string" + }, + "TargetKeyId": { + "type": "string" + } + }, + "required": [ + "AliasName", + "TargetKeyId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::Key": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EnableKeyRotation": { + "type": "boolean" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "KeySpec": { + "type": "string" + }, + "KeyUsage": { + "type": "string" + }, + "MultiRegion": { + "type": "boolean" + }, + "PendingWindowInDays": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::Key" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KMS::ReplicaKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "KeyPolicy": { + "type": "object" + }, + "PendingWindowInDays": { + "type": "number" + }, + "PrimaryKeyArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "KeyPolicy", + "PrimaryKeyArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KMS::ReplicaKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "IndexId", + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.AccessControlListConfiguration": { + "additionalProperties": false, + "properties": { + "KeyPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.AclConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedGroupsColumnName": { + "type": "string" + } + }, + "required": [ + "AllowedGroupsColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ColumnConfiguration": { + "additionalProperties": false, + "properties": { + "ChangeDetectingColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DocumentDataColumnName": { + "type": "string" + }, + "DocumentIdColumnName": { + "type": "string" + }, + "DocumentTitleColumnName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "ChangeDetectingColumns", + "DocumentDataColumnName", + "DocumentIdColumnName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" + }, + "type": "array" + }, + "CrawlAttachments": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { + "additionalProperties": false, + "properties": { + "BlogFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceConfiguration": { + "additionalProperties": false, + "properties": { + "AttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" + }, + "BlogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PageConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "SpaceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" + }, + "Version": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "ServerUrl", + "Version" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageConfiguration": { + "additionalProperties": false, + "properties": { + "PageFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlArchivedSpaces": { + "type": "boolean" + }, + "CrawlPersonalSpaces": { + "type": "boolean" + }, + "ExcludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeSpaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SpaceFieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ConnectionConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "SecretArn": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "SecretArn", + "TableName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "ConfluenceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" + }, + "DatabaseConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" + }, + "GoogleDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" + }, + "OneDriveConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" + }, + "SalesforceConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" + }, + "ServiceNowConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" + }, + "SharePointConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { + "additionalProperties": false, + "properties": { + "DataSourceFieldName": { + "type": "string" + }, + "DateFieldFormat": { + "type": "string" + }, + "IndexFieldName": { + "type": "string" + } + }, + "required": [ + "DataSourceFieldName", + "IndexFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DatabaseConfiguration": { + "additionalProperties": false, + "properties": { + "AclConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" + }, + "ColumnConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" + }, + "ConnectionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" + }, + "DatabaseEngineType": { + "type": "string" + }, + "SqlConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "ColumnConfiguration", + "ConnectionConfiguration", + "DatabaseEngineType" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "S3Prefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.GoogleDriveConfiguration": { + "additionalProperties": false, + "properties": { + "ExcludeMimeTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeSharedDrives": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExcludeUserAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "SecretArn" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveConfiguration": { + "additionalProperties": false, + "properties": { + "DisableLocalGroups": { + "type": "boolean" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUsers": { + "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" + }, + "SecretArn": { + "type": "string" + }, + "TenantDomain": { + "type": "string" + } + }, + "required": [ + "OneDriveUsers", + "SecretArn", + "TenantDomain" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.OneDriveUsers": { + "additionalProperties": false, + "properties": { + "OneDriveUserList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OneDriveUserS3Path": { + "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.S3DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "AccessControlListConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" + }, + "BucketName": { + "type": "string" + }, + "DocumentsMetadataConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InclusionPrefixes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeFilterTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceConfiguration": { + "additionalProperties": false, + "properties": { + "ChatterFeedConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" + }, + "CrawlAttachments": { + "type": "boolean" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServerUrl": { + "type": "string" + }, + "StandardObjectAttachmentConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" + }, + "StandardObjectConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SecretArn", + "ServerUrl" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CustomKnowledgeArticleTypeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" + }, + "type": "array" + }, + "IncludedStates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StandardKnowledgeArticleTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" + } + }, + "required": [ + "IncludedStates" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { + "additionalProperties": false, + "properties": { + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DocumentDataFieldName", + "Name" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowConfiguration": { + "additionalProperties": false, + "properties": { + "HostUrl": { + "type": "string" + }, + "KnowledgeArticleConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" + }, + "SecretArn": { + "type": "string" + }, + "ServiceCatalogConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" + }, + "ServiceNowBuildVersion": { + "type": "string" + } + }, + "required": [ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DocumentDataFieldName": { + "type": "string" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExcludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "IncludeAttachmentFilePatterns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DocumentDataFieldName" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SharePointConfiguration": { + "additionalProperties": false, + "properties": { + "CrawlAttachments": { + "type": "boolean" + }, + "DisableLocalGroups": { + "type": "boolean" + }, + "DocumentTitleFieldName": { + "type": "string" + }, + "ExclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "FieldMappings": { + "items": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" + }, + "type": "array" + }, + "InclusionPatterns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecretArn": { + "type": "string" + }, + "SharePointVersion": { + "type": "string" + }, + "Urls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "UseChangeLog": { + "type": "boolean" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" + } + }, + "required": [ + "SecretArn", + "SharePointVersion", + "Urls" + ], + "type": "object" + }, + "AWS::Kendra::DataSource.SqlConfiguration": { + "additionalProperties": false, + "properties": { + "QueryIdentifiersEnclosingOption": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Faq": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FileFormat": { + "type": "string" + }, + "IndexId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "S3Path": { + "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IndexId", + "Name", + "RoleArn", + "S3Path" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Faq" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Faq.S3Path": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Kendra::Index": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CapacityUnits": { + "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" + }, + "Description": { + "type": "string" + }, + "DocumentMetadataConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" + }, + "type": "array" + }, + "Edition": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideEncryptionConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserContextPolicy": { + "type": "string" + }, + "UserTokenConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" + }, + "type": "array" + } + }, + "required": [ + "Edition", + "Name", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kendra::Index" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kendra::Index.CapacityUnitsConfiguration": { + "additionalProperties": false, + "properties": { + "QueryCapacityUnits": { + "type": "number" + }, + "StorageCapacityUnits": { + "type": "number" + } + }, + "required": [ + "QueryCapacityUnits", + "StorageCapacityUnits" + ], + "type": "object" + }, + "AWS::Kendra::Index.DocumentMetadataConfiguration": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Relevance": { + "$ref": "#/definitions/AWS::Kendra::Index.Relevance" + }, + "Search": { + "$ref": "#/definitions/AWS::Kendra::Index.Search" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Kendra::Index.JsonTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "GroupAttributeField": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "GroupAttributeField", + "UserNameAttributeField" + ], + "type": "object" + }, + "AWS::Kendra::Index.JwtTokenTypeConfiguration": { + "additionalProperties": false, + "properties": { + "ClaimRegex": { + "type": "string" + }, + "GroupAttributeField": { + "type": "string" + }, + "Issuer": { + "type": "string" + }, + "KeyLocation": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "URL": { + "type": "string" + }, + "UserNameAttributeField": { + "type": "string" + } + }, + "required": [ + "KeyLocation" + ], + "type": "object" + }, + "AWS::Kendra::Index.Relevance": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "Freshness": { + "type": "boolean" + }, + "Importance": { + "type": "number" + }, + "RankOrder": { + "type": "string" + }, + "ValueImportanceItems": { + "items": { + "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.Search": { + "additionalProperties": false, + "properties": { + "Displayable": { + "type": "boolean" + }, + "Facetable": { + "type": "boolean" + }, + "Searchable": { + "type": "boolean" + }, + "Sortable": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.UserTokenConfiguration": { + "additionalProperties": false, + "properties": { + "JsonTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" + }, + "JwtTokenTypeConfiguration": { + "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" + } + }, + "type": "object" + }, + "AWS::Kendra::Index.ValueImportanceItem": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Kinesis::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RetentionPeriodHours": { + "type": "number" + }, + "ShardCount": { + "type": "number" + }, + "StreamEncryption": { + "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ShardCount" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Kinesis::Stream.StreamEncryption": { + "additionalProperties": false, + "properties": { + "EncryptionType": { + "type": "string" + }, + "KeyId": { + "type": "string" + } + }, + "required": [ + "EncryptionType", + "KeyId" + ], + "type": "object" + }, + "AWS::Kinesis::StreamConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerName": { + "type": "string" + }, + "StreamARN": { + "type": "string" + } + }, + "required": [ + "ConsumerName", + "StreamARN" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Kinesis::StreamConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationCode": { + "type": "string" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" + }, + "type": "array" + } + }, + "required": [ + "Inputs" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalytics::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ReferenceRoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey", + "ReferenceRoleARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" + }, + "ApplicationDescription": { + "type": "string" + }, + "ApplicationMode": { + "type": "string" + }, + "ApplicationName": { + "type": "string" + }, + "RuntimeEnvironment": { + "type": "string" + }, + "ServiceExecutionRole": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { + "additionalProperties": false, + "properties": { + "CodeContent": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" + }, + "CodeContentType": { + "type": "string" + } + }, + "required": [ + "CodeContent", + "CodeContentType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "ApplicationCodeConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" + }, + "ApplicationSnapshotConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" + }, + "EnvironmentProperties": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" + }, + "FlinkApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" + }, + "SqlApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" + }, + "ZeppelinApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { + "additionalProperties": false, + "properties": { + "SnapshotsEnabled": { + "type": "boolean" + } + }, + "required": [ + "SnapshotsEnabled" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { + "additionalProperties": false, + "properties": { + "GlueDataCatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointInterval": { + "type": "number" + }, + "CheckpointingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "MinPauseBetweenCheckpoints": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CodeContent": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + }, + "TextContent": { + "type": "string" + }, + "ZipFileContent": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { + "additionalProperties": false, + "properties": { + "ArtifactType": { + "type": "string" + }, + "MavenReference": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" + }, + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" + } + }, + "required": [ + "ArtifactType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "S3ContentLocation": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" + } + }, + "required": [ + "S3ContentLocation" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { + "additionalProperties": false, + "properties": { + "PropertyGroups": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CheckpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" + }, + "ParallelismConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { + "additionalProperties": false, + "properties": { + "DatabaseARN": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.Input": { + "additionalProperties": false, + "properties": { + "InputParallelism": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" + }, + "InputProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" + }, + "InputSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" + }, + "KinesisFirehoseInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" + }, + "KinesisStreamsInput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" + }, + "NamePrefix": { + "type": "string" + } + }, + "required": [ + "InputSchema", + "NamePrefix" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputParallelism": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "InputLambdaProcessor": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.InputSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MavenReference": { + "additionalProperties": false, + "properties": { + "ArtifactId": { + "type": "string" + }, + "GroupId": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "ArtifactId", + "GroupId", + "Version" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "ConfigurationType": { + "type": "string" + }, + "LogLevel": { + "type": "string" + }, + "MetricsLevel": { + "type": "string" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { + "additionalProperties": false, + "properties": { + "AutoScalingEnabled": { + "type": "boolean" + }, + "ConfigurationType": { + "type": "string" + }, + "Parallelism": { + "type": "number" + }, + "ParallelismPerKPU": { + "type": "number" + } + }, + "required": [ + "ConfigurationType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { + "additionalProperties": false, + "properties": { + "PropertyGroupId": { + "type": "string" + }, + "PropertyMap": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "BucketARN": { + "type": "string" + } + }, + "required": [ + "BasePath", + "BucketARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + }, + "ObjectVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Inputs": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" + }, + "CustomArtifactsConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" + }, + "DeployAsApplicationConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" + }, + "MonitoringConfiguration": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { + "additionalProperties": false, + "properties": { + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "CloudWatchLoggingOption": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" + } + }, + "required": [ + "ApplicationName", + "CloudWatchLoggingOption" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { + "additionalProperties": false, + "properties": { + "LogStreamARN": { + "type": "string" + } + }, + "required": [ + "LogStreamARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "Output": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" + } + }, + "required": [ + "ApplicationName", + "Output" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { + "additionalProperties": false, + "properties": { + "RecordFormatType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { + "additionalProperties": false, + "properties": { + "ResourceARN": { + "type": "string" + } + }, + "required": [ + "ResourceARN" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { + "additionalProperties": false, + "properties": { + "DestinationSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" + }, + "KinesisFirehoseOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" + }, + "KinesisStreamsOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" + }, + "LambdaOutput": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "DestinationSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationName": { + "type": "string" + }, + "ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" + } + }, + "required": [ + "ApplicationName", + "ReferenceDataSource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordColumnDelimiter": { + "type": "string" + }, + "RecordRowDelimiter": { + "type": "string" + } + }, + "required": [ + "RecordColumnDelimiter", + "RecordRowDelimiter" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { + "additionalProperties": false, + "properties": { + "RecordRowPath": { + "type": "string" + } + }, + "required": [ + "RecordRowPath" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { + "additionalProperties": false, + "properties": { + "CSVMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" + }, + "JSONMappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" + } + }, + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { + "additionalProperties": false, + "properties": { + "Mapping": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlType": { + "type": "string" + } + }, + "required": [ + "Name", + "SqlType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { + "additionalProperties": false, + "properties": { + "MappingParameters": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" + }, + "RecordFormatType": { + "type": "string" + } + }, + "required": [ + "RecordFormatType" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "ReferenceSchema": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" + }, + "S3ReferenceDataSource": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "ReferenceSchema" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { + "additionalProperties": false, + "properties": { + "RecordColumns": { + "items": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" + }, + "type": "array" + }, + "RecordEncoding": { + "type": "string" + }, + "RecordFormat": { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" + } + }, + "required": [ + "RecordColumns", + "RecordFormat" + ], + "type": "object" + }, + "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "FileKey": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "FileKey" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryStreamEncryptionConfigurationInput": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" + }, + "DeliveryStreamName": { + "type": "string" + }, + "DeliveryStreamType": { + "type": "string" + }, + "ElasticsearchDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" + }, + "ExtendedS3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" + }, + "HttpEndpointDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" + }, + "KinesisStreamSourceConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" + }, + "RedshiftDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" + }, + "S3DestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "SplunkDestinationConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::KinesisFirehose::DeliveryStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { + "additionalProperties": false, + "properties": { + "CopyOptions": { + "type": "string" + }, + "DataTableColumns": { + "type": "string" + }, + "DataTableName": { + "type": "string" + } + }, + "required": [ + "DataTableName" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "InputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" + }, + "OutputFormatConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" + }, + "SchemaConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { + "additionalProperties": false, + "properties": { + "KeyARN": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Deserializer": { + "additionalProperties": false, + "properties": { + "HiveJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" + }, + "OpenXJsonSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { + "additionalProperties": false, + "properties": { + "IntervalInSeconds": { + "type": "number" + }, + "SizeInMBs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterEndpoint": { + "type": "string" + }, + "DomainARN": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "IndexRotationPeriod": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "TypeName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" + } + }, + "required": [ + "IndexName", + "RoleARN", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KMSEncryptionConfig": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" + }, + "NoEncryptionConfig": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "DataFormatConversionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { + "additionalProperties": false, + "properties": { + "TimestampFormats": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { + "additionalProperties": false, + "properties": { + "AttributeName": { + "type": "string" + }, + "AttributeValue": { + "type": "string" + } + }, + "required": [ + "AttributeName", + "AttributeValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { + "additionalProperties": false, + "properties": { + "AccessKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Url" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RequestConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "EndpointConfiguration", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { + "additionalProperties": false, + "properties": { + "CommonAttributes": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" + }, + "type": "array" + }, + "ContentEncoding": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Deserializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { + "additionalProperties": false, + "properties": { + "AWSKMSKeyARN": { + "type": "string" + } + }, + "required": [ + "AWSKMSKeyARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { + "additionalProperties": false, + "properties": { + "KinesisStreamARN": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "KinesisStreamARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { + "additionalProperties": false, + "properties": { + "CaseInsensitive": { + "type": "boolean" + }, + "ColumnToJsonKeyMappings": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ConvertDotsInJsonKeysToUnderscores": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "BloomFilterColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BloomFilterFalsePositiveProbability": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "DictionaryKeyThreshold": { + "type": "number" + }, + "EnablePadding": { + "type": "boolean" + }, + "FormatVersion": { + "type": "string" + }, + "PaddingTolerance": { + "type": "number" + }, + "RowIndexStride": { + "type": "number" + }, + "StripeSizeBytes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { + "additionalProperties": false, + "properties": { + "Serializer": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { + "additionalProperties": false, + "properties": { + "BlockSizeBytes": { + "type": "number" + }, + "Compression": { + "type": "string" + }, + "EnableDictionaryCompression": { + "type": "boolean" + }, + "MaxPaddingBytes": { + "type": "number" + }, + "PageSizeBytes": { + "type": "number" + }, + "WriterVersion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "Processors": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Processor": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "ClusterJDBCURL": { + "type": "string" + }, + "CopyCommand": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" + }, + "Password": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" + }, + "RoleARN": { + "type": "string" + }, + "S3BackupConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "ClusterJDBCURL", + "CopyCommand", + "Password", + "RoleARN", + "S3Configuration", + "Username" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { + "additionalProperties": false, + "properties": { + "BucketARN": { + "type": "string" + }, + "BufferingHints": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" + }, + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "CompressionFormat": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" + }, + "ErrorOutputPrefix": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "RoleARN": { + "type": "string" + } + }, + "required": [ + "BucketARN", + "RoleARN" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "RoleARN": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VersionId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.Serializer": { + "additionalProperties": false, + "properties": { + "OrcSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" + }, + "ParquetSerDe": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLoggingOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" + }, + "HECAcknowledgmentTimeoutInSeconds": { + "type": "number" + }, + "HECEndpoint": { + "type": "string" + }, + "HECEndpointType": { + "type": "string" + }, + "HECToken": { + "type": "string" + }, + "ProcessingConfiguration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" + }, + "RetryOptions": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" + }, + "S3BackupMode": { + "type": "string" + }, + "S3Configuration": { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" + } + }, + "required": [ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "RoleARN": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "RoleARN", + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Admins": { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" + }, + "TrustedResourceOwners": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::DataLakeSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.Admins": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataLakePrincipal": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" + }, + "Permissions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PermissionsWithGrantOption": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Resource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" + } + }, + "required": [ + "DataLakePrincipal", + "Resource" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Permissions" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LakeFormation::Permissions.ColumnWildcard": { + "additionalProperties": false, + "properties": { + "ExcludedColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLakePrincipal": { + "additionalProperties": false, + "properties": { + "DataLakePrincipalIdentifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DataLocationResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "S3Resource": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.DatabaseResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.Resource": { + "additionalProperties": false, + "properties": { + "DataLocationResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" + }, + "DatabaseResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" + }, + "TableResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" + }, + "TableWithColumnsResource": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "TableWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWildcard": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::LakeFormation::Permissions.TableWithColumnsResource": { + "additionalProperties": false, + "properties": { + "CatalogId": { + "type": "string" + }, + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ColumnWildcard": { + "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" + }, + "DatabaseName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LakeFormation::Resource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "UseServiceLinkedRole": { + "type": "boolean" + } + }, + "required": [ + "ResourceArn", + "UseServiceLinkedRole" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LakeFormation::Resource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" + }, + "RoutingConfig": { + "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" + } + }, + "required": [ + "FunctionName", + "FunctionVersion", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Alias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Alias.AliasRoutingConfiguration": { + "additionalProperties": false, + "properties": { + "AdditionalVersionWeights": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" + }, + "type": "array" + } + }, + "required": [ + "AdditionalVersionWeights" + ], + "type": "object" + }, + "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Lambda::Alias.VersionWeight": { + "additionalProperties": false, + "properties": { + "FunctionVersion": { + "type": "string" + }, + "FunctionWeight": { + "type": "number" + } + }, + "required": [ + "FunctionVersion", + "FunctionWeight" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPublishers": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" + }, + "CodeSigningPolicies": { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" + }, + "Description": { + "type": "string" + } + }, + "required": [ + "AllowedPublishers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::CodeSigningConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { + "additionalProperties": false, + "properties": { + "SigningProfileVersionArns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SigningProfileVersionArns" + ], + "type": "object" + }, + "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { + "additionalProperties": false, + "properties": { + "UntrustedArtifactOnDeployment": { + "type": "string" + } + }, + "required": [ + "UntrustedArtifactOnDeployment" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" + }, + "FunctionName": { + "type": "string" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "Qualifier": { + "type": "string" + } + }, + "required": [ + "FunctionName", + "Qualifier" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventInvokeConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" + } + }, + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventInvokeConfig.OnSuccess": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "EventSourceArn": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "FunctionResponseTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SelfManagedEventSource": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" + }, + "SourceAccessConfigurations": { + "items": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" + }, + "type": "array" + }, + "StartingPosition": { + "type": "string" + }, + "StartingPositionTimestamp": { + "type": "number" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TumblingWindowInSeconds": { + "type": "number" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::EventSourceMapping" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.Endpoints": { + "additionalProperties": false, + "properties": { + "KafkaBootstrapServers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.OnFailure": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { + "additionalProperties": false, + "properties": { + "Endpoints": { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" + } + }, + "type": "object" + }, + "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "URI": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Code": { + "$ref": "#/definitions/AWS::Lambda::Function.Code" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "DeadLetterConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Lambda::Function.Environment" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timeout": { + "type": "number" + }, + "TracingConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" + } + }, + "required": [ + "Code", + "Role" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Function.Code": { + "additionalProperties": false, + "properties": { + "ImageUri": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "ZipFile": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.DeadLetterConfig": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.Environment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "required": [ + "Arn", + "LocalMountPath" + ], + "type": "object" + }, + "AWS::Lambda::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.TracingConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Lambda::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Lambda::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Content": { + "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersion.Content": { + "additionalProperties": false, + "properties": { + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::Lambda::LayerVersionPermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "LayerVersionArn": { + "type": "string" + }, + "OrganizationId": { + "type": "string" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Action", + "LayerVersionArn", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::LayerVersionPermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Permission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "EventSourceToken": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "SourceAccount": { + "type": "string" + }, + "SourceArn": { + "type": "string" + } + }, + "required": [ + "Action", + "FunctionName", + "Principal" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Permission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeSha256": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FunctionName": { + "type": "string" + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Lambda::Version" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "number" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::LicenseManager::Grant": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedOperations": { + "items": { + "type": "string" + }, + "type": "array" + }, + "GrantName": { + "type": "string" + }, + "HomeRegion": { + "type": "string" + }, + "LicenseArn": { + "type": "string" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::Grant" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::LicenseManager::License": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Beneficiary": { + "type": "string" + }, + "ConsumptionConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" + }, + "Entitlements": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" + }, + "type": "array" + }, + "HomeRegion": { + "type": "string" + }, + "Issuer": { + "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" + }, + "LicenseMetadata": { + "items": { + "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" + }, + "type": "array" + }, + "LicenseName": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProductSKU": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Validity": { + "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" + } + }, + "required": [ + "ConsumptionConfiguration", + "Entitlements", + "HomeRegion", + "Issuer", + "LicenseName", + "ProductName", + "Validity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LicenseManager::License" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LicenseManager::License.BorrowConfiguration": { + "additionalProperties": false, + "properties": { + "AllowEarlyCheckIn": { + "type": "boolean" + }, + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "AllowEarlyCheckIn", + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ConsumptionConfiguration": { + "additionalProperties": false, + "properties": { + "BorrowConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" + }, + "ProvisionalConfiguration": { + "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" + }, + "RenewType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LicenseManager::License.Entitlement": { + "additionalProperties": false, + "properties": { + "AllowCheckIn": { + "type": "boolean" + }, + "MaxCount": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Overage": { + "type": "boolean" + }, + "Unit": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Unit" + ], + "type": "object" + }, + "AWS::LicenseManager::License.IssuerData": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SignKey": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::LicenseManager::License.Metadata": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ProvisionalConfiguration": { + "additionalProperties": false, + "properties": { + "MaxTimeToLiveInMinutes": { + "type": "number" + } + }, + "required": [ + "MaxTimeToLiveInMinutes" + ], + "type": "object" + }, + "AWS::LicenseManager::License.ValidityDateFormat": { + "additionalProperties": false, + "properties": { + "Begin": { + "type": "string" + }, + "End": { + "type": "string" + } + }, + "required": [ + "Begin", + "End" + ], + "type": "object" + }, + "AWS::Location::GeofenceCollection": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CollectionName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + } + }, + "required": [ + "CollectionName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::GeofenceCollection" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" + }, + "Description": { + "type": "string" + }, + "MapName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "Configuration", + "MapName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Map" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Map.MapConfiguration": { + "additionalProperties": false, + "properties": { + "Style": { + "type": "string" + } + }, + "required": [ + "Style" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataSource": { + "type": "string" + }, + "DataSourceConfiguration": { + "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" + }, + "Description": { + "type": "string" + }, + "IndexName": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "DataSource", + "IndexName", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::PlaceIndex" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::PlaceIndex.DataSourceConfiguration": { + "additionalProperties": false, + "properties": { + "IntendedUse": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Location::RouteCalculator": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CalculatorName": { + "type": "string" + }, + "DataSource": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + } + }, + "required": [ + "CalculatorName", + "DataSource", + "PricingPlan" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::RouteCalculator" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::Tracker": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "PricingPlanDataSource": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "PricingPlan", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::Tracker" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Location::TrackerConsumer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConsumerArn": { + "type": "string" + }, + "TrackerName": { + "type": "string" + } + }, + "required": [ + "ConsumerArn", + "TrackerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Location::TrackerConsumer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::Destination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationName": { + "type": "string" + }, + "DestinationPolicy": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "TargetArn": { + "type": "string" + } + }, + "required": [ + "DestinationName", + "DestinationPolicy", + "RoleArn", + "TargetArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::Destination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::LogGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RetentionInDays": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Logs::LogStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + }, + "LogStreamName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::LogStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "MetricTransformations": { + "items": { + "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" + }, + "type": "array" + } + }, + "required": [ + "FilterPattern", + "LogGroupName", + "MetricTransformations" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::MetricFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::MetricFilter.MetricTransformation": { + "additionalProperties": false, + "properties": { + "DefaultValue": { + "type": "number" + }, + "MetricName": { + "type": "string" + }, + "MetricNamespace": { + "type": "string" + }, + "MetricValue": { + "type": "string" + } + }, + "required": [ + "MetricName", + "MetricNamespace", + "MetricValue" + ], + "type": "object" + }, + "AWS::Logs::QueryDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "LogGroupNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryString": { + "type": "string" + } + }, + "required": [ + "Name", + "QueryString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::QueryDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "string" + }, + "PolicyName": { + "type": "string" + } + }, + "required": [ + "PolicyDocument", + "PolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Logs::SubscriptionFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "DestinationArn", + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Logs::SubscriptionFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutEquipment::InferenceScheduler": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataDelayOffsetInMinutes": { + "type": "number" + }, + "DataInputConfiguration": { + "type": "object" + }, + "DataOutputConfiguration": { + "type": "object" + }, + "DataUploadFrequency": { + "type": "string" + }, + "InferenceSchedulerName": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "ServerSideKmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataInputConfiguration", + "DataOutputConfiguration", + "DataUploadFrequency", + "ModelName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutEquipment::InferenceScheduler" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" + }, + "AlertDescription": { + "type": "string" + }, + "AlertName": { + "type": "string" + }, + "AlertSensitivityThreshold": { + "type": "number" + }, + "AnomalyDetectorArn": { + "type": "string" + } + }, + "required": [ + "Action", + "AlertSensitivityThreshold", + "AnomalyDetectorArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::Alert" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.Action": { + "additionalProperties": false, + "properties": { + "LambdaConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" + }, + "SNSConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::Alert.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "LambdaArn", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::Alert.SNSConfiguration": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SnsTopicArn": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SnsTopicArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" + }, + "AnomalyDetectorDescription": { + "type": "string" + }, + "AnomalyDetectorName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "MetricSetList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" + }, + "type": "array" + } + }, + "required": [ + "AnomalyDetectorConfig", + "MetricSetList" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutMetrics::AnomalyDetector" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { + "additionalProperties": false, + "properties": { + "AnomalyDetectorFrequency": { + "type": "string" + } + }, + "required": [ + "AnomalyDetectorFrequency" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { + "additionalProperties": false, + "properties": { + "FlowName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FlowName", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "FileCompression": { + "type": "string" + }, + "HeaderList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "QuoteSymbol": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { + "additionalProperties": false, + "properties": { + "CsvFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" + }, + "JsonFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { + "additionalProperties": false, + "properties": { + "Charset": { + "type": "string" + }, + "FileCompression": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.Metric": { + "additionalProperties": false, + "properties": { + "AggregationFunction": { + "type": "string" + }, + "MetricName": { + "type": "string" + }, + "Namespace": { + "type": "string" + } + }, + "required": [ + "AggregationFunction", + "MetricName" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { + "additionalProperties": false, + "properties": { + "DimensionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MetricList": { + "items": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" + }, + "type": "array" + }, + "MetricSetDescription": { + "type": "string" + }, + "MetricSetFrequency": { + "type": "string" + }, + "MetricSetName": { + "type": "string" + }, + "MetricSource": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" + }, + "Offset": { + "type": "number" + }, + "TimestampColumn": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" + }, + "Timezone": { + "type": "string" + } + }, + "required": [ + "MetricList", + "MetricSetName", + "MetricSource" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { + "additionalProperties": false, + "properties": { + "AppFlowConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" + }, + "CloudwatchConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" + }, + "RDSSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" + }, + "RedshiftSourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" + }, + "S3SourceConfig": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { + "additionalProperties": false, + "properties": { + "DBInstanceIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "DBInstanceIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { + "additionalProperties": false, + "properties": { + "ClusterIdentifier": { + "type": "string" + }, + "DatabaseHost": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DatabasePort": { + "type": "number" + }, + "RoleArn": { + "type": "string" + }, + "SecretManagerArn": { + "type": "string" + }, + "TableName": { + "type": "string" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" + } + }, + "required": [ + "ClusterIdentifier", + "DatabaseHost", + "DatabaseName", + "DatabasePort", + "RoleArn", + "SecretManagerArn", + "TableName", + "VpcConfiguration" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { + "additionalProperties": false, + "properties": { + "FileFormatDescriptor": { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" + }, + "HistoricalDataPathList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TemplatedPathList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "FileFormatDescriptor", + "RoleArn" + ], + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { + "additionalProperties": false, + "properties": { + "ColumnFormat": { + "type": "string" + }, + "ColumnName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIdList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIdList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIdList", + "SubnetIdList" + ], + "type": "object" + }, + "AWS::LookoutVision::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectName": { + "type": "string" + } + }, + "required": [ + "ProjectName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::LookoutVision::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BrokerNodeGroupInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" + }, + "ClientAuthentication": { + "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" + }, + "ClusterName": { + "type": "string" + }, + "ConfigurationInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" + }, + "EncryptionInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" + }, + "EnhancedMonitoring": { + "type": "string" + }, + "KafkaVersion": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" + }, + "NumberOfBrokerNodes": { + "type": "number" + }, + "OpenMonitoring": { + "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "BrokerNodeGroupInfo", + "ClusterName", + "KafkaVersion", + "NumberOfBrokerNodes" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MSK::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MSK::Cluster.BrokerLogs": { + "additionalProperties": false, + "properties": { + "CloudWatchLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" + }, + "Firehose": { + "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" + }, + "S3": { + "$ref": "#/definitions/AWS::MSK::Cluster.S3" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.BrokerNodeGroupInfo": { + "additionalProperties": false, + "properties": { + "BrokerAZDistribution": { + "type": "string" + }, + "ClientSubnets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InstanceType": { + "type": "string" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" + } + }, + "required": [ + "ClientSubnets", + "InstanceType" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ClientAuthentication": { + "additionalProperties": false, + "properties": { + "Sasl": { + "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" + }, + "Tls": { + "$ref": "#/definitions/AWS::MSK::Cluster.Tls" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.CloudWatchLogs": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "LogGroup": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.ConfigurationInfo": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "Revision": { + "type": "number" + } + }, + "required": [ + "Arn", + "Revision" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EBSStorageInfo": { + "additionalProperties": false, + "properties": { + "VolumeSize": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionAtRest": { + "additionalProperties": false, + "properties": { + "DataVolumeKMSKeyId": { + "type": "string" + } + }, + "required": [ + "DataVolumeKMSKeyId" + ], + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInTransit": { + "additionalProperties": false, + "properties": { + "ClientBroker": { + "type": "string" + }, + "InCluster": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.EncryptionInfo": { + "additionalProperties": false, + "properties": { + "EncryptionAtRest": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" + }, + "EncryptionInTransit": { + "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Firehose": { + "additionalProperties": false, + "properties": { + "DeliveryStream": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Iam": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.JmxExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.LoggingInfo": { + "additionalProperties": false, + "properties": { + "BrokerLogs": { + "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" + } + }, + "required": [ + "BrokerLogs" + ], + "type": "object" + }, + "AWS::MSK::Cluster.NodeExporter": { + "additionalProperties": false, + "properties": { + "EnabledInBroker": { + "type": "boolean" + } + }, + "required": [ + "EnabledInBroker" + ], + "type": "object" + }, + "AWS::MSK::Cluster.OpenMonitoring": { + "additionalProperties": false, + "properties": { + "Prometheus": { + "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" + } + }, + "required": [ + "Prometheus" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Prometheus": { + "additionalProperties": false, + "properties": { + "JmxExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" + }, + "NodeExporter": { + "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.S3": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.Sasl": { + "additionalProperties": false, + "properties": { + "Iam": { + "$ref": "#/definitions/AWS::MSK::Cluster.Iam" + }, + "Scram": { + "$ref": "#/definitions/AWS::MSK::Cluster.Scram" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Scram": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "Enabled" + ], + "type": "object" + }, + "AWS::MSK::Cluster.StorageInfo": { + "additionalProperties": false, + "properties": { + "EBSStorageInfo": { + "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" + } + }, + "type": "object" + }, + "AWS::MSK::Cluster.Tls": { + "additionalProperties": false, + "properties": { + "CertificateAuthorityArnList": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AirflowConfigurationOptions": { + "type": "object" + }, + "AirflowVersion": { + "type": "string" + }, + "DagS3Path": { + "type": "string" + }, + "EnvironmentClass": { + "type": "string" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "KmsKey": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" + }, + "MaxWorkers": { + "type": "number" + }, + "MinWorkers": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" + }, + "PluginsS3ObjectVersion": { + "type": "string" + }, + "PluginsS3Path": { + "type": "string" + }, + "RequirementsS3ObjectVersion": { + "type": "string" + }, + "RequirementsS3Path": { + "type": "string" + }, + "Schedulers": { + "type": "number" + }, + "SourceBucketArn": { + "type": "string" + }, + "Tags": { + "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" + }, + "WebserverAccessMode": { + "type": "string" + }, + "WeeklyMaintenanceWindowStart": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MWAA::Environment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MWAA::Environment.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DagProcessingLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "SchedulerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "TaskLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WebserverLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + }, + "WorkerLogs": { + "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.ModuleLoggingConfiguration": { + "additionalProperties": false, + "properties": { + "CloudWatchLogGroupArn": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "LogLevel": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MWAA::Environment.TagMap": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::CustomDataIdentifier": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "IgnoreWords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Keywords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaximumMatchDistance": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Regex": { + "type": "string" + } + }, + "required": [ + "Name", + "Regex" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::CustomDataIdentifier" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "FindingCriteria": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" + }, + "Name": { + "type": "string" + }, + "Position": { + "type": "number" + } + }, + "required": [ + "FindingCriteria", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::FindingsFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Macie::FindingsFilter.Criterion": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingCriteria": { + "additionalProperties": false, + "properties": { + "Criterion": { + "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" + } + }, + "type": "object" + }, + "AWS::Macie::FindingsFilter.FindingsFilterListItem": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Macie::Session": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FindingPublishingFrequency": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Macie::Session" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InvitationId": { + "type": "string" + }, + "MemberConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" + }, + "NetworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" + }, + "NetworkId": { + "type": "string" + } + }, + "required": [ + "MemberConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Member" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { + "additionalProperties": false, + "properties": { + "ProposalDurationInHours": { + "type": "number" + }, + "ThresholdComparator": { + "type": "string" + }, + "ThresholdPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { + "additionalProperties": false, + "properties": { + "AdminPassword": { + "type": "string" + }, + "AdminUsername": { + "type": "string" + } + }, + "required": [ + "AdminPassword", + "AdminUsername" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "MemberFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkConfiguration": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Framework": { + "type": "string" + }, + "FrameworkVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "NetworkFrameworkConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" + }, + "VotingPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" + } + }, + "required": [ + "Framework", + "FrameworkVersion", + "Name", + "VotingPolicy" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { + "additionalProperties": false, + "properties": { + "Edition": { + "type": "string" + } + }, + "required": [ + "Edition" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { + "additionalProperties": false, + "properties": { + "NetworkFabricConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Member.VotingPolicy": { + "additionalProperties": false, + "properties": { + "ApprovalThresholdPolicy": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" + } + }, + "type": "object" + }, + "AWS::ManagedBlockchain::Node": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MemberId": { + "type": "string" + }, + "NetworkId": { + "type": "string" + }, + "NodeConfiguration": { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" + } + }, + "required": [ + "NetworkId", + "NodeConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ManagedBlockchain::Node" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ManagedBlockchain::Node.NodeConfiguration": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "InstanceType": { + "type": "string" + } + }, + "required": [ + "AvailabilityZone", + "InstanceType" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AvailabilityZone": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Source": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" + }, + "SourceFailoverConfig": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" + } + }, + "required": [ + "Name", + "Source" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::Flow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::Flow.FailoverConfig": { + "additionalProperties": false, + "properties": { + "RecoveryWindow": { + "type": "number" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::Flow.Source": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "IngestIp": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataTransferSubscriberFeePercent": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" + }, + "EntitlementStatus": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Subscribers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Description", + "FlowArn", + "Name", + "Subscribers" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowEntitlement" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowEntitlement.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CidrAllowList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Destination": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" + }, + "FlowArn": { + "type": "string" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "Protocol": { + "type": "string" + }, + "RemoteId": { + "type": "string" + }, + "SmoothingLatency": { + "type": "number" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceAttachment": { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" + } + }, + "required": [ + "FlowArn", + "Protocol" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowOutput" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn", + "SecretArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { + "additionalProperties": false, + "properties": { + "VpcInterfaceName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaConnect::FlowSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Decryption": { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" + }, + "Description": { + "type": "string" + }, + "EntitlementArn": { + "type": "string" + }, + "FlowArn": { + "type": "string" + }, + "IngestPort": { + "type": "number" + }, + "MaxBitrate": { + "type": "number" + }, + "MaxLatency": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "StreamId": { + "type": "string" + }, + "VpcInterfaceName": { + "type": "string" + }, + "WhitelistCidr": { + "type": "string" + } + }, + "required": [ + "Description", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowSource.Encryption": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "ConstantInitializationVector": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "KeyType": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Algorithm", + "RoleArn" + ], + "type": "object" + }, + "AWS::MediaConnect::FlowVpcInterface": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "FlowArn", + "Name", + "RoleArn", + "SecurityGroupIds", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConnect::FlowVpcInterface" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerationSettings": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" + }, + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "HopDestinations": { + "items": { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "StatusUpdateInterval": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::JobTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.AccelerationSettings": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::MediaConvert::JobTemplate.HopDestination": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Queue": { + "type": "string" + }, + "WaitMinutes": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaConvert::Preset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Category": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SettingsJson": { + "type": "object" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "SettingsJson" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Preset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaConvert::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PricingPlan": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaConvert::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CdiInputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" + }, + "ChannelClass": { + "type": "string" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" + }, + "type": "array" + }, + "EncoderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" + }, + "InputAttachments": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" + }, + "type": "array" + }, + "InputSpecification": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" + }, + "LogLevel": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Channel.AacSettings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "InputType": { + "type": "string" + }, + "Profile": { + "type": "string" + }, + "RateControlMode": { + "type": "string" + }, + "RawFormat": { + "type": "string" + }, + "SampleRate": { + "type": "number" + }, + "Spec": { + "type": "string" + }, + "VbrQuality": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Ac3Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcProfile": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "MetadataControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AncillarySourceSettings": { + "additionalProperties": false, + "properties": { + "SourceAncillaryChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveCdnSettings": { + "additionalProperties": false, + "properties": { + "ArchiveS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + }, + "RawSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "RolloverInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveOutputSettings": { + "additionalProperties": false, + "properties": { + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" + }, + "Extension": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ArchiveS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AribDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AribSourceSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioChannelMapping": { + "additionalProperties": false, + "properties": { + "InputChannelLevels": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" + }, + "type": "array" + }, + "OutputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioCodecSettings": { + "additionalProperties": false, + "properties": { + "AacSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" + }, + "Ac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" + }, + "Eac3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" + }, + "Mp2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" + }, + "PassThroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" + }, + "WavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioDescription": { + "additionalProperties": false, + "properties": { + "AudioNormalizationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" + }, + "AudioSelectorName": { + "type": "string" + }, + "AudioType": { + "type": "string" + }, + "AudioTypeControl": { + "type": "string" + }, + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageCodeControl": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RemixSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" + }, + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioLanguageSelection": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "LanguageSelectionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioNormalizationSettings": { + "additionalProperties": false, + "properties": { + "Algorithm": { + "type": "string" + }, + "AlgorithmControl": { + "type": "string" + }, + "TargetLkfs": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioGroupId": { + "type": "string" + }, + "AudioOnlyImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "AudioTrackType": { + "type": "string" + }, + "SegmentType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioPidSelection": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelector": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSelectorSettings": { + "additionalProperties": false, + "properties": { + "AudioLanguageSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" + }, + "AudioPidSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" + }, + "AudioTrackSelection": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectorName": { + "type": "string" + }, + "AudioSilenceThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrack": { + "additionalProperties": false, + "properties": { + "Track": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AudioTrackSelection": { + "additionalProperties": false, + "properties": { + "Tracks": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { + "additionalProperties": false, + "properties": { + "ErrorClearTimeMsec": { + "type": "number" + }, + "FailoverConditions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" + }, + "type": "array" + }, + "InputPreference": { + "type": "string" + }, + "SecondaryInputId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailBlanking": { + "additionalProperties": false, + "properties": { + "AvailBlankingImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailConfiguration": { + "additionalProperties": false, + "properties": { + "AvailSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.AvailSettings": { + "additionalProperties": false, + "properties": { + "Scte35SpliceInsert": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BlackoutSlate": { + "additionalProperties": false, + "properties": { + "BlackoutSlateImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkEndBlackout": { + "type": "string" + }, + "NetworkEndBlackoutImage": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "NetworkId": { + "type": "string" + }, + "State": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.BurnInDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDescription": { + "additionalProperties": false, + "properties": { + "CaptionSelectorName": { + "type": "string" + }, + "DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionDestinationSettings": { + "additionalProperties": false, + "properties": { + "AribDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" + }, + "BurnInDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" + }, + "EbuTtDDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionLanguageMapping": { + "additionalProperties": false, + "properties": { + "CaptionChannel": { + "type": "number" + }, + "LanguageCode": { + "type": "string" + }, + "LanguageDescription": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionRectangle": { + "additionalProperties": false, + "properties": { + "Height": { + "type": "number" + }, + "LeftOffset": { + "type": "number" + }, + "TopOffset": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelector": { + "additionalProperties": false, + "properties": { + "LanguageCode": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CaptionSelectorSettings": { + "additionalProperties": false, + "properties": { + "AncillarySourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" + }, + "AribSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" + }, + "DvbSubSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" + }, + "Scte20SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" + }, + "Scte27SourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" + }, + "TeletextSourceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.CdiInputSpecification": { + "additionalProperties": false, + "properties": { + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbNitSettings": { + "additionalProperties": false, + "properties": { + "NetworkId": { + "type": "number" + }, + "NetworkName": { + "type": "string" + }, + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSdtSettings": { + "additionalProperties": false, + "properties": { + "OutputSdt": { + "type": "string" + }, + "RepInterval": { + "type": "number" + }, + "ServiceName": { + "type": "string" + }, + "ServiceProviderName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubDestinationSettings": { + "additionalProperties": false, + "properties": { + "Alignment": { + "type": "string" + }, + "BackgroundColor": { + "type": "string" + }, + "BackgroundOpacity": { + "type": "number" + }, + "Font": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "FontColor": { + "type": "string" + }, + "FontOpacity": { + "type": "number" + }, + "FontResolution": { + "type": "number" + }, + "FontSize": { + "type": "string" + }, + "OutlineColor": { + "type": "string" + }, + "OutlineSize": { + "type": "number" + }, + "ShadowColor": { + "type": "string" + }, + "ShadowOpacity": { + "type": "number" + }, + "ShadowXOffset": { + "type": "number" + }, + "ShadowYOffset": { + "type": "number" + }, + "TeletextGridControl": { + "type": "string" + }, + "XPosition": { + "type": "number" + }, + "YPosition": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbSubSourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.DvbTdtSettings": { + "additionalProperties": false, + "properties": { + "RepInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Eac3Settings": { + "additionalProperties": false, + "properties": { + "AttenuationControl": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BitstreamMode": { + "type": "string" + }, + "CodingMode": { + "type": "string" + }, + "DcFilter": { + "type": "string" + }, + "Dialnorm": { + "type": "number" + }, + "DrcLine": { + "type": "string" + }, + "DrcRf": { + "type": "string" + }, + "LfeControl": { + "type": "string" + }, + "LfeFilter": { + "type": "string" + }, + "LoRoCenterMixLevel": { + "type": "number" + }, + "LoRoSurroundMixLevel": { + "type": "number" + }, + "LtRtCenterMixLevel": { + "type": "number" + }, + "LtRtSurroundMixLevel": { + "type": "number" + }, + "MetadataControl": { + "type": "string" + }, + "PassthroughControl": { + "type": "string" + }, + "PhaseControl": { + "type": "string" + }, + "StereoDownmix": { + "type": "string" + }, + "SurroundExMode": { + "type": "string" + }, + "SurroundMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { + "additionalProperties": false, + "properties": { + "CopyrightHolder": { + "type": "string" + }, + "FillLineGap": { + "type": "string" + }, + "FontFamily": { + "type": "string" + }, + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.EmbeddedSourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Scte20Detection": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + }, + "Source608TrackNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.EncoderSettings": { + "additionalProperties": false, + "properties": { + "AudioDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" + }, + "type": "array" + }, + "AvailBlanking": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" + }, + "AvailConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" + }, + "BlackoutSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" + }, + "CaptionDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" + }, + "type": "array" + }, + "FeatureActivations": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" + }, + "GlobalConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" + }, + "MotionGraphicsConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" + }, + "NielsenConfiguration": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" + }, + "OutputGroups": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" + }, + "type": "array" + }, + "TimecodeConfig": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" + }, + "VideoDescriptions": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverCondition": { + "additionalProperties": false, + "properties": { + "FailoverConditionSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FailoverConditionSettings": { + "additionalProperties": false, + "properties": { + "AudioSilenceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" + }, + "InputLossSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" + }, + "VideoBlackSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FeatureActivations": { + "additionalProperties": false, + "properties": { + "InputPrepareScheduleActions": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FecOutputSettings": { + "additionalProperties": false, + "properties": { + "ColumnDepth": { + "type": "number" + }, + "IncludeFec": { + "type": "string" + }, + "RowLength": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Fmp4HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FrameCaptureCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { + "additionalProperties": false, + "properties": { + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.FrameCaptureSettings": { + "additionalProperties": false, + "properties": { + "CaptureInterval": { + "type": "number" + }, + "CaptureIntervalUnits": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.GlobalConfiguration": { + "additionalProperties": false, + "properties": { + "InitialAudioGain": { + "type": "number" + }, + "InputEndAction": { + "type": "string" + }, + "InputLossBehavior": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" + }, + "OutputLockingMode": { + "type": "string" + }, + "OutputTimingSource": { + "type": "string" + }, + "SupportLowFramerateInputs": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H264Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufFillPct": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" + }, + "EntropyEncoding": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "ForceFieldPictures": { + "type": "string" + }, + "FramerateControl": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopBReference": { + "type": "string" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "NumRefFrames": { + "type": "number" + }, + "ParControl": { + "type": "string" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QualityLevel": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Softness": { + "type": "number" + }, + "SpatialAq": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "Syntax": { + "type": "string" + }, + "TemporalAq": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265ColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "ColorSpacePassthroughSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + }, + "Rec601Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" + }, + "Rec709Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.H265Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "AlternativeTransferFunction": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufSize": { + "type": "number" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FlickerAq": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "Level": { + "type": "string" + }, + "LookAheadRateControl": { + "type": "string" + }, + "MaxBitrate": { + "type": "number" + }, + "MinIInterval": { + "type": "number" + }, + "ParDenominator": { + "type": "number" + }, + "ParNumerator": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "QvbrQualityLevel": { + "type": "number" + }, + "RateControlMode": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SceneChangeDetect": { + "type": "string" + }, + "Slices": { + "type": "number" + }, + "Tier": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Hdr10Settings": { + "additionalProperties": false, + "properties": { + "MaxCll": { + "type": "number" + }, + "MaxFall": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsAkamaiSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "Salt": { + "type": "string" + }, + "Token": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsBasicPutSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsCdnSettings": { + "additionalProperties": false, + "properties": { + "HlsAkamaiSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" + }, + "HlsS3Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" + }, + "HlsWebdavSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BaseUrlContent": { + "type": "string" + }, + "BaseUrlContent1": { + "type": "string" + }, + "BaseUrlManifest": { + "type": "string" + }, + "BaseUrlManifest1": { + "type": "string" + }, + "CaptionLanguageMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" + }, + "type": "array" + }, + "CaptionLanguageSetting": { + "type": "string" + }, + "ClientCache": { + "type": "string" + }, + "CodecSpecification": { + "type": "string" + }, + "ConstantIv": { + "type": "string" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "DirectoryStructure": { + "type": "string" + }, + "DiscontinuityTags": { + "type": "string" + }, + "EncryptionType": { + "type": "string" + }, + "HlsCdnSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" + }, + "HlsId3SegmentTagging": { + "type": "string" + }, + "IFrameOnlyPlaylists": { + "type": "string" + }, + "IncompleteSegmentBehavior": { + "type": "string" + }, + "IndexNSegments": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "IvInManifest": { + "type": "string" + }, + "IvSource": { + "type": "string" + }, + "KeepSegments": { + "type": "number" + }, + "KeyFormat": { + "type": "string" + }, + "KeyFormatVersions": { + "type": "string" + }, + "KeyProviderSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" + }, + "ManifestCompression": { + "type": "string" + }, + "ManifestDurationFormat": { + "type": "string" + }, + "MinSegmentLength": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "OutputSelection": { + "type": "string" + }, + "ProgramDateTime": { + "type": "string" + }, + "ProgramDateTimePeriod": { + "type": "number" + }, + "RedundantManifest": { + "type": "string" + }, + "SegmentLength": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SegmentsPerSubdirectory": { + "type": "number" + }, + "StreamInfResolution": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + }, + "TimestampDeltaMilliseconds": { + "type": "number" + }, + "TsFileMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsInputSettings": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "type": "number" + }, + "BufferSegments": { + "type": "number" + }, + "Retries": { + "type": "number" + }, + "RetryInterval": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsMediaStoreSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "MediaStoreStorageClass": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" + }, + "NameModifier": { + "type": "string" + }, + "SegmentModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsS3Settings": { + "additionalProperties": false, + "properties": { + "CannedAcl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsSettings": { + "additionalProperties": false, + "properties": { + "AudioOnlyHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" + }, + "FrameCaptureHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" + }, + "StandardHlsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HlsWebdavSettings": { + "additionalProperties": false, + "properties": { + "ConnectionRetryInterval": { + "type": "number" + }, + "FilecacheDuration": { + "type": "number" + }, + "HttpTransferMode": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.InputAttachment": { + "additionalProperties": false, + "properties": { + "AutomaticInputFailoverSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" + }, + "InputAttachmentName": { + "type": "string" + }, + "InputId": { + "type": "string" + }, + "InputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputChannelLevel": { + "additionalProperties": false, + "properties": { + "Gain": { + "type": "number" + }, + "InputChannel": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLocation": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Uri": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossBehavior": { + "additionalProperties": false, + "properties": { + "BlackFrameMsec": { + "type": "number" + }, + "InputLossImageColor": { + "type": "string" + }, + "InputLossImageSlate": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "InputLossImageType": { + "type": "string" + }, + "RepeatFrameMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputLossFailoverSettings": { + "additionalProperties": false, + "properties": { + "InputLossThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSettings": { + "additionalProperties": false, + "properties": { + "AudioSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" + }, + "type": "array" + }, + "CaptionSelectors": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" + }, + "type": "array" + }, + "DeblockFilter": { + "type": "string" + }, + "DenoiseFilter": { + "type": "string" + }, + "FilterStrength": { + "type": "number" + }, + "InputFilter": { + "type": "string" + }, + "NetworkInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" + }, + "Smpte2038DataPreference": { + "type": "string" + }, + "SourceEndBehavior": { + "type": "string" + }, + "VideoSelector": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.InputSpecification": { + "additionalProperties": false, + "properties": { + "Codec": { + "type": "string" + }, + "MaximumBitrate": { + "type": "string" + }, + "Resolution": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.KeyProviderSettings": { + "additionalProperties": false, + "properties": { + "StaticKeySettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M2tsSettings": { + "additionalProperties": false, + "properties": { + "AbsentInputAudioBehavior": { + "type": "string" + }, + "Arib": { + "type": "string" + }, + "AribCaptionsPid": { + "type": "string" + }, + "AribCaptionsPidControl": { + "type": "string" + }, + "AudioBufferModel": { + "type": "string" + }, + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "AudioStreamType": { + "type": "string" + }, + "Bitrate": { + "type": "number" + }, + "BufferModel": { + "type": "string" + }, + "CcDescriptor": { + "type": "string" + }, + "DvbNitSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" + }, + "DvbSdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" + }, + "DvbSubPids": { + "type": "string" + }, + "DvbTdtSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" + }, + "DvbTeletextPid": { + "type": "string" + }, + "Ebif": { + "type": "string" + }, + "EbpAudioInterval": { + "type": "string" + }, + "EbpLookaheadMs": { + "type": "number" + }, + "EbpPlacement": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "EsRateInPes": { + "type": "string" + }, + "EtvPlatformPid": { + "type": "string" + }, + "EtvSignalPid": { + "type": "string" + }, + "FragmentTime": { + "type": "number" + }, + "Klv": { + "type": "string" + }, + "KlvDataPids": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "NullPacketBitrate": { + "type": "number" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "RateMode": { + "type": "string" + }, + "Scte27Pids": { + "type": "string" + }, + "Scte35Control": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "SegmentationMarkers": { + "type": "string" + }, + "SegmentationStyle": { + "type": "string" + }, + "SegmentationTime": { + "type": "number" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.M3u8Settings": { + "additionalProperties": false, + "properties": { + "AudioFramesPerPes": { + "type": "number" + }, + "AudioPids": { + "type": "string" + }, + "EcmPid": { + "type": "string" + }, + "NielsenId3Behavior": { + "type": "string" + }, + "PatInterval": { + "type": "number" + }, + "PcrControl": { + "type": "string" + }, + "PcrPeriod": { + "type": "number" + }, + "PcrPid": { + "type": "string" + }, + "PmtInterval": { + "type": "number" + }, + "PmtPid": { + "type": "string" + }, + "ProgramNum": { + "type": "number" + }, + "Scte35Behavior": { + "type": "string" + }, + "Scte35Pid": { + "type": "string" + }, + "TimedMetadataBehavior": { + "type": "string" + }, + "TimedMetadataPid": { + "type": "string" + }, + "TransportStreamId": { + "type": "number" + }, + "VideoPid": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageGroupSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MediaPackageOutputSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { + "additionalProperties": false, + "properties": { + "MotionGraphicsInsertion": { + "type": "string" + }, + "MotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MotionGraphicsSettings": { + "additionalProperties": false, + "properties": { + "HtmlMotionGraphicsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mp2Settings": { + "additionalProperties": false, + "properties": { + "Bitrate": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2FilterSettings": { + "additionalProperties": false, + "properties": { + "TemporalFilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Mpeg2Settings": { + "additionalProperties": false, + "properties": { + "AdaptiveQuantization": { + "type": "string" + }, + "AfdSignaling": { + "type": "string" + }, + "ColorMetadata": { + "type": "string" + }, + "ColorSpace": { + "type": "string" + }, + "DisplayAspectRatio": { + "type": "string" + }, + "FilterSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" + }, + "FixedAfd": { + "type": "string" + }, + "FramerateDenominator": { + "type": "number" + }, + "FramerateNumerator": { + "type": "number" + }, + "GopClosedCadence": { + "type": "number" + }, + "GopNumBFrames": { + "type": "number" + }, + "GopSize": { + "type": "number" + }, + "GopSizeUnits": { + "type": "string" + }, + "ScanType": { + "type": "string" + }, + "SubgopLength": { + "type": "string" + }, + "TimecodeInsertion": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothGroupSettings": { + "additionalProperties": false, + "properties": { + "AcquisitionPointId": { + "type": "string" + }, + "AudioOnlyTimecodeControl": { + "type": "string" + }, + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "EventId": { + "type": "string" + }, + "EventIdMode": { + "type": "string" + }, + "EventStopBehavior": { + "type": "string" + }, + "FilecacheDuration": { + "type": "number" + }, + "FragmentLength": { + "type": "number" + }, + "InputLossAction": { + "type": "string" + }, + "NumRetries": { + "type": "number" + }, + "RestartDelay": { + "type": "number" + }, + "SegmentationMode": { + "type": "string" + }, + "SendDelayMs": { + "type": "number" + }, + "SparseTrackType": { + "type": "string" + }, + "StreamManifestBehavior": { + "type": "string" + }, + "TimestampOffset": { + "type": "string" + }, + "TimestampOffsetMode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MsSmoothOutputSettings": { + "additionalProperties": false, + "properties": { + "H265PackagingType": { + "type": "string" + }, + "NameModifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexGroupSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexOutputSettings": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { + "additionalProperties": false, + "properties": { + "MultiplexId": { + "type": "string" + }, + "ProgramName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NetworkInputSettings": { + "additionalProperties": false, + "properties": { + "HlsInputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" + }, + "ServerValidation": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.NielsenConfiguration": { + "additionalProperties": false, + "properties": { + "DistributorId": { + "type": "string" + }, + "NielsenPcmToId3Tagging": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Output": { + "additionalProperties": false, + "properties": { + "AudioDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CaptionDescriptionNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OutputName": { + "type": "string" + }, + "OutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" + }, + "VideoDescriptionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestination": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "MediaPackageSettings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" + }, + "type": "array" + }, + "MultiplexSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" + }, + "Settings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputDestinationSettings": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroup": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "OutputGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" + }, + "Outputs": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Output" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputGroupSettings": { + "additionalProperties": false, + "properties": { + "ArchiveGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" + }, + "RtmpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" + }, + "UdpGroupSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputLocationRef": { + "additionalProperties": false, + "properties": { + "DestinationRefId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.OutputSettings": { + "additionalProperties": false, + "properties": { + "ArchiveOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" + }, + "RtmpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" + }, + "UdpOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.PassThroughSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RawSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec601Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Rec709Settings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RemixSettings": { + "additionalProperties": false, + "properties": { + "ChannelMappings": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" + }, + "type": "array" + }, + "ChannelsIn": { + "type": "number" + }, + "ChannelsOut": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpGroupSettings": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AuthenticationScheme": { + "type": "string" + }, + "CacheFullBehavior": { + "type": "string" + }, + "CacheLength": { + "type": "number" + }, + "CaptionData": { + "type": "string" + }, + "InputLossAction": { + "type": "string" + }, + "RestartDelay": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.RtmpOutputSettings": { + "additionalProperties": false, + "properties": { + "CertificateMode": { + "type": "string" + }, + "ConnectionRetryInterval": { + "type": "number" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "NumRetries": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte20SourceSettings": { + "additionalProperties": false, + "properties": { + "Convert608To708": { + "type": "string" + }, + "Source608ChannelNumber": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27DestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte27SourceSettings": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35SpliceInsert": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.Scte35TimeSignalApos": { + "additionalProperties": false, + "properties": { + "AdAvailOffset": { + "type": "number" + }, + "NoRegionalBlackoutFlag": { + "type": "string" + }, + "WebDeliveryAllowedFlag": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.StandardHlsSettings": { + "additionalProperties": false, + "properties": { + "AudioRenditionSets": { + "type": "string" + }, + "M3u8Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.StaticKeySettings": { + "additionalProperties": false, + "properties": { + "KeyProviderServer": { + "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" + }, + "StaticKeyValue": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Channel.TeletextSourceSettings": { + "additionalProperties": false, + "properties": { + "OutputRectangle": { + "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" + }, + "PageNumber": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TemporalFilterSettings": { + "additionalProperties": false, + "properties": { + "PostFilterSharpening": { + "type": "string" + }, + "Strength": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TimecodeConfig": { + "additionalProperties": false, + "properties": { + "Source": { + "type": "string" + }, + "SyncThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.TtmlDestinationSettings": { + "additionalProperties": false, + "properties": { + "StyleControl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpContainerSettings": { + "additionalProperties": false, + "properties": { + "M2tsSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpGroupSettings": { + "additionalProperties": false, + "properties": { + "InputLossAction": { + "type": "string" + }, + "TimedMetadataId3Frame": { + "type": "string" + }, + "TimedMetadataId3Period": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.UdpOutputSettings": { + "additionalProperties": false, + "properties": { + "BufferMsec": { + "type": "number" + }, + "ContainerSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" + }, + "Destination": { + "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" + }, + "FecOutputSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { + "additionalProperties": false, + "properties": { + "BlackDetectThreshold": { + "type": "number" + }, + "VideoBlackThresholdMsec": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoCodecSettings": { + "additionalProperties": false, + "properties": { + "FrameCaptureSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" + }, + "H264Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" + }, + "H265Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" + }, + "Mpeg2Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoDescription": { + "additionalProperties": false, + "properties": { + "CodecSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" + }, + "Height": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RespondToAfd": { + "type": "string" + }, + "ScalingBehavior": { + "type": "string" + }, + "Sharpness": { + "type": "number" + }, + "Width": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelector": { + "additionalProperties": false, + "properties": { + "ColorSpace": { + "type": "string" + }, + "ColorSpaceSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" + }, + "ColorSpaceUsage": { + "type": "string" + }, + "SelectorSettings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { + "additionalProperties": false, + "properties": { + "Hdr10Settings": { + "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorPid": { + "additionalProperties": false, + "properties": { + "Pid": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorProgramId": { + "additionalProperties": false, + "properties": { + "ProgramId": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VideoSelectorSettings": { + "additionalProperties": false, + "properties": { + "VideoSelectorPid": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" + }, + "VideoSelectorProgramId": { + "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.VpcOutputSettings": { + "additionalProperties": false, + "properties": { + "PublicAddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WavSettings": { + "additionalProperties": false, + "properties": { + "BitDepth": { + "type": "number" + }, + "CodingMode": { + "type": "string" + }, + "SampleRate": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaLive::Channel.WebvttDestinationSettings": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::MediaLive::Input": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" + }, + "type": "array" + }, + "InputDevices": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" + }, + "type": "array" + }, + "InputSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MediaConnectFlows": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" + }, + "type": "array" + }, + "Tags": { + "type": "object" + }, + "Type": { + "type": "string" + }, + "Vpc": { + "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::Input" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::Input.InputDestinationRequest": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceRequest": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputDeviceSettings": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputSourceRequest": { + "additionalProperties": false, + "properties": { + "PasswordParam": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.InputVpcRequest": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::MediaLive::Input.MediaConnectFlowRequest": { + "additionalProperties": false, + "properties": { + "FlowArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + }, + "WhitelistRules": { + "items": { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaLive::InputSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::Asset": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "PackagingGroupId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "SourceArn": { + "type": "string" + }, + "SourceRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId", + "SourceArn", + "SourceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Asset" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Asset.EgressEndpoint": { + "additionalProperties": false, + "properties": { + "PackagingConfigurationId": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "PackagingConfigurationId", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "IngressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::Channel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::Channel.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" + }, + "ChannelId": { + "type": "string" + }, + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" + }, + "Description": { + "type": "string" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" + }, + "Id": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" + }, + "Origination": { + "type": "string" + }, + "StartoverWindowSeconds": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TimeDelaySeconds": { + "type": "number" + }, + "Whitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::OriginEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentPrefix": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashEncryption": { + "additionalProperties": false, + "properties": { + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.DashPackage": { + "additionalProperties": false, + "properties": { + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" + }, + "ManifestLayout": { + "type": "string" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "MinUpdatePeriodSeconds": { + "type": "number" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Profile": { + "type": "string" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "type": "number" + }, + "UtcTiming": { + "type": "string" + }, + "UtcTimingUri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "KeyRotationIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Id": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.HlsPackage": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "AdTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdsOnDeliveryRestrictions": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "PlaylistType": { + "type": "string" + }, + "PlaylistWindowSeconds": { + "type": "number" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" + }, + "ManifestWindowSeconds": { + "type": "number" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "CertificateArn": { + "type": "string" + }, + "ResourceId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::OriginEndpoint.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CmafPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" + }, + "DashPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" + }, + "HlsPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" + }, + "Id": { + "type": "string" + }, + "MssPackage": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" + }, + "PackagingGroupId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashManifest": { + "additionalProperties": false, + "properties": { + "ManifestLayout": { + "type": "string" + }, + "ManifestName": { + "type": "string" + }, + "MinBufferTimeSeconds": { + "type": "number" + }, + "Profile": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.DashPackage": { + "additionalProperties": false, + "properties": { + "DashManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" + }, + "type": "array" + }, + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" + }, + "IncludeEncoderConfigurationInSegments": { + "type": "boolean" + }, + "PeriodTriggers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "SegmentTemplateFormat": { + "type": "string" + } + }, + "required": [ + "DashManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { + "additionalProperties": false, + "properties": { + "ConstantInitializationVector": { + "type": "string" + }, + "EncryptionMethod": { + "type": "string" + }, + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { + "additionalProperties": false, + "properties": { + "AdMarkers": { + "type": "string" + }, + "IncludeIframeOnlyStream": { + "type": "boolean" + }, + "ManifestName": { + "type": "string" + }, + "ProgramDateTimeIntervalSeconds": { + "type": "number" + }, + "RepeatExtXKey": { + "type": "boolean" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" + }, + "HlsManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + }, + "UseAudioRenditionGroup": { + "type": "boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { + "additionalProperties": false, + "properties": { + "SpekeKeyProvider": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssManifest": { + "additionalProperties": false, + "properties": { + "ManifestName": { + "type": "string" + }, + "StreamSelection": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.MssPackage": { + "additionalProperties": false, + "properties": { + "Encryption": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" + }, + "MssManifests": { + "items": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" + }, + "type": "array" + }, + "SegmentDurationSeconds": { + "type": "number" + } + }, + "required": [ + "MssManifests" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { + "additionalProperties": false, + "properties": { + "RoleArn": { + "type": "string" + }, + "SystemIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Url": { + "type": "string" + } + }, + "required": [ + "RoleArn", + "SystemIds", + "Url" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { + "additionalProperties": false, + "properties": { + "MaxVideoBitsPerSecond": { + "type": "number" + }, + "MinVideoBitsPerSecond": { + "type": "number" + }, + "StreamOrder": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Authorization": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" + }, + "EgressAccessLogs": { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" + }, + "Id": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaPackage::PackagingGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.Authorization": { + "additionalProperties": false, + "properties": { + "CdnIdentifierSecret": { + "type": "string" + }, + "SecretsRoleArn": { + "type": "string" + } + }, + "required": [ + "CdnIdentifierSecret", + "SecretsRoleArn" + ], + "type": "object" + }, + "AWS::MediaPackage::PackagingGroup.LogConfiguration": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLoggingEnabled": { + "type": "boolean" + }, + "ContainerName": { + "type": "string" + }, + "CorsPolicy": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" + }, + "type": "array" + }, + "LifecyclePolicy": { + "type": "string" + }, + "MetricPolicy": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" + }, + "Policy": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ContainerName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::MediaStore::Container" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::MediaStore::Container.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicy": { + "additionalProperties": false, + "properties": { + "ContainerLevelMetrics": { + "type": "string" + }, + "MetricPolicyRules": { + "items": { + "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" + }, + "type": "array" + } + }, + "required": [ + "ContainerLevelMetrics" + ], + "type": "object" + }, + "AWS::MediaStore::Container.MetricPolicyRule": { + "additionalProperties": false, + "properties": { + "ObjectGroup": { + "type": "string" + }, + "ObjectGroupName": { + "type": "string" + } + }, + "required": [ + "ObjectGroup", + "ObjectGroupName" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EngineVersion": { + "type": "string" + }, + "IamAuthEnabled": { + "type": "boolean" + }, + "KmsKeyId": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "RestoreToTime": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Neptune::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::Neptune::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Neptune::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Neptune::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeleteProtection": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "FirewallPolicyArn": { + "type": "string" + }, + "FirewallPolicyChangeProtection": { + "type": "boolean" + }, + "SubnetChangeProtection": { + "type": "boolean" + }, + "SubnetMappings": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallName", + "FirewallPolicyArn", + "SubnetMappings", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::Firewall" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::Firewall.SubnetMapping": { + "additionalProperties": false, + "properties": { + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "FirewallPolicy": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" + }, + "FirewallPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "FirewallPolicy", + "FirewallPolicyName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::FirewallPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { + "additionalProperties": false, + "properties": { + "StatefulRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" + }, + "type": "array" + }, + "StatelessCustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" + }, + "type": "array" + }, + "StatelessDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessFragmentDefaultActions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StatelessRuleGroupReferences": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" + }, + "type": "array" + } + }, + "required": [ + "StatelessDefaultActions", + "StatelessFragmentDefaultActions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "ResourceArn": { + "type": "string" + } + }, + "required": [ + "Priority", + "ResourceArn" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallArn": { + "type": "string" + }, + "FirewallName": { + "type": "string" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" + } + }, + "required": [ + "FirewallArn", + "LoggingConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::LoggingConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { + "additionalProperties": false, + "properties": { + "LogDestination": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LogDestinationType": { + "type": "string" + }, + "LogType": { + "type": "string" + } + }, + "required": [ + "LogDestination", + "LogDestinationType", + "LogType" + ], + "type": "object" + }, + "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "LogDestinationConfigs": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" + }, + "type": "array" + } + }, + "required": [ + "LogDestinationConfigs" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "RuleGroup": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" + }, + "RuleGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Capacity", + "RuleGroupName", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkFirewall::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { + "additionalProperties": false, + "properties": { + "PublishMetricAction": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Address": { + "additionalProperties": false, + "properties": { + "AddressDefinition": { + "type": "string" + } + }, + "required": [ + "AddressDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.CustomAction": { + "additionalProperties": false, + "properties": { + "ActionDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" + }, + "ActionName": { + "type": "string" + } + }, + "required": [ + "ActionDefinition", + "ActionName" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Dimension": { + "additionalProperties": false, + "properties": { + "Value": { + "type": "string" + } + }, + "required": [ + "Value" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.Header": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "DestinationPort": { + "type": "string" + }, + "Direction": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "Source": { + "type": "string" + }, + "SourcePort": { + "type": "string" + } + }, + "required": [ + "Destination", + "DestinationPort", + "Direction", + "Protocol", + "Source", + "SourcePort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.IPSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { + "additionalProperties": false, + "properties": { + "DestinationPorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "Protocols": { + "items": { + "type": "number" + }, + "type": "array" + }, + "SourcePorts": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" + }, + "type": "array" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" + }, + "type": "array" + }, + "TCPFlags": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortRange": { + "additionalProperties": false, + "properties": { + "FromPort": { + "type": "number" + }, + "ToPort": { + "type": "number" + } + }, + "required": [ + "FromPort", + "ToPort" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PortSet": { + "additionalProperties": false, + "properties": { + "Definition": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" + }, + "type": "array" + } + }, + "required": [ + "Dimensions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MatchAttributes": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" + } + }, + "required": [ + "Actions", + "MatchAttributes" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleGroup": { + "additionalProperties": false, + "properties": { + "RuleVariables": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" + }, + "RulesSource": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" + } + }, + "required": [ + "RulesSource" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleOption": { + "additionalProperties": false, + "properties": { + "Keyword": { + "type": "string" + }, + "Settings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Keyword" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RuleVariables": { + "additionalProperties": false, + "properties": { + "IPSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" + } + }, + "type": "object" + }, + "PortSets": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSource": { + "additionalProperties": false, + "properties": { + "RulesSourceList": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" + }, + "RulesString": { + "type": "string" + }, + "StatefulRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" + }, + "type": "array" + }, + "StatelessRulesAndCustomActions": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" + } + }, + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { + "additionalProperties": false, + "properties": { + "GeneratedRulesType": { + "type": "string" + }, + "TargetTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Targets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "GeneratedRulesType", + "TargetTypes", + "Targets" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatefulRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Header": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" + }, + "RuleOptions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" + }, + "type": "array" + } + }, + "required": [ + "Action", + "Header", + "RuleOptions" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRule": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "RuleDefinition": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" + } + }, + "required": [ + "Priority", + "RuleDefinition" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { + "additionalProperties": false, + "properties": { + "CustomActions": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" + }, + "type": "array" + }, + "StatelessRules": { + "items": { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" + }, + "type": "array" + } + }, + "required": [ + "StatelessRules" + ], + "type": "object" + }, + "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { + "additionalProperties": false, + "properties": { + "Flags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Masks": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Flags" + ], + "type": "object" + }, + "AWS::NetworkManager::CustomerGatewayAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomerGatewayArn": { + "type": "string" + }, + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "CustomerGatewayArn", + "DeviceId", + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::CustomerGatewayAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Device.Location" + }, + "Model": { + "type": "string" + }, + "SerialNumber": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "Vendor": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Device.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::GlobalNetwork": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::GlobalNetwork" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::NetworkManager::Link": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bandwidth": { + "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" + }, + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Provider": { + "type": "string" + }, + "SiteId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Bandwidth", + "GlobalNetworkId", + "SiteId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Link" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Link.Bandwidth": { + "additionalProperties": false, + "properties": { + "DownloadSpeed": { + "type": "number" + }, + "UploadSpeed": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::NetworkManager::LinkAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeviceId": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "LinkId": { + "type": "string" + } + }, + "required": [ + "DeviceId", + "GlobalNetworkId", + "LinkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::LinkAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GlobalNetworkId": { + "type": "string" + }, + "Location": { + "$ref": "#/definitions/AWS::NetworkManager::Site.Location" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GlobalNetworkId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::Site" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NetworkManager::Site.Location": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Latitude": { + "type": "string" + }, + "Longitude": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NetworkManager::TransitGatewayRegistration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GlobalNetworkId": { + "type": "string" + }, + "TransitGatewayArn": { + "type": "string" + } + }, + "required": [ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NetworkManager::TransitGatewayRegistration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "LaunchProfileProtocolVersions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "StreamConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" + }, + "StudioComponentIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2SubnetIds", + "LaunchProfileProtocolVersions", + "Name", + "StreamConfiguration", + "StudioComponentIds", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::LaunchProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { + "additionalProperties": false, + "properties": { + "ClipboardMode": { + "type": "string" + }, + "Ec2InstanceTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxSessionLengthInMinutes": { + "type": "number" + }, + "StreamingImageIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClipboardMode", + "Ec2InstanceTypes", + "StreamingImageIds" + ], + "type": "object" + }, + "AWS::NimbleStudio::StreamingImage": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Ec2ImageId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StudioId": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Ec2ImageId", + "Name", + "StudioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StreamingImage" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdminRoleArn": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "StudioEncryptionConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" + }, + "StudioName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "UserRoleArn": { + "type": "string" + } + }, + "required": [ + "AdminRoleArn", + "DisplayName", + "StudioName", + "UserRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::Studio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "KeyArn": { + "type": "string" + }, + "KeyType": { + "type": "string" + } + }, + "required": [ + "KeyType" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" + }, + "Description": { + "type": "string" + }, + "Ec2SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "InitializationScripts": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScriptParameters": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" + }, + "type": "array" + }, + "StudioId": { + "type": "string" + }, + "Subtype": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StudioId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::NimbleStudio::StudioComponent" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { + "additionalProperties": false, + "properties": { + "ComputerAttributes": { + "items": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" + }, + "type": "array" + }, + "DirectoryId": { + "type": "string" + }, + "OrganizationalUnitDistinguishedName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryUser": { + "type": "string" + }, + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "FileSystemId": { + "type": "string" + }, + "LinuxMountPoint": { + "type": "string" + }, + "ShareName": { + "type": "string" + }, + "WindowsMountDrive": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { + "additionalProperties": false, + "properties": { + "ActiveDirectoryConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" + }, + "ComputeFarmConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" + }, + "LicenseServiceConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" + }, + "SharedFileSystemConfiguration": { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" + } + }, + "type": "object" + }, + "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { + "additionalProperties": false, + "properties": { + "LaunchProfileProtocolVersion": { + "type": "string" + }, + "Platform": { + "type": "string" + }, + "RunContext": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppSource": { + "$ref": "#/definitions/AWS::OpsWorks::App.Source" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DataSources": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableSsl": { + "type": "boolean" + }, + "Environment": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Shortname": { + "type": "string" + }, + "SslConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" + }, + "StackId": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::App.DataSource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.EnvironmentVariable": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Secure": { + "type": "boolean" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::OpsWorks::App.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::App.SslConfiguration": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Chain": { + "type": "string" + }, + "PrivateKey": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::ElasticLoadBalancerAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ElasticLoadBalancerName": { + "type": "string" + }, + "LayerId": { + "type": "string" + } + }, + "required": [ + "ElasticLoadBalancerName", + "LayerId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::ElasticLoadBalancerAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "AmiId": { + "type": "string" + }, + "Architecture": { + "type": "string" + }, + "AutoScalingType": { + "type": "string" + }, + "AvailabilityZone": { + "type": "string" + }, + "BlockDeviceMappings": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" + }, + "type": "array" + }, + "EbsOptimized": { + "type": "boolean" + }, + "ElasticIps": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Hostname": { + "type": "string" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "InstanceType": { + "type": "string" + }, + "LayerIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Os": { + "type": "string" + }, + "RootDeviceType": { + "type": "string" + }, + "SshKeyName": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + }, + "Tenancy": { + "type": "string" + }, + "TimeBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" + }, + "VirtualizationType": { + "type": "string" + }, + "Volumes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "InstanceType", + "LayerIds", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Instance.BlockDeviceMapping": { + "additionalProperties": false, + "properties": { + "DeviceName": { + "type": "string" + }, + "Ebs": { + "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" + }, + "NoDevice": { + "type": "string" + }, + "VirtualName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.EbsBlockDevice": { + "additionalProperties": false, + "properties": { + "DeleteOnTermination": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "SnapshotId": { + "type": "string" + }, + "VolumeSize": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "Friday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Monday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Saturday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Sunday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Thursday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tuesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Wednesday": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "AutoAssignElasticIps": { + "type": "boolean" + }, + "AutoAssignPublicIps": { + "type": "boolean" + }, + "CustomInstanceProfileArn": { + "type": "string" + }, + "CustomJson": { + "type": "object" + }, + "CustomRecipes": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" + }, + "CustomSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableAutoHealing": { + "type": "boolean" + }, + "InstallUpdatesOnBoot": { + "type": "boolean" + }, + "LifecycleEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" + }, + "LoadBasedAutoScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" + }, + "Name": { + "type": "string" + }, + "Packages": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shortname": { + "type": "string" + }, + "StackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "UseEbsOptimizedInstances": { + "type": "boolean" + }, + "VolumeConfigurations": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" + }, + "type": "array" + } + }, + "required": [ + "AutoAssignElasticIps", + "AutoAssignPublicIps", + "EnableAutoHealing", + "Name", + "Shortname", + "StackId", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Layer" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Layer.AutoScalingThresholds": { + "additionalProperties": false, + "properties": { + "CpuThreshold": { + "type": "number" + }, + "IgnoreMetricsTime": { + "type": "number" + }, + "InstanceCount": { + "type": "number" + }, + "LoadThreshold": { + "type": "number" + }, + "MemoryThreshold": { + "type": "number" + }, + "ThresholdsWaitTime": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { + "additionalProperties": false, + "properties": { + "ShutdownEventConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { + "additionalProperties": false, + "properties": { + "DownScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + }, + "Enable": { + "type": "boolean" + }, + "UpScaling": { + "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.Recipes": { + "additionalProperties": false, + "properties": { + "Configure": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Deploy": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Setup": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Shutdown": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Undeploy": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { + "additionalProperties": false, + "properties": { + "DelayUntilElbConnectionsDrained": { + "type": "boolean" + }, + "ExecutionTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Layer.VolumeConfiguration": { + "additionalProperties": false, + "properties": { + "Encrypted": { + "type": "boolean" + }, + "Iops": { + "type": "number" + }, + "MountPoint": { + "type": "string" + }, + "NumberOfDisks": { + "type": "number" + }, + "RaidLevel": { + "type": "number" + }, + "Size": { + "type": "number" + }, + "VolumeType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AgentVersion": { + "type": "string" + }, + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "ChefConfiguration": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" + }, + "CloneAppIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClonePermissions": { + "type": "boolean" + }, + "ConfigurationManager": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" + }, + "CustomCookbooksSource": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" + }, + "CustomJson": { + "type": "object" + }, + "DefaultAvailabilityZone": { + "type": "string" + }, + "DefaultInstanceProfileArn": { + "type": "string" + }, + "DefaultOs": { + "type": "string" + }, + "DefaultRootDeviceType": { + "type": "string" + }, + "DefaultSshKeyName": { + "type": "string" + }, + "DefaultSubnetId": { + "type": "string" + }, + "EcsClusterArn": { + "type": "string" + }, + "ElasticIps": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" + }, + "type": "array" + }, + "HostnameTheme": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RdsDbInstances": { + "items": { + "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" + }, + "type": "array" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SourceStackId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseCustomCookbooks": { + "type": "boolean" + }, + "UseOpsworksSecurityGroups": { + "type": "boolean" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "DefaultInstanceProfileArn", + "Name", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Stack" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.ChefConfiguration": { + "additionalProperties": false, + "properties": { + "BerkshelfVersion": { + "type": "string" + }, + "ManageBerkshelf": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.ElasticIp": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.RdsDbInstance": { + "additionalProperties": false, + "properties": { + "DbPassword": { + "type": "string" + }, + "DbUser": { + "type": "string" + }, + "RdsDbInstanceArn": { + "type": "string" + } + }, + "required": [ + "DbPassword", + "DbUser", + "RdsDbInstanceArn" + ], + "type": "object" + }, + "AWS::OpsWorks::Stack.Source": { + "additionalProperties": false, + "properties": { + "Password": { + "type": "string" + }, + "Revision": { + "type": "string" + }, + "SshKey": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Url": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::Stack.StackConfigurationManager": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::OpsWorks::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowSelfManagement": { + "type": "boolean" + }, + "IamUserArn": { + "type": "string" + }, + "SshPublicKey": { + "type": "string" + }, + "SshUsername": { + "type": "string" + } + }, + "required": [ + "IamUserArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorks::Volume": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Ec2VolumeId": { + "type": "string" + }, + "MountPoint": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "StackId": { + "type": "string" + } + }, + "required": [ + "Ec2VolumeId", + "StackId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorks::Volume" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatePublicIpAddress": { + "type": "boolean" + }, + "BackupId": { + "type": "string" + }, + "BackupRetentionCount": { + "type": "number" + }, + "CustomCertificate": { + "type": "string" + }, + "CustomDomain": { + "type": "string" + }, + "CustomPrivateKey": { + "type": "string" + }, + "DisableAutomatedBackup": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineAttributes": { + "items": { + "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" + }, + "type": "array" + }, + "EngineModel": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "InstanceProfileArn": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KeyPair": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ServerName": { + "type": "string" + }, + "ServiceRoleArn": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::OpsWorksCM::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::OpsWorksCM::Server.EngineAttribute": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ADMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId", + "ClientId", + "ClientSecret" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ADMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::APNSVoipSandboxChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "BundleId": { + "type": "string" + }, + "Certificate": { + "type": "string" + }, + "DefaultAuthenticationMethod": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "PrivateKey": { + "type": "string" + }, + "TeamId": { + "type": "string" + }, + "TokenKey": { + "type": "string" + }, + "TokenKeyId": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::APNSVoipSandboxChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::ApplicationSettings" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::ApplicationSettings.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::BaiduChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SecretKey": { + "type": "string" + } + }, + "required": [ + "ApiKey", + "ApplicationId", + "SecretKey" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::BaiduChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AdditionalTreatments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" + }, + "type": "array" + }, + "ApplicationId": { + "type": "string" + }, + "CampaignHook": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" + }, + "Description": { + "type": "string" + }, + "HoldoutPercent": { + "type": "number" + }, + "IsPaused": { + "type": "boolean" + }, + "Limits": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" + }, + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SegmentId": { + "type": "string" + }, + "SegmentVersion": { + "type": "number" + }, + "Tags": { + "type": "object" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "MessageConfiguration", + "Name", + "Schedule", + "SegmentId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Campaign" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEmailMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "FromAddress": { + "type": "string" + }, + "HtmlBody": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignEventFilter": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" + }, + "FilterType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignHook": { + "additionalProperties": false, + "properties": { + "LambdaFunctionName": { + "type": "string" + }, + "Mode": { + "type": "string" + }, + "WebUrl": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.CampaignSmsMessage": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "EntityId": { + "type": "string" + }, + "MessageType": { + "type": "string" + }, + "OriginationNumber": { + "type": "string" + }, + "SenderId": { + "type": "string" + }, + "TemplateId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.EventDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "EventType": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" + }, + "Metrics": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Limits": { + "additionalProperties": false, + "properties": { + "Daily": { + "type": "number" + }, + "MaximumDuration": { + "type": "number" + }, + "MessagesPerSecond": { + "type": "number" + }, + "Total": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.Message": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageSmallIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "JsonBody": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "RawContent": { + "type": "string" + }, + "SilentPush": { + "type": "boolean" + }, + "TimeToLive": { + "type": "number" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MessageConfiguration": { + "additionalProperties": false, + "properties": { + "ADMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "APNSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "BaiduMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "DefaultMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "EmailMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" + }, + "GCMMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" + }, + "SMSMessage": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.MetricDimension": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.QuietTime": { + "additionalProperties": false, + "properties": { + "End": { + "type": "string" + }, + "Start": { + "type": "string" + } + }, + "required": [ + "End", + "Start" + ], + "type": "object" + }, + "AWS::Pinpoint::Campaign.Schedule": { + "additionalProperties": false, + "properties": { + "EndTime": { + "type": "string" + }, + "EventFilter": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" + }, + "Frequency": { + "type": "string" + }, + "IsLocalTime": { + "type": "boolean" + }, + "QuietTime": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" + }, + "StartTime": { + "type": "string" + }, + "TimeZone": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Campaign.WriteTreatmentResource": { + "additionalProperties": false, + "properties": { + "MessageConfiguration": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" + }, + "SizePercent": { + "type": "number" + }, + "TreatmentDescription": { + "type": "string" + }, + "TreatmentName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::EmailChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "ConfigurationSet": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "FromAddress": { + "type": "string" + }, + "Identity": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "FromAddress", + "Identity" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EmailTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultSubstitutions": { + "type": "string" + }, + "HtmlPart": { + "type": "string" + }, + "Subject": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "required": [ + "Subject", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EmailTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::EventStream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "DestinationStreamArn": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "DestinationStreamArn", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::EventStream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::GCMChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApiKey": { + "type": "string" + }, + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApiKey", + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::GCMChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ADM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "APNS": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" + }, + "Baidu": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Default": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "GCM": { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::PushTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "MediaUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "ImageIconUrl": { + "type": "string" + }, + "ImageUrl": { + "type": "string" + }, + "SmallImageIconUrl": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Body": { + "type": "string" + }, + "Sound": { + "type": "string" + }, + "Title": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::SMSChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + }, + "SenderId": { + "type": "string" + }, + "ShortCode": { + "type": "string" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SMSChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Dimensions": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "Name": { + "type": "string" + }, + "SegmentGroups": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "ApplicationId", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::Segment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.AttributeDimension": { + "additionalProperties": false, + "properties": { + "AttributeType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Behavior": { + "additionalProperties": false, + "properties": { + "Recency": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Coordinates": { + "additionalProperties": false, + "properties": { + "Latitude": { + "type": "number" + }, + "Longitude": { + "type": "number" + } + }, + "required": [ + "Latitude", + "Longitude" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Demographic": { + "additionalProperties": false, + "properties": { + "AppVersion": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Channel": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "DeviceType": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Make": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Model": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "Platform": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.GPSPoint": { + "additionalProperties": false, + "properties": { + "Coordinates": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" + }, + "RangeInKilometers": { + "type": "number" + } + }, + "required": [ + "Coordinates", + "RangeInKilometers" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.Groups": { + "additionalProperties": false, + "properties": { + "Dimensions": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" + }, + "type": "array" + }, + "SourceSegments": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Location": { + "additionalProperties": false, + "properties": { + "Country": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" + }, + "GPSPoint": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.Recency": { + "additionalProperties": false, + "properties": { + "Duration": { + "type": "string" + }, + "RecencyType": { + "type": "string" + } + }, + "required": [ + "Duration", + "RecencyType" + ], + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentDimensions": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Behavior": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" + }, + "Demographic": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" + }, + "Location": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" + }, + "Metrics": { + "type": "object" + }, + "UserAttributes": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SegmentGroups": { + "additionalProperties": false, + "properties": { + "Groups": { + "items": { + "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" + }, + "type": "array" + }, + "Include": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SetDimension": { + "additionalProperties": false, + "properties": { + "DimensionType": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Pinpoint::Segment.SourceSegments": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::Pinpoint::SmsTemplate": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Body": { + "type": "string" + }, + "DefaultSubstitutions": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "TemplateDescription": { + "type": "string" + }, + "TemplateName": { + "type": "string" + } + }, + "required": [ + "Body", + "TemplateName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::SmsTemplate" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Pinpoint::VoiceChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "Enabled": { + "type": "boolean" + } + }, + "required": [ + "ApplicationId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Pinpoint::VoiceChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" + }, + "Name": { + "type": "string" + }, + "ReputationOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" + }, + "SendingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" + }, + "type": "array" + }, + "TrackingOptions": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { + "additionalProperties": false, + "properties": { + "SendingPoolName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { + "additionalProperties": false, + "properties": { + "ReputationMetricsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { + "additionalProperties": false, + "properties": { + "SendingEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { + "additionalProperties": false, + "properties": { + "CustomRedirectDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" + }, + "EventDestinationName": { + "type": "string" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestinationName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PinpointDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" + }, + "SnsDestination": { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamArn": { + "type": "string" + }, + "IamRoleArn": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamArn", + "IamRoleArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { + "additionalProperties": false, + "properties": { + "ApplicationArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { + "additionalProperties": false, + "properties": { + "TopicArn": { + "type": "string" + } + }, + "required": [ + "TopicArn" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PoolName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::DedicatedIpPool" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::PinpointEmail::DedicatedIpPool.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DkimSigningEnabled": { + "type": "boolean" + }, + "FeedbackForwardingEnabled": { + "type": "boolean" + }, + "MailFromAttributes": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::PinpointEmail::Identity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::PinpointEmail::Identity.MailFromAttributes": { + "additionalProperties": false, + "properties": { + "BehaviorOnMxFailure": { + "type": "string" + }, + "MailFromDomain": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::PinpointEmail::Identity.Tags": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QLDB::Ledger": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "KmsKey": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "PermissionsMode": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PermissionsMode" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Ledger" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ExclusiveEndTime": { + "type": "string" + }, + "InclusiveStartTime": { + "type": "string" + }, + "KinesisConfiguration": { + "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" + }, + "LedgerName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "StreamName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InclusiveStartTime", + "KinesisConfiguration", + "LedgerName", + "RoleArn", + "StreamName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QLDB::Stream" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QLDB::Stream.KinesisConfiguration": { + "additionalProperties": false, + "properties": { + "AggregationEnabled": { + "type": "boolean" + }, + "StreamArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AnalysisId": { + "type": "string" + }, + "AwsAccountId": { + "type": "string" + }, + "Errors": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + } + }, + "required": [ + "AnalysisId", + "AwsAccountId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Analysis" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisError": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Analysis.Sheet": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SheetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Analysis.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "DashboardId": { + "type": "string" + }, + "DashboardPublishOptions": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" + }, + "Name": { + "type": "string" + }, + "Parameters": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeArn": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "DashboardId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Dashboard" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.AdHocFilteringOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardPublishOptions": { + "additionalProperties": false, + "properties": { + "AdHocFilteringOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" + }, + "ExportToCSVOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" + }, + "SheetControlsOption": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DateTimeParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.DecimalParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.ExportToCSVOption": { + "additionalProperties": false, + "properties": { + "AvailabilityStatus": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.IntegerParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "number" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.Parameters": { + "additionalProperties": false, + "properties": { + "DateTimeParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" + }, + "type": "array" + }, + "DecimalParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" + }, + "type": "array" + }, + "IntegerParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" + }, + "type": "array" + }, + "StringParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Dashboard.SheetControlsOption": { + "additionalProperties": false, + "properties": { + "VisibilityState": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Dashboard.StringParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Values" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "ColumnGroups": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" + }, + "type": "array" + }, + "ColumnLevelPermissionRules": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" + }, + "type": "array" + }, + "DataSetId": { + "type": "string" + }, + "FieldFolders": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" + } + }, + "type": "object" + }, + "ImportMode": { + "type": "string" + }, + "IngestionWaitPolicy": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" + }, + "LogicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" + }, + "type": "array" + }, + "PhysicalTableMap": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" + } + }, + "type": "object" + }, + "RowLevelPermissionDataSet": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CalculatedColumn": { + "additionalProperties": false, + "properties": { + "ColumnId": { + "type": "string" + }, + "ColumnName": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "ColumnId", + "ColumnName", + "Expression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CastColumnTypeOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "NewColumnType": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnType" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnDescription": { + "additionalProperties": false, + "properties": { + "Text": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnGroup": { + "additionalProperties": false, + "properties": { + "GeoSpatialColumnGroup": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { + "additionalProperties": false, + "properties": { + "ColumnNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ColumnTag": { + "additionalProperties": false, + "properties": { + "ColumnDescription": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" + }, + "ColumnGeographicRole": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.CreateColumnsOperation": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" + }, + "type": "array" + } + }, + "required": [ + "Columns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.CustomSql": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "DataSourceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "SqlQuery": { + "type": "string" + } + }, + "required": [ + "Columns", + "DataSourceArn", + "Name", + "SqlQuery" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.FieldFolder": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.FilterOperation": { + "additionalProperties": false, + "properties": { + "ConditionExpression": { + "type": "string" + } + }, + "required": [ + "ConditionExpression" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { + "additionalProperties": false, + "properties": { + "Columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CountryCode": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Columns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.IngestionWaitPolicy": { + "additionalProperties": false, + "properties": { + "IngestionWaitTimeInHours": { + "type": "number" + }, + "WaitForSpiceIngestion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.InputColumn": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinInstruction": { + "additionalProperties": false, + "properties": { + "LeftJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "LeftOperand": { + "type": "string" + }, + "OnClause": { + "type": "string" + }, + "RightJoinKeyProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" + }, + "RightOperand": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "LeftOperand", + "OnClause", + "RightOperand", + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.JoinKeyProperties": { + "additionalProperties": false, + "properties": { + "UniqueKey": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTable": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DataTransforms": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" + }, + "type": "array" + }, + "Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" + } + }, + "required": [ + "Alias", + "Source" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.LogicalTableSource": { + "additionalProperties": false, + "properties": { + "JoinInstruction": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" + }, + "PhysicalTableId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.OutputColumn": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.PhysicalTable": { + "additionalProperties": false, + "properties": { + "CustomSql": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" + }, + "RelationalTable": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" + }, + "S3Source": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.ProjectOperation": { + "additionalProperties": false, + "properties": { + "ProjectedColumns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ProjectedColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RelationalTable": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Schema": { + "type": "string" + } + }, + "required": [ + "DataSourceArn", + "InputColumns", + "Name" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RenameColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "NewColumnName": { + "type": "string" + } + }, + "required": [ + "ColumnName", + "NewColumnName" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FormatVersion": { + "type": "string" + }, + "Namespace": { + "type": "string" + }, + "PermissionPolicy": { + "type": "string" + } + }, + "required": [ + "Arn", + "PermissionPolicy" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.S3Source": { + "additionalProperties": false, + "properties": { + "DataSourceArn": { + "type": "string" + }, + "InputColumns": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" + }, + "type": "array" + }, + "UploadSettings": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" + } + }, + "required": [ + "DataSourceArn", + "InputColumns" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TagColumnOperation": { + "additionalProperties": false, + "properties": { + "ColumnName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" + }, + "type": "array" + } + }, + "required": [ + "ColumnName", + "Tags" + ], + "type": "object" + }, + "AWS::QuickSight::DataSet.TransformOperation": { + "additionalProperties": false, + "properties": { + "CastColumnTypeOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" + }, + "CreateColumnsOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" + }, + "FilterOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" + }, + "ProjectOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" + }, + "RenameColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" + }, + "TagColumnOperation": { + "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSet.UploadSettings": { + "additionalProperties": false, + "properties": { + "ContainsHeader": { + "type": "boolean" + }, + "Delimiter": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "StartFromRow": { + "type": "number" + }, + "TextQualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "AwsAccountId": { + "type": "string" + }, + "Credentials": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" + }, + "DataSourceId": { + "type": "string" + }, + "DataSourceParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "ErrorInfo": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" + }, + "type": "array" + }, + "SslProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + }, + "VpcConnectionProperties": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::DataSource" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { + "additionalProperties": false, + "properties": { + "Domain": { + "type": "string" + } + }, + "required": [ + "Domain" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AthenaParameters": { + "additionalProperties": false, + "properties": { + "WorkGroup": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.CredentialPair": { + "additionalProperties": false, + "properties": { + "AlternateDataSourceParameters": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" + }, + "type": "array" + }, + "Password": { + "type": "string" + }, + "Username": { + "type": "string" + } + }, + "required": [ + "Password", + "Username" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceCredentials": { + "additionalProperties": false, + "properties": { + "CopySourceArn": { + "type": "string" + }, + "CredentialPair": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceErrorInfo": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.DataSourceParameters": { + "additionalProperties": false, + "properties": { + "AmazonElasticsearchParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" + }, + "AthenaParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" + }, + "AuroraParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" + }, + "AuroraPostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" + }, + "MariaDbParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" + }, + "MySqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" + }, + "OracleParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" + }, + "PostgreSqlParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" + }, + "PrestoParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" + }, + "RdsParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" + }, + "RedshiftParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" + }, + "S3Parameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" + }, + "SnowflakeParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" + }, + "SparkParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" + }, + "SqlServerParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" + }, + "TeradataParameters": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.ManifestFileLocation": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MariaDbParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.MySqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.OracleParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PostgreSqlParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.PrestoParameters": { + "additionalProperties": false, + "properties": { + "Catalog": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Catalog", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RdsParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "InstanceId": { + "type": "string" + } + }, + "required": [ + "Database", + "InstanceId" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.RedshiftParameters": { + "additionalProperties": false, + "properties": { + "ClusterId": { + "type": "string" + }, + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.S3Parameters": { + "additionalProperties": false, + "properties": { + "ManifestFileLocation": { + "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" + } + }, + "required": [ + "ManifestFileLocation" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SnowflakeParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Warehouse": { + "type": "string" + } + }, + "required": [ + "Database", + "Host", + "Warehouse" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SparkParameters": { + "additionalProperties": false, + "properties": { + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SqlServerParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.SslProperties": { + "additionalProperties": false, + "properties": { + "DisableSsl": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::DataSource.TeradataParameters": { + "additionalProperties": false, + "properties": { + "Database": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Port": { + "type": "number" + } + }, + "required": [ + "Database", + "Host", + "Port" + ], + "type": "object" + }, + "AWS::QuickSight::DataSource.VpcConnectionProperties": { + "additionalProperties": false, + "properties": { + "VpcConnectionArn": { + "type": "string" + } + }, + "required": [ + "VpcConnectionArn" + ], + "type": "object" + }, + "AWS::QuickSight::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" + }, + "type": "array" + }, + "SourceEntity": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TemplateId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "TemplateId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Template.DataSetReference": { + "additionalProperties": false, + "properties": { + "DataSetArn": { + "type": "string" + }, + "DataSetPlaceholder": { + "type": "string" + } + }, + "required": [ + "DataSetArn", + "DataSetPlaceholder" + ], + "type": "object" + }, + "AWS::QuickSight::Template.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceAnalysis": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "DataSetReferences": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "DataSetReferences" + ], + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceEntity": { + "additionalProperties": false, + "properties": { + "SourceAnalysis": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" + }, + "SourceTemplate": { + "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" + } + }, + "type": "object" + }, + "AWS::QuickSight::Template.TemplateSourceTemplate": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::QuickSight::Theme": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AwsAccountId": { + "type": "string" + }, + "BaseThemeId": { + "type": "string" + }, + "Configuration": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" + }, + "Name": { + "type": "string" + }, + "Permissions": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "ThemeId": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + } + }, + "required": [ + "AwsAccountId", + "ThemeId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::QuickSight::Theme" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.BorderStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.DataColorPalette": { + "additionalProperties": false, + "properties": { + "Colors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EmptyFillColor": { + "type": "string" + }, + "MinMaxGradient": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Font": { + "additionalProperties": false, + "properties": { + "FontFamily": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.GutterStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.MarginStyle": { + "additionalProperties": false, + "properties": { + "Show": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ResourcePermission": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principal": { + "type": "string" + } + }, + "required": [ + "Actions", + "Principal" + ], + "type": "object" + }, + "AWS::QuickSight::Theme.SheetStyle": { + "additionalProperties": false, + "properties": { + "Tile": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" + }, + "TileLayout": { + "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.ThemeConfiguration": { + "additionalProperties": false, + "properties": { + "DataColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" + }, + "Sheet": { + "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" + }, + "Typography": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" + }, + "UIColorPalette": { + "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileLayoutStyle": { + "additionalProperties": false, + "properties": { + "Gutter": { + "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" + }, + "Margin": { + "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.TileStyle": { + "additionalProperties": false, + "properties": { + "Border": { + "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.Typography": { + "additionalProperties": false, + "properties": { + "FontFamilies": { + "items": { + "$ref": "#/definitions/AWS::QuickSight::Theme.Font" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::QuickSight::Theme.UIColorPalette": { + "additionalProperties": false, + "properties": { + "Accent": { + "type": "string" + }, + "AccentForeground": { + "type": "string" + }, + "Danger": { + "type": "string" + }, + "DangerForeground": { + "type": "string" + }, + "Dimension": { + "type": "string" + }, + "DimensionForeground": { + "type": "string" + }, + "Measure": { + "type": "string" + }, + "MeasureForeground": { + "type": "string" + }, + "PrimaryBackground": { + "type": "string" + }, + "PrimaryForeground": { + "type": "string" + }, + "SecondaryBackground": { + "type": "string" + }, + "SecondaryForeground": { + "type": "string" + }, + "Success": { + "type": "string" + }, + "SuccessForeground": { + "type": "string" + }, + "Warning": { + "type": "string" + }, + "WarningForeground": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RAM::ResourceShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowExternalPrincipals": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "PermissionArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Principals": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RAM::ResourceShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" + }, + "type": "array" + }, + "AvailabilityZones": { + "items": { + "type": "string" + }, + "type": "array" + }, + "BacktrackWindow": { + "type": "number" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBClusterParameterGroupName": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DatabaseName": { + "type": "string" + }, + "DeletionProtection": { + "type": "boolean" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableHttpEndpoint": { + "type": "boolean" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineMode": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ReplicationSourceIdentifier": { + "type": "string" + }, + "RestoreType": { + "type": "string" + }, + "ScalingConfiguration": { + "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UseLatestRestorableTime": { + "type": "boolean" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Engine" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.DBClusterRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBCluster.ScalingConfiguration": { + "additionalProperties": false, + "properties": { + "AutoPause": { + "type": "boolean" + }, + "MaxCapacity": { + "type": "number" + }, + "MinCapacity": { + "type": "number" + }, + "SecondsUntilAutoPause": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::RDS::DBClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family", + "Parameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllocatedStorage": { + "type": "string" + }, + "AllowMajorVersionUpgrade": { + "type": "boolean" + }, + "AssociatedRoles": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" + }, + "type": "array" + }, + "AutoMinorVersionUpgrade": { + "type": "boolean" + }, + "AvailabilityZone": { + "type": "string" + }, + "BackupRetentionPeriod": { + "type": "number" + }, + "CACertificateIdentifier": { + "type": "string" + }, + "CharacterSetName": { + "type": "string" + }, + "CopyTagsToSnapshot": { + "type": "boolean" + }, + "DBClusterIdentifier": { + "type": "string" + }, + "DBInstanceClass": { + "type": "string" + }, + "DBInstanceIdentifier": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "DBParameterGroupName": { + "type": "string" + }, + "DBSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBSnapshotIdentifier": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "DeleteAutomatedBackups": { + "type": "boolean" + }, + "DeletionProtection": { + "type": "boolean" + }, + "Domain": { + "type": "string" + }, + "DomainIAMRoleName": { + "type": "string" + }, + "EnableCloudwatchLogsExports": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EnableIAMDatabaseAuthentication": { + "type": "boolean" + }, + "EnablePerformanceInsights": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "Iops": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + }, + "LicenseModel": { + "type": "string" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "MaxAllocatedStorage": { + "type": "number" + }, + "MonitoringInterval": { + "type": "number" + }, + "MonitoringRoleArn": { + "type": "string" + }, + "MultiAZ": { + "type": "boolean" + }, + "OptionGroupName": { + "type": "string" + }, + "PerformanceInsightsKMSKeyId": { + "type": "string" + }, + "PerformanceInsightsRetentionPeriod": { + "type": "number" + }, + "Port": { + "type": "string" + }, + "PreferredBackupWindow": { + "type": "string" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "ProcessorFeatures": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" + }, + "type": "array" + }, + "PromotionTier": { + "type": "number" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SourceDBInstanceIdentifier": { + "type": "string" + }, + "SourceRegion": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + }, + "StorageType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Timezone": { + "type": "string" + }, + "UseDefaultProcessorFeatures": { + "type": "boolean" + }, + "VPCSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBInstanceClass" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.DBInstanceRole": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "RoleArn" + ], + "type": "object" + }, + "AWS::RDS::DBInstance.ProcessorFeature": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Family": { + "type": "string" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "Family" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Auth": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "DebugLogging": { + "type": "boolean" + }, + "EngineFamily": { + "type": "string" + }, + "IdleClientTimeout": { + "type": "number" + }, + "RequireTLS": { + "type": "boolean" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Auth", + "DBProxyName", + "EngineFamily", + "RoleArn", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxy.AuthFormat": { + "additionalProperties": false, + "properties": { + "AuthScheme": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "IAMAuth": { + "type": "string" + }, + "SecretArn": { + "type": "string" + }, + "UserName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxy.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBProxyEndpointName": { + "type": "string" + }, + "DBProxyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" + }, + "type": "array" + }, + "TargetRole": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcSubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "DBProxyEndpointName", + "DBProxyName", + "VpcSubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyEndpoint.TagFormat": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionPoolConfigurationInfo": { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" + }, + "DBClusterIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBInstanceIdentifiers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DBProxyName": { + "type": "string" + }, + "TargetGroupName": { + "type": "string" + } + }, + "required": [ + "DBProxyName", + "TargetGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBProxyTargetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { + "additionalProperties": false, + "properties": { + "ConnectionBorrowTimeout": { + "type": "number" + }, + "InitQuery": { + "type": "string" + }, + "MaxConnectionsPercent": { + "type": "number" + }, + "MaxIdleConnectionsPercent": { + "type": "number" + }, + "SessionPinningFilters": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupIngress": { + "items": { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" + }, + "type": "array" + }, + "EC2VpcId": { + "type": "string" + }, + "GroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSecurityGroupIngress", + "GroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSecurityGroup.Ingress": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::RDS::DBSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "DBSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupId": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "DBSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::DBSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DBSubnetGroupDescription": { + "type": "string" + }, + "DBSubnetGroupName": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DBSubnetGroupDescription", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::DBSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::EventSubscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + }, + "EventCategories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SnsTopicArn": { + "type": "string" + }, + "SourceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SnsTopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::EventSubscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::GlobalCluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtection": { + "type": "boolean" + }, + "Engine": { + "type": "string" + }, + "EngineVersion": { + "type": "string" + }, + "GlobalClusterIdentifier": { + "type": "string" + }, + "SourceDBClusterIdentifier": { + "type": "string" + }, + "StorageEncrypted": { + "type": "boolean" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::GlobalCluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EngineName": { + "type": "string" + }, + "MajorEngineVersion": { + "type": "string" + }, + "OptionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" + }, + "type": "array" + }, + "OptionGroupDescription": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EngineName", + "MajorEngineVersion", + "OptionConfigurations", + "OptionGroupDescription" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RDS::OptionGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionConfiguration": { + "additionalProperties": false, + "properties": { + "DBSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + }, + "OptionName": { + "type": "string" + }, + "OptionSettings": { + "items": { + "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" + }, + "type": "array" + }, + "OptionVersion": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "VpcSecurityGroupMemberships": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OptionName" + ], + "type": "object" + }, + "AWS::RDS::OptionGroup.OptionSetting": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowVersionUpgrade": { + "type": "boolean" + }, + "AutomatedSnapshotRetentionPeriod": { + "type": "number" + }, + "AvailabilityZone": { + "type": "string" + }, + "ClusterIdentifier": { + "type": "string" + }, + "ClusterParameterGroupName": { + "type": "string" + }, + "ClusterSecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ClusterSubnetGroupName": { + "type": "string" + }, + "ClusterType": { + "type": "string" + }, + "ClusterVersion": { + "type": "string" + }, + "DBName": { + "type": "string" + }, + "ElasticIp": { + "type": "string" + }, + "Encrypted": { + "type": "boolean" + }, + "Endpoint": { + "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" + }, + "HsmClientCertificateIdentifier": { + "type": "string" + }, + "HsmConfigurationIdentifier": { + "type": "string" + }, + "IamRoles": { + "items": { + "type": "string" + }, + "type": "array" + }, + "KmsKeyId": { + "type": "string" + }, + "LoggingProperties": { + "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" + }, + "MasterUserPassword": { + "type": "string" + }, + "MasterUsername": { + "type": "string" + }, + "NodeType": { + "type": "string" + }, + "NumberOfNodes": { + "type": "number" + }, + "OwnerAccount": { + "type": "string" + }, + "Port": { + "type": "number" + }, + "PreferredMaintenanceWindow": { + "type": "string" + }, + "PubliclyAccessible": { + "type": "boolean" + }, + "SnapshotClusterIdentifier": { + "type": "string" + }, + "SnapshotIdentifier": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcSecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "ClusterType", + "DBName", + "MasterUserPassword", + "MasterUsername", + "NodeType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::Cluster.Endpoint": { + "additionalProperties": false, + "properties": { + "Address": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Redshift::Cluster.LoggingProperties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "S3KeyPrefix": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "ParameterGroupFamily": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "ParameterGroupFamily" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterParameterGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterParameterGroup.Parameter": { + "additionalProperties": false, + "properties": { + "ParameterName": { + "type": "string" + }, + "ParameterValue": { + "type": "string" + } + }, + "required": [ + "ParameterName", + "ParameterValue" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSecurityGroupIngress": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CIDRIP": { + "type": "string" + }, + "ClusterSecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupName": { + "type": "string" + }, + "EC2SecurityGroupOwnerId": { + "type": "string" + } + }, + "required": [ + "ClusterSecurityGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSecurityGroupIngress" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Redshift::ClusterSubnetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Description", + "SubnetIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Redshift::ClusterSubnetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Configuration": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResourceQuery": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" + }, + "Resources": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ResourceGroups::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationItem": { + "additionalProperties": false, + "properties": { + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ConfigurationParameter": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.Query": { + "additionalProperties": false, + "properties": { + "ResourceTypeFilters": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackIdentifier": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.ResourceQuery": { + "additionalProperties": false, + "properties": { + "Query": { + "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::ResourceGroups::Group.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::RoboMaker::Fleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Fleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::RoboMaker::Robot": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "Fleet": { + "type": "string" + }, + "GreengrassGroupId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "Architecture", + "GreengrassGroupId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::Robot" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RobotSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::RobotApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::RobotApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CurrentRevisionId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RenderingEngine": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" + }, + "RobotSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" + }, + "SimulationSoftwareSuite": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" + }, + "type": "array" + }, + "Tags": { + "type": "object" + } + }, + "required": [ + "RenderingEngine", + "RobotSoftwareSuite", + "SimulationSoftwareSuite", + "Sources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplication" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RenderingEngine": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Name", + "Version" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplication.SourceConfig": { + "additionalProperties": false, + "properties": { + "Architecture": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + } + }, + "required": [ + "Architecture", + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "AWS::RoboMaker::SimulationApplicationVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "CurrentRevisionId": { + "type": "string" + } + }, + "required": [ + "Application" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::RoboMaker::SimulationApplicationVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::DNSSEC": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "HostedZoneId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::DNSSEC" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HealthCheckConfig": { + "type": "object" + }, + "HealthCheckTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" + }, + "type": "array" + } + }, + "required": [ + "HealthCheckConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HealthCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HealthCheck.HealthCheckTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" + }, + "HostedZoneTags": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "QueryLoggingConfig": { + "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" + }, + "VPCs": { + "items": { + "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::HostedZone" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneConfig": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::HostedZone.HostedZoneTag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.QueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroupArn": { + "type": "string" + } + }, + "required": [ + "CloudWatchLogsLogGroupArn" + ], + "type": "object" + }, + "AWS::Route53::HostedZone.VPC": { + "additionalProperties": false, + "properties": { + "VPCId": { + "type": "string" + }, + "VPCRegion": { + "type": "string" + } + }, + "required": [ + "VPCId", + "VPCRegion" + ], + "type": "object" + }, + "AWS::Route53::KeySigningKey": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedZoneId": { + "type": "string" + }, + "KeyManagementServiceArn": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "HostedZoneId", + "KeyManagementServiceArn", + "Name", + "Status" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::KeySigningKey" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSet.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "RecordSets": { + "items": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53::RecordSetGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.AliasTarget": { + "additionalProperties": false, + "properties": { + "DNSName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + } + }, + "required": [ + "DNSName", + "HostedZoneId" + ], + "type": "object" + }, + "AWS::Route53::RecordSetGroup.GeoLocation": { + "additionalProperties": false, + "properties": { + "ContinentCode": { + "type": "string" + }, + "CountryCode": { + "type": "string" + }, + "SubdivisionCode": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53::RecordSetGroup.RecordSet": { + "additionalProperties": false, + "properties": { + "AliasTarget": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" + }, + "Comment": { + "type": "string" + }, + "Failover": { + "type": "string" + }, + "GeoLocation": { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" + }, + "HealthCheckId": { + "type": "string" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "MultiValueAnswer": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Region": { + "type": "string" + }, + "ResourceRecords": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SetIdentifier": { + "type": "string" + }, + "TTL": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Weight": { + "type": "number" + } + }, + "required": [ + "Name", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::Cluster" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryControl::ControlPanel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::ControlPanel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::RoutingControl": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ClusterArn": { + "type": "string" + }, + "ControlPanelArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::RoutingControl" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssertionRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" + }, + "ControlPanelArn": { + "type": "string" + }, + "GatingRule": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" + }, + "Name": { + "type": "string" + }, + "RuleConfig": { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" + } + }, + "required": [ + "ControlPanelArn", + "Name", + "RuleConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryControl::SafetyRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { + "additionalProperties": false, + "properties": { + "AssertedControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "AssertedControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { + "additionalProperties": false, + "properties": { + "GatingControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "TargetControls": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WaitPeriodMs": { + "type": "number" + } + }, + "required": [ + "GatingControls", + "TargetControls", + "WaitPeriodMs" + ], + "type": "object" + }, + "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { + "additionalProperties": false, + "properties": { + "Inverted": { + "type": "boolean" + }, + "Threshold": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Inverted", + "Threshold", + "Type" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::Cell": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CellName": { + "type": "string" + }, + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "CellName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::Cell" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ReadinessCheck": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ReadinessCheckName": { + "type": "string" + }, + "ResourceSetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ReadinessCheckName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ReadinessCheck" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::RecoveryGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Cells": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RecoveryGroupName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RecoveryGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::RecoveryGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceSetName": { + "type": "string" + }, + "ResourceSetType": { + "type": "string" + }, + "Resources": { + "items": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ResourceSetName", + "ResourceSetType", + "Resources" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53RecoveryReadiness::ResourceSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "HostedZoneArn": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + }, + "RecordType": { + "type": "string" + }, + "TargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "RecordSetId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { + "additionalProperties": false, + "properties": { + "ComponentId": { + "type": "string" + }, + "DnsTargetResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" + }, + "ReadinessScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ResourceArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { + "additionalProperties": false, + "properties": { + "NLBResource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" + }, + "R53Resource": { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" + } + }, + "type": "object" + }, + "AWS::Route53Resolver::FirewallDomainList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainFileUrl": { + "type": "string" + }, + "Domains": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallDomainList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRules": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "BlockOverrideDnsType": { + "type": "string" + }, + "BlockOverrideDomain": { + "type": "string" + }, + "BlockOverrideTtl": { + "type": "number" + }, + "BlockResponse": { + "type": "string" + }, + "FirewallDomainListId": { + "type": "string" + }, + "Priority": { + "type": "number" + } + }, + "required": [ + "Action", + "FirewallDomainListId", + "Priority" + ], + "type": "object" + }, + "AWS::Route53Resolver::FirewallRuleGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FirewallRuleGroupId": { + "type": "string" + }, + "MutationProtection": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "FirewallRuleGroupId", + "Priority", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::FirewallRuleGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverDNSSECConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverDNSSECConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Direction": { + "type": "string" + }, + "IpAddresses": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Direction", + "IpAddresses", + "SecurityGroupIds" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverEndpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "SubnetId" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResolverQueryLogConfigId": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ResolverEndpointId": { + "type": "string" + }, + "RuleType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetIps": { + "items": { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" + }, + "type": "array" + } + }, + "required": [ + "DomainName", + "RuleType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRule.TargetAddress": { + "additionalProperties": false, + "properties": { + "Ip": { + "type": "string" + }, + "Port": { + "type": "string" + } + }, + "required": [ + "Ip" + ], + "type": "object" + }, + "AWS::Route53Resolver::ResolverRuleAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ResolverRuleId": { + "type": "string" + }, + "VPCId": { + "type": "string" + } + }, + "required": [ + "ResolverRuleId", + "VPCId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Route53Resolver::ResolverRuleAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "PolicyStatus": { + "type": "object" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccelerateConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" + }, + "AccessControl": { + "type": "string" + }, + "AnalyticsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" + }, + "type": "array" + }, + "BucketEncryption": { + "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" + }, + "BucketName": { + "type": "string" + }, + "CorsConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" + }, + "IntelligentTieringConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" + }, + "type": "array" + }, + "InventoryConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" + }, + "type": "array" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" + }, + "MetricsConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" + }, + "ObjectLockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" + }, + "ObjectLockEnabled": { + "type": "boolean" + }, + "OwnershipControls": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" + }, + "PublicAccessBlockConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VersioningConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" + }, + "WebsiteConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccelerateConfiguration": { + "additionalProperties": false, + "properties": { + "AccelerationStatus": { + "type": "string" + } + }, + "required": [ + "AccelerationStatus" + ], + "type": "object" + }, + "AWS::S3::Bucket.AccessControlTranslation": { + "additionalProperties": false, + "properties": { + "Owner": { + "type": "string" + } + }, + "required": [ + "Owner" + ], + "type": "object" + }, + "AWS::S3::Bucket.AnalyticsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "StorageClassAnalysis": { + "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id", + "StorageClassAnalysis" + ], + "type": "object" + }, + "AWS::S3::Bucket.BucketEncryption": { + "additionalProperties": false, + "properties": { + "ServerSideEncryptionConfiguration": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" + }, + "type": "array" + } + }, + "required": [ + "ServerSideEncryptionConfiguration" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "CorsRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" + }, + "type": "array" + } + }, + "required": [ + "CorsRules" + ], + "type": "object" + }, + "AWS::S3::Bucket.CorsRule": { + "additionalProperties": false, + "properties": { + "AllowedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedMethods": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AllowedOrigins": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ExposedHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Id": { + "type": "string" + }, + "MaxAge": { + "type": "number" + } + }, + "required": [ + "AllowedMethods", + "AllowedOrigins" + ], + "type": "object" + }, + "AWS::S3::Bucket.DataExport": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "OutputSchemaVersion": { + "type": "string" + } + }, + "required": [ + "Destination", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::Bucket.DefaultRetention": { + "additionalProperties": false, + "properties": { + "Days": { + "type": "number" + }, + "Mode": { + "type": "string" + }, + "Years": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.DeleteMarkerReplication": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Destination": { + "additionalProperties": false, + "properties": { + "BucketAccountId": { + "type": "string" + }, + "BucketArn": { + "type": "string" + }, + "Format": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "BucketArn", + "Format" + ], + "type": "object" + }, + "AWS::S3::Bucket.EncryptionConfiguration": { + "additionalProperties": false, + "properties": { + "ReplicaKmsKeyID": { + "type": "string" + } + }, + "required": [ + "ReplicaKmsKeyID" + ], + "type": "object" + }, + "AWS::S3::Bucket.FilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.IntelligentTieringConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Tierings": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Tiering" + }, + "type": "array" + } + }, + "required": [ + "Id", + "Status", + "Tierings" + ], + "type": "object" + }, + "AWS::S3::Bucket.InventoryConfiguration": { + "additionalProperties": false, + "properties": { + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.Destination" + }, + "Enabled": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "IncludedObjectVersions": { + "type": "string" + }, + "OptionalFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "ScheduleFrequency": { + "type": "string" + } + }, + "required": [ + "Destination", + "Enabled", + "Id", + "IncludedObjectVersions", + "ScheduleFrequency" + ], + "type": "object" + }, + "AWS::S3::Bucket.LambdaConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Function": { + "type": "string" + } + }, + "required": [ + "Event", + "Function" + ], + "type": "object" + }, + "AWS::S3::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "DestinationBucketName": { + "type": "string" + }, + "LogFilePrefix": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Metrics": { + "additionalProperties": false, + "properties": { + "EventThreshold": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.MetricsConfiguration": { + "additionalProperties": false, + "properties": { + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "required": [ + "Id" + ], + "type": "object" + }, + "AWS::S3::Bucket.NoncurrentVersionTransition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass", + "TransitionInDays" + ], + "type": "object" + }, + "AWS::S3::Bucket.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "LambdaConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" + }, + "type": "array" + }, + "QueueConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" + }, + "type": "array" + }, + "TopicConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockConfiguration": { + "additionalProperties": false, + "properties": { + "ObjectLockEnabled": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ObjectLockRule": { + "additionalProperties": false, + "properties": { + "DefaultRetention": { + "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControls": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.OwnershipControlsRule": { + "additionalProperties": false, + "properties": { + "ObjectOwnership": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.PublicAccessBlockConfiguration": { + "additionalProperties": false, + "properties": { + "BlockPublicAcls": { + "type": "boolean" + }, + "BlockPublicPolicy": { + "type": "boolean" + }, + "IgnorePublicAcls": { + "type": "boolean" + }, + "RestrictPublicBuckets": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.QueueConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "Event", + "Queue" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectAllRequestsTo": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "HostName" + ], + "type": "object" + }, + "AWS::S3::Bucket.RedirectRule": { + "additionalProperties": false, + "properties": { + "HostName": { + "type": "string" + }, + "HttpRedirectCode": { + "type": "string" + }, + "Protocol": { + "type": "string" + }, + "ReplaceKeyPrefixWith": { + "type": "string" + }, + "ReplaceKeyWith": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicaModifications": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationConfiguration": { + "additionalProperties": false, + "properties": { + "Role": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" + }, + "type": "array" + } + }, + "required": [ + "Role", + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationDestination": { + "additionalProperties": false, + "properties": { + "AccessControlTranslation": { + "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" + }, + "Account": { + "type": "string" + }, + "Bucket": { + "type": "string" + }, + "EncryptionConfiguration": { + "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" + }, + "Metrics": { + "$ref": "#/definitions/AWS::S3::Bucket.Metrics" + }, + "ReplicationTime": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" + }, + "StorageClass": { + "type": "string" + } + }, + "required": [ + "Bucket" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRule": { + "additionalProperties": false, + "properties": { + "DeleteMarkerReplication": { + "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" + }, + "Destination": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" + }, + "Id": { + "type": "string" + }, + "Prefix": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "SourceSelectionCriteria": { + "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" + }, + "Status": { + "type": "string" + } + }, + "required": [ + "Destination", + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleAndOperator": { + "additionalProperties": false, + "properties": { + "Prefix": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationRuleFilter": { + "additionalProperties": false, + "properties": { + "And": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" + }, + "Prefix": { + "type": "string" + }, + "TagFilter": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTime": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + }, + "Time": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" + } + }, + "required": [ + "Status", + "Time" + ], + "type": "object" + }, + "AWS::S3::Bucket.ReplicationTimeValue": { + "additionalProperties": false, + "properties": { + "Minutes": { + "type": "number" + } + }, + "required": [ + "Minutes" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRule": { + "additionalProperties": false, + "properties": { + "RedirectRule": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" + }, + "RoutingRuleCondition": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" + } + }, + "required": [ + "RedirectRule" + ], + "type": "object" + }, + "AWS::S3::Bucket.RoutingRuleCondition": { + "additionalProperties": false, + "properties": { + "HttpErrorCodeReturnedEquals": { + "type": "string" + }, + "KeyPrefixEquals": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "ExpiredObjectDeleteMarker": { + "type": "boolean" + }, + "Id": { + "type": "string" + }, + "NoncurrentVersionExpirationInDays": { + "type": "number" + }, + "NoncurrentVersionTransition": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" + }, + "type": "array" + }, + "Prefix": { + "type": "string" + }, + "Status": { + "type": "string" + }, + "TagFilters": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" + }, + "type": "array" + }, + "Transition": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "Transitions": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.Transition" + }, + "type": "array" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.S3KeyFilter": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionByDefault": { + "additionalProperties": false, + "properties": { + "KMSMasterKeyID": { + "type": "string" + }, + "SSEAlgorithm": { + "type": "string" + } + }, + "required": [ + "SSEAlgorithm" + ], + "type": "object" + }, + "AWS::S3::Bucket.ServerSideEncryptionRule": { + "additionalProperties": false, + "properties": { + "BucketKeyEnabled": { + "type": "boolean" + }, + "ServerSideEncryptionByDefault": { + "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SourceSelectionCriteria": { + "additionalProperties": false, + "properties": { + "ReplicaModifications": { + "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" + }, + "SseKmsEncryptedObjects": { + "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.SseKmsEncryptedObjects": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.StorageClassAnalysis": { + "additionalProperties": false, + "properties": { + "DataExport": { + "$ref": "#/definitions/AWS::S3::Bucket.DataExport" + } + }, + "type": "object" + }, + "AWS::S3::Bucket.TagFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::S3::Bucket.Tiering": { + "additionalProperties": false, + "properties": { + "AccessTier": { + "type": "string" + }, + "Days": { + "type": "number" + } + }, + "required": [ + "AccessTier", + "Days" + ], + "type": "object" + }, + "AWS::S3::Bucket.TopicConfiguration": { + "additionalProperties": false, + "properties": { + "Event": { + "type": "string" + }, + "Filter": { + "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" + }, + "Topic": { + "type": "string" + } + }, + "required": [ + "Event", + "Topic" + ], + "type": "object" + }, + "AWS::S3::Bucket.Transition": { + "additionalProperties": false, + "properties": { + "StorageClass": { + "type": "string" + }, + "TransitionDate": { + "type": "string" + }, + "TransitionInDays": { + "type": "number" + } + }, + "required": [ + "StorageClass" + ], + "type": "object" + }, + "AWS::S3::Bucket.VersioningConfiguration": { + "additionalProperties": false, + "properties": { + "Status": { + "type": "string" + } + }, + "required": [ + "Status" + ], + "type": "object" + }, + "AWS::S3::Bucket.WebsiteConfiguration": { + "additionalProperties": false, + "properties": { + "ErrorDocument": { + "type": "string" + }, + "IndexDocument": { + "type": "string" + }, + "RedirectAllRequestsTo": { + "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" + }, + "RoutingRules": { + "items": { + "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "StorageLensConfiguration": { + "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "StorageLensConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3::StorageLens" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3::StorageLens.AccountLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "BucketLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" + } + }, + "required": [ + "BucketLevel" + ], + "type": "object" + }, + "AWS::S3::StorageLens.ActivityMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.AwsOrg": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::S3::StorageLens.BucketLevel": { + "additionalProperties": false, + "properties": { + "ActivityMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" + }, + "PrefixLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.BucketsAndRegions": { + "additionalProperties": false, + "properties": { + "Buckets": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Regions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.DataExport": { + "additionalProperties": false, + "properties": { + "S3BucketDestination": { + "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" + } + }, + "required": [ + "S3BucketDestination" + ], + "type": "object" + }, + "AWS::S3::StorageLens.Encryption": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevel": { + "additionalProperties": false, + "properties": { + "StorageMetrics": { + "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" + } + }, + "required": [ + "StorageMetrics" + ], + "type": "object" + }, + "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { + "additionalProperties": false, + "properties": { + "IsEnabled": { + "type": "boolean" + }, + "SelectionCriteria": { + "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.S3BucketDestination": { + "additionalProperties": false, + "properties": { + "AccountId": { + "type": "string" + }, + "Arn": { + "type": "string" + }, + "Encryption": { + "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" + }, + "Format": { + "type": "string" + }, + "OutputSchemaVersion": { + "type": "string" + }, + "Prefix": { + "type": "string" + } + }, + "required": [ + "AccountId", + "Arn", + "Format", + "OutputSchemaVersion" + ], + "type": "object" + }, + "AWS::S3::StorageLens.SelectionCriteria": { + "additionalProperties": false, + "properties": { + "Delimiter": { + "type": "string" + }, + "MaxDepth": { + "type": "number" + }, + "MinStorageBytesPercentage": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::S3::StorageLens.StorageLensConfiguration": { + "additionalProperties": false, + "properties": { + "AccountLevel": { + "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" + }, + "AwsOrg": { + "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" + }, + "DataExport": { + "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" + }, + "Exclude": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "Id": { + "type": "string" + }, + "Include": { + "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" + }, + "IsEnabled": { + "type": "boolean" + }, + "StorageLensArn": { + "type": "string" + } + }, + "required": [ + "AccountLevel", + "Id", + "IsEnabled" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "ObjectLambdaConfiguration": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { + "additionalProperties": false, + "properties": { + "AllowedFeatures": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "SupportingAccessPoint": { + "type": "string" + }, + "TransformationConfigurations": { + "items": { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" + }, + "type": "array" + } + }, + "required": [ + "SupportingAccessPoint", + "TransformationConfigurations" + ], + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentTransformation": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::S3ObjectLambda::AccessPointPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ObjectLambdaAccessPoint": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "ObjectLambdaAccessPoint", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3ObjectLambda::AccessPointPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policy": { + "type": "object" + }, + "VpcConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" + } + }, + "required": [ + "Bucket", + "Name", + "VpcConfiguration" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::AccessPoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::AccessPoint.VpcConfiguration": { + "additionalProperties": false, + "properties": { + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::Bucket": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "LifecycleConfiguration": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" + }, + "OutpostId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "BucketName", + "OutpostId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Bucket" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { + "additionalProperties": false, + "properties": { + "DaysAfterInitiation": { + "type": "number" + } + }, + "required": [ + "DaysAfterInitiation" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.LifecycleConfiguration": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::S3Outposts::Bucket.Rule": { + "additionalProperties": false, + "properties": { + "AbortIncompleteMultipartUpload": { + "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" + }, + "ExpirationDate": { + "type": "string" + }, + "ExpirationInDays": { + "type": "number" + }, + "Filter": { + "type": "object" + }, + "Id": { + "type": "string" + }, + "Status": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::S3Outposts::BucketPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "PolicyDocument": { + "type": "object" + } + }, + "required": [ + "Bucket", + "PolicyDocument" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::BucketPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessType": { + "type": "string" + }, + "CustomerOwnedIpv4Pool": { + "type": "string" + }, + "OutpostId": { + "type": "string" + }, + "SecurityGroupId": { + "type": "string" + }, + "SubnetId": { + "type": "string" + } + }, + "required": [ + "OutpostId", + "SecurityGroupId", + "SubnetId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::S3Outposts::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::S3Outposts::Endpoint.NetworkInterface": { + "additionalProperties": false, + "properties": { + "NetworkInterfaceId": { + "type": "string" + } + }, + "required": [ + "NetworkInterfaceId" + ], + "type": "object" + }, + "AWS::SDB::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SDB::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConfigurationSetName": { + "type": "string" + }, + "EventDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" + } + }, + "required": [ + "ConfigurationSetName", + "EventDestination" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ConfigurationSetEventDestination" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { + "additionalProperties": false, + "properties": { + "DimensionConfigurations": { + "items": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { + "additionalProperties": false, + "properties": { + "DefaultDimensionValue": { + "type": "string" + }, + "DimensionName": { + "type": "string" + }, + "DimensionValueSource": { + "type": "string" + } + }, + "required": [ + "DefaultDimensionValue", + "DimensionName", + "DimensionValueSource" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.EventDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" + }, + "Enabled": { + "type": "boolean" + }, + "KinesisFirehoseDestination": { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" + }, + "MatchingEventTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "MatchingEventTypes" + ], + "type": "object" + }, + "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { + "additionalProperties": false, + "properties": { + "DeliveryStreamARN": { + "type": "string" + }, + "IAMRoleARN": { + "type": "string" + } + }, + "required": [ + "DeliveryStreamARN", + "IAMRoleARN" + ], + "type": "object" + }, + "AWS::SES::ContactList": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContactListName": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Topics": { + "items": { + "$ref": "#/definitions/AWS::SES::ContactList.Topic" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ContactList" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::ContactList.Topic": { + "additionalProperties": false, + "properties": { + "DefaultSubscriptionStatus": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "TopicName": { + "type": "string" + } + }, + "required": [ + "DefaultSubscriptionStatus", + "DisplayName", + "TopicName" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Filter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" + } + }, + "required": [ + "Filter" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptFilter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.Filter": { + "additionalProperties": false, + "properties": { + "IpFilter": { + "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "IpFilter" + ], + "type": "object" + }, + "AWS::SES::ReceiptFilter.IpFilter": { + "additionalProperties": false, + "properties": { + "Cidr": { + "type": "string" + }, + "Policy": { + "type": "string" + } + }, + "required": [ + "Cidr", + "Policy" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "After": { + "type": "string" + }, + "Rule": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" + }, + "RuleSetName": { + "type": "string" + } + }, + "required": [ + "Rule", + "RuleSetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Action": { + "additionalProperties": false, + "properties": { + "AddHeaderAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" + }, + "BounceAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" + }, + "LambdaAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" + }, + "S3Action": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" + }, + "SNSAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" + }, + "StopAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" + }, + "WorkmailAction": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.AddHeaderAction": { + "additionalProperties": false, + "properties": { + "HeaderName": { + "type": "string" + }, + "HeaderValue": { + "type": "string" + } + }, + "required": [ + "HeaderName", + "HeaderValue" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.BounceAction": { + "additionalProperties": false, + "properties": { + "Message": { + "type": "string" + }, + "Sender": { + "type": "string" + }, + "SmtpReplyCode": { + "type": "string" + }, + "StatusCode": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Message", + "Sender", + "SmtpReplyCode" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.LambdaAction": { + "additionalProperties": false, + "properties": { + "FunctionArn": { + "type": "string" + }, + "InvocationType": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "FunctionArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.Rule": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Name": { + "type": "string" + }, + "Recipients": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScanEnabled": { + "type": "boolean" + }, + "TlsPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.S3Action": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "ObjectKeyPrefix": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.SNSAction": { + "additionalProperties": false, + "properties": { + "Encoding": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SES::ReceiptRule.StopAction": { + "additionalProperties": false, + "properties": { + "Scope": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Scope" + ], + "type": "object" + }, + "AWS::SES::ReceiptRule.WorkmailAction": { + "additionalProperties": false, + "properties": { + "OrganizationArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "OrganizationArn" + ], + "type": "object" + }, + "AWS::SES::ReceiptRuleSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleSetName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::ReceiptRuleSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Template": { + "$ref": "#/definitions/AWS::SES::Template.Template" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SES::Template" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SES::Template.Template": { + "additionalProperties": false, + "properties": { + "HtmlPart": { + "type": "string" + }, + "SubjectPart": { + "type": "string" + }, + "TemplateName": { + "type": "string" + }, + "TextPart": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SNS::Subscription": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeliveryPolicy": { + "type": "object" + }, + "Endpoint": { + "type": "string" + }, + "FilterPolicy": { + "type": "object" + }, + "Protocol": { + "type": "string" + }, + "RawMessageDelivery": { + "type": "boolean" + }, + "RedrivePolicy": { + "type": "object" + }, + "Region": { + "type": "string" + }, + "SubscriptionRoleArn": { + "type": "string" + }, + "TopicArn": { + "type": "string" + } + }, + "required": [ + "Protocol", + "TopicArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Subscription" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SNS::Topic": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DisplayName": { + "type": "string" + }, + "FifoTopic": { + "type": "boolean" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "Subscription": { + "items": { + "$ref": "#/definitions/AWS::SNS::Topic.Subscription" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TopicName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::Topic" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SNS::Topic.Subscription": { + "additionalProperties": false, + "properties": { + "Endpoint": { + "type": "string" + }, + "Protocol": { + "type": "string" + } + }, + "required": [ + "Endpoint", + "Protocol" + ], + "type": "object" + }, + "AWS::SNS::TopicPolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Topics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Topics" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SNS::TopicPolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SQS::Queue": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ContentBasedDeduplication": { + "type": "boolean" + }, + "DeduplicationScope": { + "type": "string" + }, + "DelaySeconds": { + "type": "number" + }, + "FifoQueue": { + "type": "boolean" + }, + "FifoThroughputLimit": { + "type": "string" + }, + "KmsDataKeyReusePeriodSeconds": { + "type": "number" + }, + "KmsMasterKeyId": { + "type": "string" + }, + "MaximumMessageSize": { + "type": "number" + }, + "MessageRetentionPeriod": { + "type": "number" + }, + "QueueName": { + "type": "string" + }, + "ReceiveMessageWaitTimeSeconds": { + "type": "number" + }, + "RedrivePolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityTimeout": { + "type": "number" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::Queue" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SQS::QueuePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PolicyDocument": { + "type": "object" + }, + "Queues": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "PolicyDocument", + "Queues" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SQS::QueuePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApplyOnlyAtCronInterval": { + "type": "boolean" + }, + "AssociationName": { + "type": "string" + }, + "AutomationTargetParameterName": { + "type": "string" + }, + "CalendarNames": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ComplianceSeverity": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "InstanceId": { + "type": "string" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OutputLocation": { + "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "ScheduleExpression": { + "type": "string" + }, + "SyncCompliance": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::Association.Target" + }, + "type": "array" + }, + "WaitForSuccessTimeoutSeconds": { + "type": "number" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Association" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Association.InstanceAssociationOutputLocation": { + "additionalProperties": false, + "properties": { + "S3Location": { + "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" + } + }, + "type": "object" + }, + "AWS::SSM::Association.S3OutputLocation": { + "additionalProperties": false, + "properties": { + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "OutputS3Region": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::Association.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::Document": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attachments": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" + }, + "type": "array" + }, + "Content": { + "type": "object" + }, + "DocumentFormat": { + "type": "string" + }, + "DocumentType": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Requires": { + "items": { + "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "TargetType": { + "type": "string" + }, + "VersionName": { + "type": "string" + } + }, + "required": [ + "Content" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Document" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::Document.AttachmentsSource": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::Document.DocumentRequires": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindow": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowUnassociatedTargets": { + "type": "boolean" + }, + "Cutoff": { + "type": "number" + }, + "Description": { + "type": "string" + }, + "Duration": { + "type": "number" + }, + "EndDate": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Schedule": { + "type": "string" + }, + "ScheduleOffset": { + "type": "number" + }, + "ScheduleTimezone": { + "type": "string" + }, + "StartDate": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AllowUnassociatedTargets", + "Cutoff", + "Duration", + "Name", + "Schedule" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindow" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "OwnerInformation": { + "type": "string" + }, + "ResourceType": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" + }, + "type": "array" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "ResourceType", + "Targets", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTarget" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTarget.Targets": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "LoggingInfo": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" + }, + "MaxConcurrency": { + "type": "string" + }, + "MaxErrors": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ServiceRoleArn": { + "type": "string" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" + }, + "type": "array" + }, + "TaskArn": { + "type": "string" + }, + "TaskInvocationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" + }, + "TaskParameters": { + "type": "object" + }, + "TaskType": { + "type": "string" + }, + "WindowId": { + "type": "string" + } + }, + "required": [ + "Priority", + "TaskArn", + "TaskType", + "WindowId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::MaintenanceWindowTask" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { + "additionalProperties": false, + "properties": { + "Region": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Prefix": { + "type": "string" + } + }, + "required": [ + "Region", + "S3Bucket" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { + "additionalProperties": false, + "properties": { + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { + "additionalProperties": false, + "properties": { + "ClientContext": { + "type": "string" + }, + "Payload": { + "type": "string" + }, + "Qualifier": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { + "additionalProperties": false, + "properties": { + "Comment": { + "type": "string" + }, + "DocumentHash": { + "type": "string" + }, + "DocumentHashType": { + "type": "string" + }, + "NotificationConfig": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" + }, + "OutputS3BucketName": { + "type": "string" + }, + "OutputS3KeyPrefix": { + "type": "string" + }, + "Parameters": { + "type": "object" + }, + "ServiceRoleArn": { + "type": "string" + }, + "TimeoutSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { + "additionalProperties": false, + "properties": { + "NotificationArn": { + "type": "string" + }, + "NotificationEvents": { + "items": { + "type": "string" + }, + "type": "array" + }, + "NotificationType": { + "type": "string" + } + }, + "required": [ + "NotificationArn" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.Target": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { + "additionalProperties": false, + "properties": { + "MaintenanceWindowAutomationParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" + }, + "MaintenanceWindowLambdaParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" + }, + "MaintenanceWindowRunCommandParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" + }, + "MaintenanceWindowStepFunctionsParameters": { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" + } + }, + "type": "object" + }, + "AWS::SSM::Parameter": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "DataType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Policies": { + "type": "string" + }, + "Tags": { + "type": "object" + }, + "Tier": { + "type": "string" + }, + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::Parameter" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ApprovalRules": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" + }, + "ApprovedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ApprovedPatchesComplianceLevel": { + "type": "string" + }, + "ApprovedPatchesEnableNonSecurity": { + "type": "boolean" + }, + "Description": { + "type": "string" + }, + "GlobalFilters": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + }, + "Name": { + "type": "string" + }, + "OperatingSystem": { + "type": "string" + }, + "PatchGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatches": { + "items": { + "type": "string" + }, + "type": "array" + }, + "RejectedPatchesAction": { + "type": "string" + }, + "Sources": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::PatchBaseline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchFilterGroup": { + "additionalProperties": false, + "properties": { + "PatchFilters": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchSource": { + "additionalProperties": false, + "properties": { + "Configuration": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Products": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.PatchStringDate": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SSM::PatchBaseline.Rule": { + "additionalProperties": false, + "properties": { + "ApproveAfterDays": { + "type": "number" + }, + "ApproveUntilDate": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" + }, + "ComplianceLevel": { + "type": "string" + }, + "EnableNonSecurity": { + "type": "boolean" + }, + "PatchFilterGroup": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" + } + }, + "type": "object" + }, + "AWS::SSM::PatchBaseline.RuleGroup": { + "additionalProperties": false, + "properties": { + "PatchRules": { + "items": { + "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSM::ResourceDataSync": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "S3Destination": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" + }, + "SyncFormat": { + "type": "string" + }, + "SyncName": { + "type": "string" + }, + "SyncSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" + }, + "SyncType": { + "type": "string" + } + }, + "required": [ + "SyncName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSM::ResourceDataSync" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { + "additionalProperties": false, + "properties": { + "OrganizationSourceType": { + "type": "string" + }, + "OrganizationalUnits": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "OrganizationSourceType" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.S3Destination": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + }, + "BucketPrefix": { + "type": "string" + }, + "BucketRegion": { + "type": "string" + }, + "KMSKeyArn": { + "type": "string" + }, + "SyncFormat": { + "type": "string" + } + }, + "required": [ + "BucketName", + "BucketRegion", + "SyncFormat" + ], + "type": "object" + }, + "AWS::SSM::ResourceDataSync.SyncSource": { + "additionalProperties": false, + "properties": { + "AwsOrganizationsSource": { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" + }, + "IncludeFutureRegions": { + "type": "boolean" + }, + "SourceRegions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceType": { + "type": "string" + } + }, + "required": [ + "SourceRegions", + "SourceType" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Alias": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "Plan": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Alias", + "DisplayName", + "Plan", + "Type" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::Contact" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ChannelTargetInfo": { + "additionalProperties": false, + "properties": { + "ChannelId": { + "type": "string" + }, + "RetryIntervalInMinutes": { + "type": "number" + } + }, + "required": [ + "ChannelId", + "RetryIntervalInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.ContactTargetInfo": { + "additionalProperties": false, + "properties": { + "ContactId": { + "type": "string" + }, + "IsEssential": { + "type": "boolean" + } + }, + "required": [ + "ContactId", + "IsEssential" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Stage": { + "additionalProperties": false, + "properties": { + "DurationInMinutes": { + "type": "number" + }, + "Targets": { + "items": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" + }, + "type": "array" + } + }, + "required": [ + "DurationInMinutes" + ], + "type": "object" + }, + "AWS::SSMContacts::Contact.Targets": { + "additionalProperties": false, + "properties": { + "ChannelTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" + }, + "ContactTargetInfo": { + "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" + } + }, + "type": "object" + }, + "AWS::SSMContacts::ContactChannel": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ChannelAddress": { + "type": "string" + }, + "ChannelName": { + "type": "string" + }, + "ChannelType": { + "type": "string" + }, + "ContactId": { + "type": "string" + }, + "DeferActivation": { + "type": "boolean" + } + }, + "required": [ + "ChannelAddress", + "ChannelName", + "ChannelType", + "ContactId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMContacts::ContactChannel" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeletionProtected": { + "type": "boolean" + }, + "Regions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" + }, + "type": "array" + } + }, + "required": [ + "Regions" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ReplicationSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { + "additionalProperties": false, + "properties": { + "SseKmsKeyId": { + "type": "string" + } + }, + "required": [ + "SseKmsKeyId" + ], + "type": "object" + }, + "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { + "additionalProperties": false, + "properties": { + "RegionConfiguration": { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" + }, + "RegionName": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Actions": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" + }, + "type": "array" + }, + "ChatChannel": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" + }, + "DisplayName": { + "type": "string" + }, + "Engagements": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IncidentTemplate": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "IncidentTemplate", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSMIncidents::ResponsePlan" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.Action": { + "additionalProperties": false, + "properties": { + "SsmAutomation": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.ChatChannel": { + "additionalProperties": false, + "properties": { + "ChatbotSns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { + "additionalProperties": false, + "properties": { + "DedupeString": { + "type": "string" + }, + "Impact": { + "type": "number" + }, + "NotificationTargets": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" + }, + "type": "array" + }, + "Summary": { + "type": "string" + }, + "Title": { + "type": "string" + } + }, + "required": [ + "Impact", + "Title" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { + "additionalProperties": false, + "properties": { + "SnsTopicArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { + "additionalProperties": false, + "properties": { + "DocumentName": { + "type": "string" + }, + "DocumentVersion": { + "type": "string" + }, + "Parameters": { + "items": { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" + }, + "type": "array" + }, + "RoleArn": { + "type": "string" + }, + "TargetAccount": { + "type": "string" + } + }, + "required": [ + "DocumentName", + "RoleArn" + ], + "type": "object" + }, + "AWS::SSMIncidents::ResponsePlan.SsmParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Key", + "Values" + ], + "type": "object" + }, + "AWS::SSO::Assignment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceArn": { + "type": "string" + }, + "PermissionSetArn": { + "type": "string" + }, + "PrincipalId": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "InstanceArn", + "PermissionSetArn", + "PrincipalId", + "PrincipalType", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::Assignment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessControlAttributes": { + "items": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" + }, + "type": "array" + }, + "InstanceArn": { + "type": "string" + } + }, + "required": [ + "InstanceArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::InstanceAccessControlAttributeConfiguration" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { + "additionalProperties": false, + "properties": { + "Source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Source" + ], + "type": "object" + }, + "AWS::SSO::PermissionSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "InlinePolicy": { + "type": "object" + }, + "InstanceArn": { + "type": "string" + }, + "ManagedPolicies": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "RelayStateType": { + "type": "string" + }, + "SessionDuration": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "InstanceArn", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SSO::PermissionSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppName": { + "type": "string" + }, + "AppType": { + "type": "string" + }, + "DomainId": { + "type": "string" + }, + "ResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + } + }, + "required": [ + "AppName", + "AppType", + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::App" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::App.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "KernelGatewayImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "AppImageConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::AppImageConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "DefaultGid": { + "type": "number" + }, + "DefaultUid": { + "type": "number" + }, + "MountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { + "additionalProperties": false, + "properties": { + "FileSystemConfig": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" + }, + "KernelSpecs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" + }, + "type": "array" + } + }, + "required": [ + "KernelSpecs" + ], + "type": "object" + }, + "AWS::SageMaker::AppImageConfig.KernelSpec": { + "additionalProperties": false, + "properties": { + "DisplayName": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CodeRepositoryName": { + "type": "string" + }, + "GitConfig": { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "GitConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::CodeRepository" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::CodeRepository.GitConfig": { + "additionalProperties": false, + "properties": { + "Branch": { + "type": "string" + }, + "RepositoryUrl": { + "type": "string" + }, + "SecretArn": { + "type": "string" + } + }, + "required": [ + "RepositoryUrl" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" + }, + "DataQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" + }, + "DataQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" + }, + "DataQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" + }, + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DataQualityAppSpecification", + "DataQualityJobInput", + "DataQualityJobOutputConfig", + "JobResources", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DataQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::Device": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Device": { + "type": "object" + }, + "DeviceFleetName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Device" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Device.Device": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceName": { + "type": "string" + }, + "IotThingName": { + "type": "string" + } + }, + "required": [ + "DeviceName" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DeviceFleetName": { + "type": "string" + }, + "OutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DeviceFleetName", + "OutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::DeviceFleet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "S3OutputLocation": { + "type": "string" + } + }, + "required": [ + "S3OutputLocation" + ], + "type": "object" + }, + "AWS::SageMaker::Domain": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AppNetworkAccessType": { + "type": "string" + }, + "AuthMode": { + "type": "string" + }, + "DefaultUserSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" + }, + "DomainName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "AuthMode", + "DefaultUserSettings", + "DomainName", + "SubnetIds", + "VpcId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Domain" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::Domain.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Domain.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Endpoint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DeploymentConfig": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "ExcludeRetainedVariantProperties": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" + }, + "type": "array" + }, + "RetainAllVariantProperties": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EndpointConfigName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Endpoint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.Alarm": { + "additionalProperties": false, + "properties": { + "AlarmName": { + "type": "string" + } + }, + "required": [ + "AlarmName" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.AutoRollbackConfig": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" + }, + "type": "array" + } + }, + "required": [ + "Alarms" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { + "additionalProperties": false, + "properties": { + "MaximumExecutionTimeoutInSeconds": { + "type": "number" + }, + "TerminationWaitInSeconds": { + "type": "number" + }, + "TrafficRoutingConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" + } + }, + "required": [ + "TrafficRoutingConfiguration" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.CapacitySize": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.DeploymentConfig": { + "additionalProperties": false, + "properties": { + "AutoRollbackConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" + }, + "BlueGreenUpdatePolicy": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" + } + }, + "required": [ + "BlueGreenUpdatePolicy" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { + "additionalProperties": false, + "properties": { + "CanarySize": { + "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" + }, + "Type": { + "type": "string" + }, + "WaitIntervalInSeconds": { + "type": "number" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Endpoint.VariantProperty": { + "additionalProperties": false, + "properties": { + "VariantPropertyType": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DataCaptureConfig": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" + }, + "EndpointConfigName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "ProductionVariants": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProductionVariants" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::EndpointConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { + "additionalProperties": false, + "properties": { + "CsvContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "JsonContentTypes": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.CaptureOption": { + "additionalProperties": false, + "properties": { + "CaptureMode": { + "type": "string" + } + }, + "required": [ + "CaptureMode" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { + "additionalProperties": false, + "properties": { + "CaptureContentTypeHeader": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" + }, + "CaptureOptions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" + }, + "type": "array" + }, + "DestinationS3Uri": { + "type": "string" + }, + "EnableCapture": { + "type": "boolean" + }, + "InitialSamplingPercentage": { + "type": "number" + }, + "KmsKeyId": { + "type": "string" + } + }, + "required": [ + "CaptureOptions", + "DestinationS3Uri", + "InitialSamplingPercentage" + ], + "type": "object" + }, + "AWS::SageMaker::EndpointConfig.ProductionVariant": { + "additionalProperties": false, + "properties": { + "AcceleratorType": { + "type": "string" + }, + "InitialInstanceCount": { + "type": "number" + }, + "InitialVariantWeight": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "ModelName": { + "type": "string" + }, + "VariantName": { + "type": "string" + } + }, + "required": [ + "InitialInstanceCount", + "InitialVariantWeight", + "InstanceType", + "ModelName", + "VariantName" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "EventTimeFeatureName": { + "type": "string" + }, + "FeatureDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" + }, + "type": "array" + }, + "FeatureGroupName": { + "type": "string" + }, + "OfflineStoreConfig": { + "type": "object" + }, + "OnlineStoreConfig": { + "type": "object" + }, + "RecordIdentifierFeatureName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "EventTimeFeatureName", + "FeatureDefinitions", + "FeatureGroupName", + "RecordIdentifierFeatureName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::FeatureGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::FeatureGroup.FeatureDefinition": { + "additionalProperties": false, + "properties": { + "FeatureName": { + "type": "string" + }, + "FeatureType": { + "type": "string" + } + }, + "required": [ + "FeatureName", + "FeatureType" + ], + "type": "object" + }, + "AWS::SageMaker::Image": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ImageDescription": { + "type": "string" + }, + "ImageDisplayName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageRoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ImageName", + "ImageRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Image" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ImageVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BaseImage": { + "type": "string" + }, + "ImageName": { + "type": "string" + } + }, + "required": [ + "BaseImage", + "ImageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ImageVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Containers": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "type": "array" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "InferenceExecutionConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" + }, + "ModelName": { + "type": "string" + }, + "PrimaryContainer": { + "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" + } + }, + "required": [ + "ExecutionRoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Model" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Model.ContainerDefinition": { + "additionalProperties": false, + "properties": { + "ContainerHostname": { + "type": "string" + }, + "Environment": { + "type": "object" + }, + "Image": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" + }, + "Mode": { + "type": "string" + }, + "ModelDataUrl": { + "type": "string" + }, + "ModelPackageName": { + "type": "string" + }, + "MultiModelConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.ImageConfig": { + "additionalProperties": false, + "properties": { + "RepositoryAccessMode": { + "type": "string" + }, + "RepositoryAuthConfig": { + "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" + } + }, + "required": [ + "RepositoryAccessMode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.InferenceExecutionConfig": { + "additionalProperties": false, + "properties": { + "Mode": { + "type": "string" + } + }, + "required": [ + "Mode" + ], + "type": "object" + }, + "AWS::SageMaker::Model.MultiModelConfig": { + "additionalProperties": false, + "properties": { + "ModelCacheSetting": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Model.RepositoryAuthConfig": { + "additionalProperties": false, + "properties": { + "RepositoryCredentialsProviderArn": { + "type": "string" + } + }, + "required": [ + "RepositoryCredentialsProviderArn" + ], + "type": "object" + }, + "AWS::SageMaker::Model.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" + }, + "ModelBiasAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" + }, + "ModelBiasBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" + }, + "ModelBiasJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" + }, + "ModelBiasJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelBiasAppSpecification", + "ModelBiasJobInput", + "ModelBiasJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelBiasJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" + }, + "ModelExplainabilityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" + }, + "ModelExplainabilityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" + }, + "ModelExplainabilityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" + }, + "ModelExplainabilityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelExplainabilityAppSpecification", + "ModelExplainabilityJobInput", + "ModelExplainabilityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelExplainabilityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FeaturesAttribute": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { + "additionalProperties": false, + "properties": { + "ConfigUri": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + } + }, + "required": [ + "ConfigUri", + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::ModelPackageGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ModelPackageGroupDescription": { + "type": "string" + }, + "ModelPackageGroupName": { + "type": "string" + }, + "ModelPackageGroupPolicy": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ModelPackageGroupName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelPackageGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "JobDefinitionName": { + "type": "string" + }, + "JobResources": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" + }, + "ModelQualityAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" + }, + "ModelQualityBaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" + }, + "ModelQualityJobInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" + }, + "ModelQualityJobOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "JobResources", + "ModelQualityAppSpecification", + "ModelQualityJobInput", + "ModelQualityJobOutputConfig", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::ModelQualityJobDefinition" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndTimeOffset": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "InferenceAttribute": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "ProbabilityAttribute": { + "type": "string" + }, + "ProbabilityThresholdAttribute": { + "type": "number" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + }, + "StartTimeOffset": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "ProblemType": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri", + "ProblemType" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { + "additionalProperties": false, + "properties": { + "BaseliningJobName": { + "type": "string" + }, + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" + }, + "GroundTruthS3Input": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" + } + }, + "required": [ + "EndpointInput", + "GroundTruthS3Input" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "required": [ + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastMonitoringExecutionSummary": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" + }, + "MonitoringScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "MonitoringScheduleStatus": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "MonitoringScheduleConfig", + "MonitoringScheduleName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::MonitoringSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { + "additionalProperties": false, + "properties": { + "ConstraintsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" + }, + "StatisticsResource": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { + "additionalProperties": false, + "properties": { + "InstanceCount": { + "type": "number" + }, + "InstanceType": { + "type": "string" + }, + "VolumeKmsKeyId": { + "type": "string" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.EndpointInput": { + "additionalProperties": false, + "properties": { + "EndpointName": { + "type": "string" + }, + "LocalPath": { + "type": "string" + }, + "S3DataDistributionType": { + "type": "string" + }, + "S3InputMode": { + "type": "string" + } + }, + "required": [ + "EndpointName", + "LocalPath" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.Environment": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { + "additionalProperties": false, + "properties": { + "ContainerArguments": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContainerEntrypoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ImageUri": { + "type": "string" + }, + "PostAnalyticsProcessorSourceUri": { + "type": "string" + }, + "RecordPreprocessorSourceUri": { + "type": "string" + } + }, + "required": [ + "ImageUri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { + "additionalProperties": false, + "properties": { + "CreationTime": { + "type": "string" + }, + "EndpointName": { + "type": "string" + }, + "FailureReason": { + "type": "string" + }, + "LastModifiedTime": { + "type": "string" + }, + "MonitoringExecutionStatus": { + "type": "string" + }, + "MonitoringScheduleName": { + "type": "string" + }, + "ProcessingJobArn": { + "type": "string" + }, + "ScheduledTime": { + "type": "string" + } + }, + "required": [ + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus", + "MonitoringScheduleName", + "ScheduledTime" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { + "additionalProperties": false, + "properties": { + "EndpointInput": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" + } + }, + "required": [ + "EndpointInput" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { + "additionalProperties": false, + "properties": { + "BaselineConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" + }, + "Environment": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" + }, + "MonitoringAppSpecification": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" + }, + "MonitoringInputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" + }, + "type": "array" + }, + "MonitoringOutputConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" + }, + "MonitoringResources": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" + }, + "NetworkConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" + }, + "RoleArn": { + "type": "string" + }, + "StoppingCondition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" + } + }, + "required": [ + "MonitoringAppSpecification", + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "RoleArn" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { + "additionalProperties": false, + "properties": { + "S3Output": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" + } + }, + "required": [ + "S3Output" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "MonitoringOutputs": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" + }, + "type": "array" + } + }, + "required": [ + "MonitoringOutputs" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { + "additionalProperties": false, + "properties": { + "ClusterConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" + } + }, + "required": [ + "ClusterConfig" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { + "additionalProperties": false, + "properties": { + "MonitoringJobDefinition": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" + }, + "MonitoringJobDefinitionName": { + "type": "string" + }, + "MonitoringType": { + "type": "string" + }, + "ScheduleConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { + "additionalProperties": false, + "properties": { + "EnableInterContainerTrafficEncryption": { + "type": "boolean" + }, + "EnableNetworkIsolation": { + "type": "boolean" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.S3Output": { + "additionalProperties": false, + "properties": { + "LocalPath": { + "type": "string" + }, + "S3UploadMode": { + "type": "string" + }, + "S3Uri": { + "type": "string" + } + }, + "required": [ + "LocalPath", + "S3Uri" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { + "additionalProperties": false, + "properties": { + "ScheduleExpression": { + "type": "string" + } + }, + "required": [ + "ScheduleExpression" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { + "additionalProperties": false, + "properties": { + "S3Uri": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { + "additionalProperties": false, + "properties": { + "MaxRuntimeInSeconds": { + "type": "number" + } + }, + "required": [ + "MaxRuntimeInSeconds" + ], + "type": "object" + }, + "AWS::SageMaker::MonitoringSchedule.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Subnets": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "Subnets" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceleratorTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdditionalCodeRepositories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "DefaultCodeRepository": { + "type": "string" + }, + "DirectInternetAccess": { + "type": "string" + }, + "InstanceType": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "LifecycleConfigName": { + "type": "string" + }, + "NotebookInstanceName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "RootAccess": { + "type": "string" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VolumeSizeInGB": { + "type": "number" + } + }, + "required": [ + "InstanceType", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "NotebookInstanceLifecycleConfigName": { + "type": "string" + }, + "OnCreate": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + }, + "OnStart": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::NotebookInstanceLifecycleConfig" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::Pipeline": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PipelineDefinition": { + "type": "object" + }, + "PipelineDescription": { + "type": "string" + }, + "PipelineDisplayName": { + "type": "string" + }, + "PipelineName": { + "type": "string" + }, + "RoleArn": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PipelineDefinition", + "PipelineName", + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Pipeline" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::Project": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProjectDescription": { + "type": "string" + }, + "ProjectName": { + "type": "string" + }, + "ServiceCatalogProvisioningDetails": { + "type": "object" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ProjectName", + "ServiceCatalogProvisioningDetails" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Project" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DomainId": { + "type": "string" + }, + "SingleSignOnUserIdentifier": { + "type": "string" + }, + "SingleSignOnUserValue": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserProfileName": { + "type": "string" + }, + "UserSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" + } + }, + "required": [ + "DomainId", + "UserProfileName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::UserProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.CustomImage": { + "additionalProperties": false, + "properties": { + "AppImageConfigName": { + "type": "string" + }, + "ImageName": { + "type": "string" + }, + "ImageVersionNumber": { + "type": "number" + } + }, + "required": [ + "AppImageConfigName", + "ImageName" + ], + "type": "object" + }, + "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { + "additionalProperties": false, + "properties": { + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { + "additionalProperties": false, + "properties": { + "CustomImages": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" + }, + "type": "array" + }, + "DefaultResourceSpec": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.ResourceSpec": { + "additionalProperties": false, + "properties": { + "InstanceType": { + "type": "string" + }, + "SageMakerImageArn": { + "type": "string" + }, + "SageMakerImageVersionArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.SharingSettings": { + "additionalProperties": false, + "properties": { + "NotebookOutputOption": { + "type": "string" + }, + "S3KmsKeyId": { + "type": "string" + }, + "S3OutputPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SageMaker::UserProfile.UserSettings": { + "additionalProperties": false, + "properties": { + "ExecutionRole": { + "type": "string" + }, + "JupyterServerAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" + }, + "KernelGatewayAppSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" + }, + "SecurityGroups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SharingSettings": { + "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" + } + }, + "type": "object" + }, + "AWS::SageMaker::Workteam": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "MemberDefinitions": { + "items": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" + }, + "type": "array" + }, + "NotificationConfiguration": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "WorkteamName": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SageMaker::Workteam" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.CognitoMemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoClientId": { + "type": "string" + }, + "CognitoUserGroup": { + "type": "string" + }, + "CognitoUserPool": { + "type": "string" + } + }, + "required": [ + "CognitoClientId", + "CognitoUserGroup", + "CognitoUserPool" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.MemberDefinition": { + "additionalProperties": false, + "properties": { + "CognitoMemberDefinition": { + "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" + } + }, + "required": [ + "CognitoMemberDefinition" + ], + "type": "object" + }, + "AWS::SageMaker::Workteam.NotificationConfiguration": { + "additionalProperties": false, + "properties": { + "NotificationTopicArn": { + "type": "string" + } + }, + "required": [ + "NotificationTopicArn" + ], + "type": "object" + }, + "AWS::SecretsManager::ResourcePolicy": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BlockPublicPolicy": { + "type": "boolean" + }, + "ResourcePolicy": { + "type": "object" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "ResourcePolicy", + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::ResourcePolicy" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HostedRotationLambda": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" + }, + "RotationLambdaARN": { + "type": "string" + }, + "RotationRules": { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" + }, + "SecretId": { + "type": "string" + } + }, + "required": [ + "SecretId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::RotationSchedule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { + "additionalProperties": false, + "properties": { + "KmsKeyArn": { + "type": "string" + }, + "MasterSecretArn": { + "type": "string" + }, + "MasterSecretKmsKeyArn": { + "type": "string" + }, + "RotationLambdaName": { + "type": "string" + }, + "RotationType": { + "type": "string" + }, + "VpcSecurityGroupIds": { + "type": "string" + }, + "VpcSubnetIds": { + "type": "string" + } + }, + "required": [ + "RotationType" + ], + "type": "object" + }, + "AWS::SecretsManager::RotationSchedule.RotationRules": { + "additionalProperties": false, + "properties": { + "AutomaticallyAfterDays": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "GenerateSecretString": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" + }, + "KmsKeyId": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "ReplicaRegions": { + "items": { + "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" + }, + "type": "array" + }, + "SecretString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::Secret" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::SecretsManager::Secret.GenerateSecretString": { + "additionalProperties": false, + "properties": { + "ExcludeCharacters": { + "type": "string" + }, + "ExcludeLowercase": { + "type": "boolean" + }, + "ExcludeNumbers": { + "type": "boolean" + }, + "ExcludePunctuation": { + "type": "boolean" + }, + "ExcludeUppercase": { + "type": "boolean" + }, + "GenerateStringKey": { + "type": "string" + }, + "IncludeSpace": { + "type": "boolean" + }, + "PasswordLength": { + "type": "number" + }, + "RequireEachIncludedType": { + "type": "boolean" + }, + "SecretStringTemplate": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::SecretsManager::Secret.ReplicaRegion": { + "additionalProperties": false, + "properties": { + "KmsKeyId": { + "type": "string" + }, + "Region": { + "type": "string" + } + }, + "required": [ + "Region" + ], + "type": "object" + }, + "AWS::SecretsManager::SecretTargetAttachment": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "SecretId": { + "type": "string" + }, + "TargetId": { + "type": "string" + }, + "TargetType": { + "type": "string" + } + }, + "required": [ + "SecretId", + "TargetId", + "TargetType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecretsManager::SecretTargetAttachment" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::SecurityHub::Hub": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Tags": { + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::SecurityHub::Hub" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Api": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Api.Auth" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" + }, + "Cors": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + } + ] + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" + }, + "GatewayResponses": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MethodSettings": { + "items": { + "type": "object" + }, + "type": "array" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "Models": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "OpenApiVersion": { + "type": "string" + }, + "StageName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "StageName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::Api" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Serverless::Api.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Api.Auth": { + "additionalProperties": false, + "properties": { + "Authorizers": { + "type": "object" + }, + "DefaultAuthorizer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Api.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::Serverless::Api.CorsConfiguration": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "type": "string" + }, + "AllowMethods": { + "type": "string" + }, + "AllowOrigin": { + "type": "string" + }, + "MaxAge": { + "type": "string" + } + }, + "required": [ + "AllowOrigin" + ], + "type": "object" + }, + "AWS::Serverless::Api.EndpointConfiguration": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "VpcEndpointIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Serverless::Api.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key", + "Version" + ], + "type": "object" + }, + "AWS::Serverless::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Location": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" + } + ] + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Parameters": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TimeoutInMinutes": { + "type": "number" + } + }, + "required": [ + "Location" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Serverless::Application.ApplicationLocation": { + "additionalProperties": false, + "properties": { + "ApplicationId": { + "type": "string" + }, + "SemanticVersion": { + "type": "string" + } + }, + "required": [ + "ApplicationId", + "SemanticVersion" + ], + "type": "object" + }, + "AWS::Serverless::Function": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "AutoPublishAlias": { + "type": "string" + }, + "AutoPublishCodeSha256": { + "type": "string" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "CodeUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Location" + } + ] + }, + "DeadLetterQueue": { + "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" + }, + "DeploymentPreference": { + "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" + }, + "EventInvokeConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::Function.EventSource" + } + }, + "type": "object" + }, + "FileSystemConfigs": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" + }, + "type": "array" + }, + "FunctionName": { + "type": "string" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" + }, + "ImageUri": { + "type": "string" + }, + "InlineCode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" + }, + "type": "array" + } + ] + }, + "ProvisionedConcurrencyConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Role": { + "type": "string" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "Tracing": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::Function" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.AlexaSkillEvent": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.ApiEvent": { + "additionalProperties": false, + "properties": { + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Function.Auth" + }, + "Method": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Method", + "Path" + ], + "type": "object" + }, + "AWS::Serverless::Function.Auth": { + "additionalProperties": false, + "properties": { + "ApiKeyRequired": { + "type": "boolean" + }, + "AuthorizationScopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Authorizer": { + "type": "string" + }, + "ResourcePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.AuthResourcePolicy" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.AuthResourcePolicy": { + "additionalProperties": false, + "properties": { + "AwsAccountBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AwsAccountWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CustomStatements": { + "items": { + "type": "object" + }, + "type": "array" + }, + "IntrinsicVpcBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IntrinsicVpcWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IntrinsicVpceBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IntrinsicVpceWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IpRangeBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "IpRangeWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceVpcBlacklist": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SourceVpcWhitelist": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.BucketSAMPT": { + "additionalProperties": false, + "properties": { + "BucketName": { + "type": "string" + } + }, + "required": [ + "BucketName" + ], + "type": "object" + }, + "AWS::Serverless::Function.CloudWatchEventEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::Function.CloudWatchLogsEvent": { + "additionalProperties": false, + "properties": { + "FilterPattern": { + "type": "string" + }, + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "FilterPattern", + "LogGroupName" + ], + "type": "object" + }, + "AWS::Serverless::Function.CollectionSAMPT": { + "additionalProperties": false, + "properties": { + "CollectionId": { + "type": "string" + } + }, + "required": [ + "CollectionId" + ], + "type": "object" + }, + "AWS::Serverless::Function.DeadLetterQueue": { + "additionalProperties": false, + "properties": { + "TargetArn": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TargetArn", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.DeploymentPreference": { + "additionalProperties": false, + "properties": { + "Alarms": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Enabled": { + "type": "boolean" + }, + "Hooks": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Role": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.Destination": { + "additionalProperties": false, + "properties": { + "Destination": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Destination" + ], + "type": "object" + }, + "AWS::Serverless::Function.DestinationConfig": { + "additionalProperties": false, + "properties": { + "OnFailure": { + "$ref": "#/definitions/AWS::Serverless::Function.Destination" + }, + "OnSuccess": { + "$ref": "#/definitions/AWS::Serverless::Function.Destination" + } + }, + "required": [ + "OnFailure", + "OnSuccess" + ], + "type": "object" + }, + "AWS::Serverless::Function.DomainSAMPT": { + "additionalProperties": false, + "properties": { + "DomainName": { + "type": "string" + } + }, + "required": [ + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::Function.DynamoDBEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "BisectBatchOnFunctionError": { + "type": "boolean" + }, + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" + }, + "Enabled": { + "type": "boolean" + }, + "MaximumBatchingWindowInSeconds": { + "type": "number" + }, + "MaximumRecordAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + }, + "ParallelizationFactor": { + "type": "number" + }, + "StartingPosition": { + "type": "string" + }, + "Stream": { + "type": "string" + } + }, + "required": [ + "StartingPosition", + "Stream" + ], + "type": "object" + }, + "AWS::Serverless::Function.EmptySAMPT": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Serverless::Function.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::Function.EventInvokeConfig": { + "additionalProperties": false, + "properties": { + "DestinationConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" + }, + "MaximumEventAgeInSeconds": { + "type": "number" + }, + "MaximumRetryAttempts": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.EventSource": { + "additionalProperties": false, + "properties": { + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Event" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" + } + ] + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Properties", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::Function.FileSystemConfig": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "LocalMountPath": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.FunctionEnvironment": { + "additionalProperties": false, + "properties": { + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Variables" + ], + "type": "object" + }, + "AWS::Serverless::Function.FunctionSAMPT": { + "additionalProperties": false, + "properties": { + "FunctionName": { + "type": "string" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "AWS::Serverless::Function.IAMPolicyDocument": { + "additionalProperties": false, + "properties": { + "Statement": { + "type": "object" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::Serverless::Function.IdentitySAMPT": { + "additionalProperties": false, + "properties": { + "IdentityName": { + "type": "string" + } + }, + "required": [ + "IdentityName" + ], + "type": "object" + }, + "AWS::Serverless::Function.ImageConfig": { + "additionalProperties": false, + "properties": { + "Command": { + "items": { + "type": "string" + }, + "type": "array" + }, + "EntryPoint": { + "items": { + "type": "string" + }, + "type": "array" + }, + "WorkingDirectory": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.IoTRuleEvent": { + "additionalProperties": false, + "properties": { + "AwsIotSqlVersion": { + "type": "string" + }, + "Sql": { + "type": "string" + } + }, + "required": [ + "Sql" + ], + "type": "object" + }, + "AWS::Serverless::Function.KeySAMPT": { + "additionalProperties": false, + "properties": { + "KeyId": { + "type": "string" + } + }, + "required": [ + "KeyId" + ], + "type": "object" + }, + "AWS::Serverless::Function.KinesisEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "StartingPosition": { + "type": "string" + }, + "Stream": { + "type": "string" + } + }, + "required": [ + "StartingPosition", + "Stream" + ], + "type": "object" + }, + "AWS::Serverless::Function.LogGroupSAMPT": { + "additionalProperties": false, + "properties": { + "LogGroupName": { + "type": "string" + } + }, + "required": [ + "LogGroupName" + ], + "type": "object" + }, + "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { + "additionalProperties": false, + "properties": { + "ProvisionedConcurrentExecutions": { + "type": "string" + } + }, + "required": [ + "ProvisionedConcurrentExecutions" + ], + "type": "object" + }, + "AWS::Serverless::Function.QueueSAMPT": { + "additionalProperties": false, + "properties": { + "QueueName": { + "type": "string" + } + }, + "required": [ + "QueueName" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3Event": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Events": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ] + }, + "Filter": { + "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" + } + }, + "required": [ + "Bucket", + "Events" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3KeyFilter": { + "additionalProperties": false, + "properties": { + "Rules": { + "items": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" + }, + "type": "array" + } + }, + "required": [ + "Rules" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3KeyFilterRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::Function.S3NotificationFilter": { + "additionalProperties": false, + "properties": { + "S3Key": { + "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" + } + }, + "required": [ + "S3Key" + ], + "type": "object" + }, + "AWS::Serverless::Function.SAMPolicyTemplate": { + "additionalProperties": false, + "properties": { + "AMIDescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "CloudFormationDescribeStacksPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "CloudWatchPutMetricPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "DynamoDBCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" + }, + "DynamoDBStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" + }, + "EC2DescribePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "ElasticsearchHttpPostPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" + }, + "FilterLogEventsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" + }, + "KMSDecryptPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" + }, + "KinesisCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "KinesisStreamReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" + }, + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" + }, + "RekognitionDetectOnlyPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionLabelsPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "RekognitionNoDataAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "RekognitionWriteOnlyAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" + }, + "S3CrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "S3ReadPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" + }, + "SESBulkTemplatedCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SESEmailTemplateCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + }, + "SESSendBouncePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" + }, + "SNSCrudPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SNSPublishMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" + }, + "SQSPollerPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" + }, + "SQSSendMessagePolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" + }, + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" + }, + "VPCAccessPolicy": { + "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::Function.SNSEvent": { + "additionalProperties": false, + "properties": { + "Topic": { + "type": "string" + } + }, + "required": [ + "Topic" + ], + "type": "object" + }, + "AWS::Serverless::Function.SQSEvent": { + "additionalProperties": false, + "properties": { + "BatchSize": { + "type": "number" + }, + "Enabled": { + "type": "boolean" + }, + "Queue": { + "type": "string" + } + }, + "required": [ + "Queue" + ], + "type": "object" + }, + "AWS::Serverless::Function.ScheduleEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Schedule": { + "type": "string" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::Serverless::Function.StateMachineSAMPT": { + "additionalProperties": false, + "properties": { + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "StateMachineName" + ], + "type": "object" + }, + "AWS::Serverless::Function.StreamSAMPT": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + } + }, + "required": [ + "StreamName" + ], + "type": "object" + }, + "AWS::Serverless::Function.TableSAMPT": { + "additionalProperties": false, + "properties": { + "TableName": { + "type": "string" + } + }, + "required": [ + "TableName" + ], + "type": "object" + }, + "AWS::Serverless::Function.TableStreamSAMPT": { + "additionalProperties": false, + "properties": { + "StreamName": { + "type": "string" + }, + "TableName": { + "type": "string" + } + }, + "required": [ + "StreamName", + "TableName" + ], + "type": "object" + }, + "AWS::Serverless::Function.TopicSAMPT": { + "additionalProperties": false, + "properties": { + "TopicName": { + "type": "string" + } + }, + "required": [ + "TopicName" + ], + "type": "object" + }, + "AWS::Serverless::Function.VpcConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" + }, + "CorsConfiguration": { + "anyOf": [ + { + "type": [ + "boolean" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" + } + ] + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "DefinitionBody": { + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "RouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "StageName": { + "type": "string" + }, + "StageVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::HttpApi" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.AccessLogSetting": { + "additionalProperties": false, + "properties": { + "DestinationArn": { + "type": "string" + }, + "Format": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.CorsConfigurationObject": { + "additionalProperties": false, + "properties": { + "AllowCredentials": { + "type": "boolean" + }, + "AllowHeaders": { + "type": "string" + }, + "AllowMethods": { + "type": "string" + }, + "AllowOrigin": { + "type": "string" + }, + "ExposeHeaders": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MaxAge": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiAuth": { + "additionalProperties": false, + "properties": { + "Authorizers": { + "type": "object" + }, + "DefaultAuthorizer": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.HttpApiDomainConfiguration": { + "additionalProperties": false, + "properties": { + "BasePath": { + "type": "string" + }, + "CertificateArn": { + "type": "string" + }, + "DomainName": { + "type": "string" + }, + "EndpointConfiguration": { + "type": "string" + }, + "MutualTlsAuthentication": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.MutualTlsAuthentication" + }, + "Route53": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" + }, + "SecurityPolicy": { + "type": "string" + } + }, + "required": [ + "CertificateArn", + "DomainName" + ], + "type": "object" + }, + "AWS::Serverless::HttpApi.MutualTlsAuthentication": { + "additionalProperties": false, + "properties": { + "TruststoreUri": { + "type": "string" + }, + "TruststoreVersion": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.Route53Configuration": { + "additionalProperties": false, + "properties": { + "DistributedDomainName": { + "type": "string" + }, + "EvaluateTargetHealth": { + "type": "boolean" + }, + "HostedZoneId": { + "type": "string" + }, + "HostedZoneName": { + "type": "string" + }, + "IpV6": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.RouteSettings": { + "additionalProperties": false, + "properties": { + "DataTraceEnabled": { + "type": "boolean" + }, + "DetailedMetricsEnabled": { + "type": "boolean" + }, + "LoggingLevel": { + "type": "string" + }, + "ThrottlingBurstLimit": { + "type": "number" + }, + "ThrottlingRateLimit": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Serverless::HttpApi.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key", + "Version" + ], + "type": "object" + }, + "AWS::Serverless::LayerVersion": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CompatibleRuntimes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ContentUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::LayerVersion.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "LayerName": { + "type": "string" + }, + "LicenseInfo": { + "type": "string" + }, + "RetentionPolicy": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::LayerVersion" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::LayerVersion.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PrimaryKey": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" + }, + "ProvisionedThroughput": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" + }, + "SSESpecification": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::SimpleTable" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable.PrimaryKey": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable.ProvisionedThroughput": { + "additionalProperties": false, + "properties": { + "ReadCapacityUnits": { + "type": "number" + }, + "WriteCapacityUnits": { + "type": "number" + } + }, + "required": [ + "WriteCapacityUnits" + ], + "type": "object" + }, + "AWS::Serverless::SimpleTable.SSESpecification": { + "additionalProperties": false, + "properties": { + "SSEEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Serverless::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "type": "object" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" + } + ] + }, + "Events": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" + } + }, + "type": "object" + }, + "Logging": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" + }, + "Name": { + "type": "string" + }, + "PermissionsBoundaries": { + "type": "string" + }, + "Policies": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" + }, + "type": "array" + } + ] + }, + "Role": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tracing": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.TracingConfiguration" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Serverless::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.ApiEvent": { + "additionalProperties": false, + "properties": { + "Method": { + "type": "string" + }, + "Path": { + "type": "string" + }, + "RestApiId": { + "type": "string" + } + }, + "required": [ + "Method", + "Path" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchEventEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "required": [ + "LogGroupArn" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { + "additionalProperties": false, + "properties": { + "EventBusName": { + "type": "string" + }, + "Input": { + "type": "string" + }, + "InputPath": { + "type": "string" + }, + "Pattern": { + "type": "object" + } + }, + "required": [ + "Pattern" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.EventSource": { + "additionalProperties": false, + "properties": { + "Properties": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" + } + ] + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Properties", + "Type" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.FunctionSAMPT": { + "additionalProperties": false, + "properties": { + "FunctionName": { + "type": "string" + } + }, + "required": [ + "FunctionName" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.IAMPolicyDocument": { + "additionalProperties": false, + "properties": { + "Statement": { + "type": "object" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" + } + }, + "required": [ + "CloudWatchLogsLogGroup" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "required": [ + "Destinations", + "IncludeExecutionData", + "Level" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.SAMPolicyTemplate": { + "additionalProperties": false, + "properties": { + "LambdaInvokePolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" + }, + "StepFunctionsExecutionPolicy": { + "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" + } + }, + "type": "object" + }, + "AWS::Serverless::StateMachine.ScheduleEvent": { + "additionalProperties": false, + "properties": { + "Input": { + "type": "string" + }, + "Schedule": { + "type": "string" + } + }, + "required": [ + "Schedule" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.StateMachineSAMPT": { + "additionalProperties": false, + "properties": { + "StateMachineName": { + "type": "string" + } + }, + "required": [ + "StateMachineName" + ], + "type": "object" + }, + "AWS::Serverless::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::AcceptedPortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::AcceptedPortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Distributor": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Owner": { + "type": "string" + }, + "ProvisioningArtifactParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" + }, + "type": "array" + }, + "ReplaceProvisioningArtifacts": { + "type": "boolean" + }, + "SupportDescription": { + "type": "string" + }, + "SupportEmail": { + "type": "string" + }, + "SupportUrl": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name", + "Owner", + "ProvisioningArtifactParameters" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DisableTemplateValidation": { + "type": "boolean" + }, + "Info": { + "type": "object" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Info" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PathId": { + "type": "string" + }, + "PathName": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "ProductName": { + "type": "string" + }, + "ProvisionedProductName": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ProvisioningArtifactName": { + "type": "string" + }, + "ProvisioningParameters": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" + }, + "type": "array" + }, + "ProvisioningPreferences": { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::CloudFormationProvisionedProduct" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { + "additionalProperties": false, + "properties": { + "StackSetAccounts": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackSetFailureToleranceCount": { + "type": "number" + }, + "StackSetFailureTolerancePercentage": { + "type": "number" + }, + "StackSetMaxConcurrencyCount": { + "type": "number" + }, + "StackSetMaxConcurrencyPercentage": { + "type": "number" + }, + "StackSetOperationType": { + "type": "string" + }, + "StackSetRegions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::ServiceCatalog::LaunchNotificationConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "NotificationArns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + } + }, + "required": [ + "NotificationArns", + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchNotificationConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchRoleConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "LocalRoleName": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RoleArn": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchRoleConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::LaunchTemplateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "Rules": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "Rules" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::LaunchTemplateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::Portfolio": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "DisplayName": { + "type": "string" + }, + "ProviderName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DisplayName", + "ProviderName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::Portfolio" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "PrincipalARN": { + "type": "string" + }, + "PrincipalType": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "PrincipalARN", + "PrincipalType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioPrincipalAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioProductAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "SourcePortfolioId": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioProductAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::PortfolioShare": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountId": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ShareTagOptions": { + "type": "boolean" + } + }, + "required": [ + "AccountId", + "PortfolioId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::PortfolioShare" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ResourceUpdateConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "TagUpdateOnProvisionedProduct": { + "type": "string" + } + }, + "required": [ + "PortfolioId", + "ProductId", + "TagUpdateOnProvisionedProduct" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ResourceUpdateConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "Definition": { + "items": { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" + }, + "type": "array" + }, + "DefinitionType": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Definition", + "DefinitionType", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceAction" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::ServiceCatalog::ServiceActionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ProductId": { + "type": "string" + }, + "ProvisioningArtifactId": { + "type": "string" + }, + "ServiceActionId": { + "type": "string" + } + }, + "required": [ + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::ServiceActionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::StackSetConstraint": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AcceptLanguage": { + "type": "string" + }, + "AccountList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "AdminRole": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "ExecutionRole": { + "type": "string" + }, + "PortfolioId": { + "type": "string" + }, + "ProductId": { + "type": "string" + }, + "RegionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "StackInstanceControl": { + "type": "string" + } + }, + "required": [ + "AccountList", + "AdminRole", + "Description", + "ExecutionRole", + "PortfolioId", + "ProductId", + "RegionList", + "StackInstanceControl" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::StackSetConstraint" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOption": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Active": { + "type": "boolean" + }, + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOption" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalog::TagOptionAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceId": { + "type": "string" + }, + "TagOptionId": { + "type": "string" + } + }, + "required": [ + "ResourceId", + "TagOptionId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalog::TagOptionAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::Application": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::Application" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Attributes": { + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "Attributes", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "AttributeGroup": { + "type": "string" + } + }, + "required": [ + "Application", + "AttributeGroup" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Application": { + "type": "string" + }, + "Resource": { + "type": "string" + }, + "ResourceType": { + "type": "string" + } + }, + "required": [ + "Application", + "Resource", + "ResourceType" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceCatalogAppRegistry::ResourceAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::HttpNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::HttpNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Instance": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "InstanceAttributes": { + "type": "object" + }, + "InstanceId": { + "type": "string" + }, + "ServiceId": { + "type": "string" + } + }, + "required": [ + "InstanceAttributes", + "ServiceId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Instance" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Vpc": { + "type": "string" + } + }, + "required": [ + "Name", + "Vpc" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PrivateDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::PublicDnsNamespace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { + "additionalProperties": false, + "properties": { + "DnsProperties": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { + "additionalProperties": false, + "properties": { + "SOA": { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::ServiceDiscovery::Service": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "DnsConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" + }, + "HealthCheckConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" + }, + "HealthCheckCustomConfig": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" + }, + "Name": { + "type": "string" + }, + "NamespaceId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "Type": { + "type": "string" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::ServiceDiscovery::Service" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsConfig": { + "additionalProperties": false, + "properties": { + "DnsRecords": { + "items": { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" + }, + "type": "array" + }, + "NamespaceId": { + "type": "string" + }, + "RoutingPolicy": { + "type": "string" + } + }, + "required": [ + "DnsRecords" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.DnsRecord": { + "additionalProperties": false, + "properties": { + "TTL": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "TTL", + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + }, + "ResourcePath": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { + "additionalProperties": false, + "properties": { + "FailureThreshold": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Signer::ProfilePermission": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Action": { + "type": "string" + }, + "Principal": { + "type": "string" + }, + "ProfileName": { + "type": "string" + }, + "ProfileVersion": { + "type": "string" + }, + "StatementId": { + "type": "string" + } + }, + "required": [ + "Action", + "Principal", + "ProfileName", + "StatementId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::ProfilePermission" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "PlatformId": { + "type": "string" + }, + "SignatureValidityPeriod": { + "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "PlatformId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Signer::SigningProfile" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Signer::SigningProfile.SignatureValidityPeriod": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::StepFunctions::Activity": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::Activity" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::Activity.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Definition": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" + }, + "DefinitionS3Location": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" + }, + "DefinitionString": { + "type": "string" + }, + "DefinitionSubstitutions": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "LoggingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" + }, + "RoleArn": { + "type": "string" + }, + "StateMachineName": { + "type": "string" + }, + "StateMachineType": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" + }, + "type": "array" + }, + "TracingConfiguration": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" + } + }, + "required": [ + "RoleArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::StepFunctions::StateMachine" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { + "additionalProperties": false, + "properties": { + "LogGroupArn": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.Definition": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LogDestination": { + "additionalProperties": false, + "properties": { + "CloudWatchLogsLogGroup": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.LoggingConfiguration": { + "additionalProperties": false, + "properties": { + "Destinations": { + "items": { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" + }, + "type": "array" + }, + "IncludeExecutionData": { + "type": "boolean" + }, + "Level": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::StepFunctions::StateMachine.S3Location": { + "additionalProperties": false, + "properties": { + "Bucket": { + "type": "string" + }, + "Key": { + "type": "string" + }, + "Version": { + "type": "string" + } + }, + "required": [ + "Bucket", + "Key" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TagsEntry": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + }, + "AWS::StepFunctions::StateMachine.TracingConfiguration": { + "additionalProperties": false, + "properties": { + "Enabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ArtifactS3Location": { + "type": "string" + }, + "Code": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Code" + }, + "ExecutionRoleArn": { + "type": "string" + }, + "FailureRetentionPeriod": { + "type": "number" + }, + "Name": { + "type": "string" + }, + "RunConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" + }, + "RuntimeVersion": { + "type": "string" + }, + "Schedule": { + "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" + }, + "StartCanaryAfterCreation": { + "type": "boolean" + }, + "SuccessRetentionPeriod": { + "type": "number" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VPCConfig": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" + }, + "VisualReference": { + "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" + } + }, + "required": [ + "ArtifactS3Location", + "Code", + "ExecutionRoleArn", + "Name", + "RuntimeVersion", + "Schedule", + "StartCanaryAfterCreation" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Synthetics::Canary" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.BaseScreenshot": { + "additionalProperties": false, + "properties": { + "IgnoreCoordinates": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ScreenshotName": { + "type": "string" + } + }, + "required": [ + "ScreenshotName" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.Code": { + "additionalProperties": false, + "properties": { + "Handler": { + "type": "string" + }, + "S3Bucket": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + }, + "Script": { + "type": "string" + } + }, + "required": [ + "Handler" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.RunConfig": { + "additionalProperties": false, + "properties": { + "ActiveTracing": { + "type": "boolean" + }, + "EnvironmentVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MemoryInMB": { + "type": "number" + }, + "TimeoutInSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::Synthetics::Canary.Schedule": { + "additionalProperties": false, + "properties": { + "DurationInSeconds": { + "type": "string" + }, + "Expression": { + "type": "string" + } + }, + "required": [ + "Expression" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VPCConfig": { + "additionalProperties": false, + "properties": { + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcId": { + "type": "string" + } + }, + "required": [ + "SecurityGroupIds", + "SubnetIds" + ], + "type": "object" + }, + "AWS::Synthetics::Canary.VisualReference": { + "additionalProperties": false, + "properties": { + "BaseCanaryRunId": { + "type": "string" + }, + "BaseScreenshots": { + "items": { + "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" + }, + "type": "array" + } + }, + "required": [ + "BaseCanaryRunId" + ], + "type": "object" + }, + "AWS::Timestream::Database": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "KmsKeyId": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Database" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Timestream::Table": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DatabaseName": { + "type": "string" + }, + "RetentionProperties": { + "type": "object" + }, + "TableName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "DatabaseName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Timestream::Table" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::Server": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Certificate": { + "type": "string" + }, + "Domain": { + "type": "string" + }, + "EndpointDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" + }, + "EndpointType": { + "type": "string" + }, + "IdentityProviderDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" + }, + "IdentityProviderType": { + "type": "string" + }, + "LoggingRole": { + "type": "string" + }, + "ProtocolDetails": { + "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" + }, + "Protocols": { + "items": { + "$ref": "#/definitions/AWS::Transfer::Server.Protocol" + }, + "type": "array" + }, + "SecurityPolicyName": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::Server" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::Transfer::Server.EndpointDetails": { + "additionalProperties": false, + "properties": { + "AddressAllocationIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SecurityGroupIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "SubnetIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "VpcEndpointId": { + "type": "string" + }, + "VpcId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.IdentityProviderDetails": { + "additionalProperties": false, + "properties": { + "DirectoryId": { + "type": "string" + }, + "InvocationRole": { + "type": "string" + }, + "Url": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::Server.Protocol": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::Transfer::Server.ProtocolDetails": { + "additionalProperties": false, + "properties": { + "PassiveIp": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::Transfer::User": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "HomeDirectory": { + "type": "string" + }, + "HomeDirectoryMappings": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" + }, + "type": "array" + }, + "HomeDirectoryType": { + "type": "string" + }, + "Policy": { + "type": "string" + }, + "PosixProfile": { + "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" + }, + "Role": { + "type": "string" + }, + "ServerId": { + "type": "string" + }, + "SshPublicKeys": { + "items": { + "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" + }, + "type": "array" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + } + }, + "required": [ + "Role", + "ServerId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::Transfer::User" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::Transfer::User.HomeDirectoryMapEntry": { + "additionalProperties": false, + "properties": { + "Entry": { + "type": "string" + }, + "Target": { + "type": "string" + } + }, + "required": [ + "Entry", + "Target" + ], + "type": "object" + }, + "AWS::Transfer::User.PosixProfile": { + "additionalProperties": false, + "properties": { + "Gid": { + "type": "number" + }, + "SecondaryGids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "Uid": { + "type": "number" + } + }, + "required": [ + "Gid", + "Uid" + ], + "type": "object" + }, + "AWS::Transfer::User.SshPublicKey": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "AWS::WAF::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAF::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAF::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name", + "SizeConstraints" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAF::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::WebACL.ActivatedRule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAF::WebACL.WafAction": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name", + "XssMatchTuples" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAF::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAF::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ByteMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::ByteMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "TargetString": { + "type": "string" + }, + "TargetStringBase64": { + "type": "string" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "GeoMatchConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::GeoMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "IPSetDescriptors": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" + }, + "type": "array" + }, + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::IPSet.IPSetDescriptor": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Type", + "Value" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MatchPredicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" + }, + "type": "array" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RateKey": { + "type": "string" + }, + "RateLimit": { + "type": "number" + } + }, + "required": [ + "MetricName", + "Name", + "RateKey", + "RateLimit" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RateBasedRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::RateBasedRule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "RegexPatternStrings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "Name", + "RegexPatternStrings" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Predicates": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" + }, + "type": "array" + } + }, + "required": [ + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::Rule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::Rule.Predicate": { + "additionalProperties": false, + "properties": { + "DataId": { + "type": "string" + }, + "Negated": { + "type": "boolean" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "DataId", + "Negated", + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SizeConstraints": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SizeConstraintSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "SqlInjectionMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::SqlInjectionMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "MetricName": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" + }, + "type": "array" + } + }, + "required": [ + "DefaultAction", + "MetricName", + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Action": { + "additionalProperties": false, + "properties": { + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" + }, + "Priority": { + "type": "number" + }, + "RuleId": { + "type": "string" + } + }, + "required": [ + "Action", + "Priority", + "RuleId" + ], + "type": "object" + }, + "AWS::WAFRegional::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLId": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "XssMatchTuples": { + "items": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" + }, + "type": "array" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFRegional::XssMatchSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.FieldToMatch": { + "additionalProperties": false, + "properties": { + "Data": { + "type": "string" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" + }, + "TextTransformation": { + "type": "string" + } + }, + "required": [ + "FieldToMatch", + "TextTransformation" + ], + "type": "object" + }, + "AWS::WAFv2::IPSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Addresses": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Description": { + "type": "string" + }, + "IPAddressVersion": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "Addresses", + "IPAddressVersion", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::IPSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RegexPatternSet": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "RegularExpressionList": { + "items": { + "type": "string" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "RegularExpressionList", + "Scope" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RegexPatternSet" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "Capacity": { + "type": "number" + }, + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" + } + }, + "type": "object" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Capacity", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::RuleGroup" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.LabelSummary": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" + }, + "Name": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "type": "object" + }, + "Block": { + "type": "object" + }, + "Count": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::RuleGroup.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::RuleGroup.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "CustomResponseBodies": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" + } + }, + "type": "object" + }, + "DefaultAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" + }, + "Description": { + "type": "string" + }, + "Name": { + "type": "string" + }, + "Rules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" + }, + "type": "array" + }, + "Scope": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "DefaultAction", + "Scope", + "VisibilityConfig" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACL" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.AllowAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.AndStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.BlockAction": { + "additionalProperties": false, + "properties": { + "CustomResponse": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ByteMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "PositionalConstraint": { + "type": "string" + }, + "SearchString": { + "type": "string" + }, + "SearchStringBase64": { + "type": "string" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "PositionalConstraint", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CountAction": { + "additionalProperties": false, + "properties": { + "CustomRequestHandling": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomHTTPHeader": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Name", + "Value" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomRequestHandling": { + "additionalProperties": false, + "properties": { + "InsertHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "InsertHeaders" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponse": { + "additionalProperties": false, + "properties": { + "CustomResponseBodyKey": { + "type": "string" + }, + "ResponseCode": { + "type": "number" + }, + "ResponseHeaders": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" + }, + "type": "array" + } + }, + "required": [ + "ResponseCode" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.CustomResponseBody": { + "additionalProperties": false, + "properties": { + "Content": { + "type": "string" + }, + "ContentType": { + "type": "string" + } + }, + "required": [ + "Content", + "ContentType" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.DefaultAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ExcludedRule": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.FieldToMatch": { + "additionalProperties": false, + "properties": { + "AllQueryArguments": { + "type": "object" + }, + "Body": { + "type": "object" + }, + "JsonBody": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" + }, + "Method": { + "type": "object" + }, + "QueryString": { + "type": "object" + }, + "SingleHeader": { + "type": "object" + }, + "SingleQueryArgument": { + "type": "object" + }, + "UriPath": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.GeoMatchStatement": { + "additionalProperties": false, + "properties": { + "CountryCodes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { + "additionalProperties": false, + "properties": { + "FallbackBehavior": { + "type": "string" + }, + "HeaderName": { + "type": "string" + }, + "Position": { + "type": "string" + } + }, + "required": [ + "FallbackBehavior", + "HeaderName", + "Position" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.IPSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "IPSetForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonBody": { + "additionalProperties": false, + "properties": { + "InvalidFallbackBehavior": { + "type": "string" + }, + "MatchPattern": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" + }, + "MatchScope": { + "type": "string" + } + }, + "required": [ + "MatchPattern", + "MatchScope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.JsonMatchPattern": { + "additionalProperties": false, + "properties": { + "All": { + "type": "object" + }, + "IncludedPaths": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.Label": { + "additionalProperties": false, + "properties": { + "Name": { + "type": "string" + } + }, + "required": [ + "Name" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.LabelMatchStatement": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Scope": { + "type": "string" + } + }, + "required": [ + "Key", + "Scope" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { + "additionalProperties": false, + "properties": { + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + }, + "Name": { + "type": "string" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VendorName": { + "type": "string" + } + }, + "required": [ + "Name", + "VendorName" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.NotStatement": { + "additionalProperties": false, + "properties": { + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "Statement" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OrStatement": { + "additionalProperties": false, + "properties": { + "Statements": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "type": "array" + } + }, + "required": [ + "Statements" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.OverrideAction": { + "additionalProperties": false, + "properties": { + "Count": { + "type": "object" + }, + "None": { + "type": "object" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RateBasedStatement": { + "additionalProperties": false, + "properties": { + "AggregateKeyType": { + "type": "string" + }, + "ForwardedIPConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" + }, + "Limit": { + "type": "number" + }, + "ScopeDownStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + } + }, + "required": [ + "AggregateKeyType", + "Limit" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "Arn", + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Rule": { + "additionalProperties": false, + "properties": { + "Action": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" + }, + "Name": { + "type": "string" + }, + "OverrideAction": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" + }, + "Priority": { + "type": "number" + }, + "RuleLabels": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" + }, + "type": "array" + }, + "Statement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" + }, + "VisibilityConfig": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" + } + }, + "required": [ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleAction": { + "additionalProperties": false, + "properties": { + "Allow": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" + }, + "Block": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" + }, + "Count": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { + "additionalProperties": false, + "properties": { + "Arn": { + "type": "string" + }, + "ExcludedRules": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" + }, + "type": "array" + } + }, + "required": [ + "Arn" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SizeConstraintStatement": { + "additionalProperties": false, + "properties": { + "ComparisonOperator": { + "type": "string" + }, + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "Size": { + "type": "number" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "ComparisonOperator", + "FieldToMatch", + "Size", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.SqliMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.Statement": { + "additionalProperties": false, + "properties": { + "AndStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" + }, + "ByteMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" + }, + "GeoMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" + }, + "IPSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" + }, + "LabelMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" + }, + "ManagedRuleGroupStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" + }, + "NotStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" + }, + "OrStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" + }, + "RateBasedStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" + }, + "RegexPatternSetReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" + }, + "RuleGroupReferenceStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" + }, + "SizeConstraintStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" + }, + "SqliMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" + }, + "XssMatchStatement": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" + } + }, + "type": "object" + }, + "AWS::WAFv2::WebACL.TextTransformation": { + "additionalProperties": false, + "properties": { + "Priority": { + "type": "number" + }, + "Type": { + "type": "string" + } + }, + "required": [ + "Priority", + "Type" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.VisibilityConfig": { + "additionalProperties": false, + "properties": { + "CloudWatchMetricsEnabled": { + "type": "boolean" + }, + "MetricName": { + "type": "string" + }, + "SampledRequestsEnabled": { + "type": "boolean" + } + }, + "required": [ + "CloudWatchMetricsEnabled", + "MetricName", + "SampledRequestsEnabled" + ], + "type": "object" + }, + "AWS::WAFv2::WebACL.XssMatchStatement": { + "additionalProperties": false, + "properties": { + "FieldToMatch": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" + }, + "TextTransformations": { + "items": { + "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" + }, + "type": "array" + } + }, + "required": [ + "FieldToMatch", + "TextTransformations" + ], + "type": "object" + }, + "AWS::WAFv2::WebACLAssociation": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ResourceArn": { + "type": "string" + }, + "WebACLArn": { + "type": "string" + } + }, + "required": [ + "ResourceArn", + "WebACLArn" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WAFv2::WebACLAssociation" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "ConnectionString": { + "type": "string" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + } + }, + "required": [ + "ConnectionString" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::ConnectionAlias" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { + "additionalProperties": false, + "properties": { + "AssociatedAccountId": { + "type": "string" + }, + "AssociationStatus": { + "type": "string" + }, + "ConnectionIdentifier": { + "type": "string" + }, + "ResourceId": { + "type": "string" + } + }, + "type": "object" + }, + "AWS::WorkSpaces::Workspace": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "BundleId": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + }, + "RootVolumeEncryptionEnabled": { + "type": "boolean" + }, + "Tags": { + "items": { + "$ref": "#/definitions/Tag" + }, + "type": "array" + }, + "UserName": { + "type": "string" + }, + "UserVolumeEncryptionEnabled": { + "type": "boolean" + }, + "VolumeEncryptionKey": { + "type": "string" + }, + "WorkspaceProperties": { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" + } + }, + "required": [ + "BundleId", + "DirectoryId", + "UserName" + ], + "type": "object" + }, + "Type": { + "enum": [ + "AWS::WorkSpaces::Workspace" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "AWS::WorkSpaces::Workspace.WorkspaceProperties": { + "additionalProperties": false, + "properties": { + "ComputeTypeName": { + "type": "string" + }, + "RootVolumeSizeGib": { + "type": "number" + }, + "RunningMode": { + "type": "string" + }, + "RunningModeAutoStopTimeoutInMinutes": { + "type": "number" + }, + "UserVolumeSizeGib": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::Group": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "FilterExpression": { + "type": "string" + }, + "GroupName": { + "type": "string" + }, + "InsightsConfiguration": { + "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::Group" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::Group.InsightsConfiguration": { + "additionalProperties": false, + "properties": { + "InsightsEnabled": { + "type": "boolean" + }, + "NotificationsEnabled": { + "type": "boolean" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "RuleName": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + }, + "SamplingRuleRecord": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" + }, + "SamplingRuleUpdate": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" + }, + "Tags": { + "items": { + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "Type": { + "enum": [ + "AWS::XRay::SamplingRule" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRule": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + }, + "Version": { + "type": "number" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleRecord": { + "additionalProperties": false, + "properties": { + "CreatedAt": { + "type": "string" + }, + "ModifiedAt": { + "type": "string" + }, + "SamplingRule": { + "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" + } + }, + "type": "object" + }, + "AWS::XRay::SamplingRule.SamplingRuleUpdate": { + "additionalProperties": false, + "properties": { + "Attributes": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "FixedRate": { + "type": "number" + }, + "HTTPMethod": { + "type": "string" + }, + "Host": { + "type": "string" + }, + "Priority": { + "type": "number" + }, + "ReservoirSize": { + "type": "number" + }, + "ResourceARN": { + "type": "string" + }, + "RuleARN": { + "type": "string" + }, + "RuleName": { + "type": "string" + }, + "ServiceName": { + "type": "string" + }, + "ServiceType": { + "type": "string" + }, + "URLPath": { + "type": "string" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill": { + "additionalProperties": false, + "properties": { + "DeletionPolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + }, + "DependsOn": { + "anyOf": [ + { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[a-zA-Z0-9]+$", + "type": "string" + }, + "type": "array" + } + ] + }, + "Metadata": { + "type": "object" + }, + "Properties": { + "additionalProperties": false, + "properties": { + "AuthenticationConfiguration": { + "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" + }, + "SkillPackage": { + "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" + }, + "VendorId": { + "type": "string" + } + }, + "required": [ + "AuthenticationConfiguration", + "SkillPackage", + "VendorId" + ], + "type": "object" + }, + "Type": { + "enum": [ + "Alexa::ASK::Skill" + ], + "type": "string" + }, + "UpdateReplacePolicy": { + "enum": [ + "Delete", + "Retain", + "Snapshot" + ], + "type": "string" + } + }, + "required": [ + "Type", + "Properties" + ], + "type": "object" + }, + "Alexa::ASK::Skill.AuthenticationConfiguration": { + "additionalProperties": false, + "properties": { + "ClientId": { + "type": "string" + }, + "ClientSecret": { + "type": "string" + }, + "RefreshToken": { + "type": "string" + } + }, + "required": [ + "ClientId", + "ClientSecret", + "RefreshToken" + ], + "type": "object" + }, + "Alexa::ASK::Skill.Overrides": { + "additionalProperties": false, + "properties": { + "Manifest": { + "type": "object" + } + }, + "type": "object" + }, + "Alexa::ASK::Skill.SkillPackage": { + "additionalProperties": false, + "properties": { + "Overrides": { + "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" + }, + "S3Bucket": { + "type": "string" + }, + "S3BucketRole": { + "type": "string" + }, + "S3Key": { + "type": "string" + }, + "S3ObjectVersion": { + "type": "string" + } + }, + "required": [ + "S3Bucket", + "S3Key" + ], + "type": "object" + }, + "Parameter": { + "additionalProperties": false, + "properties": { + "AllowedPattern": { + "type": "string" + }, + "AllowedValues": { + "type": "array" + }, + "ConstraintDescription": { + "type": "string" + }, + "Default": { + "type": "string" + }, + "Description": { + "type": "string" + }, + "MaxLength": { + "type": "string" + }, + "MaxValue": { + "type": "string" + }, + "MinLength": { + "type": "string" + }, + "MinValue": { + "type": "string" + }, + "NoEcho": { + "type": [ + "string", + "boolean" + ] + }, + "Type": { + "enum": [ + "String", + "Number", + "List\u003cNumber\u003e", + "CommaDelimitedList", + "AWS::EC2::AvailabilityZone::Name", + "AWS::EC2::Image::Id", + "AWS::EC2::Instance::Id", + "AWS::EC2::KeyPair::KeyName", + "AWS::EC2::SecurityGroup::GroupName", + "AWS::EC2::SecurityGroup::Id", + "AWS::EC2::Subnet::Id", + "AWS::EC2::Volume::Id", + "AWS::EC2::VPC::Id", + "AWS::Route53::HostedZone::Id", + "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "List\u003cAWS::EC2::Image::Id\u003e", + "List\u003cAWS::EC2::Instance::Id\u003e", + "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "List\u003cAWS::EC2::SecurityGroup::Id\u003e", + "List\u003cAWS::EC2::Subnet::Id\u003e", + "List\u003cAWS::EC2::Volume::Id\u003e", + "List\u003cAWS::EC2::VPC::Id\u003e", + "List\u003cAWS::Route53::HostedZone::Id\u003e", + "List\u003cString\u003e", + "AWS::SSM::Parameter::Name", + "AWS::SSM::Parameter::Value\u003cString\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", + "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", + "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" + ], + "type": "string" + } + }, + "required": [ + "Type" + ], + "type": "object" + }, + "Tag": { + "additionalProperties": false, + "properties": { + "Key": { + "type": "string" + }, + "Value": { + "type": "string" + } + }, + "required": [ + "Key", + "Value" + ], + "type": "object" + } + }, + "properties": { + "AWSTemplateFormatVersion": { + "enum": [ + "2010-09-09" + ], + "type": "string" + }, + "Conditions": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Description": { + "description": "Template description", + "maxLength": 1024, + "type": "string" + }, + "Globals": { + "additionalProperties": false, + "properties": { + "Api": { + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::Api.Auth" + }, + "BinaryMediaTypes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "CacheClusterEnabled": { + "type": "boolean" + }, + "CacheClusterSize": { + "type": "string" + }, + "CanarySetting": { + "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" + }, + "Cors": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" + } + ] + }, + "DefinitionUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Api.S3Location" + } + ] + }, + "Description": { + "type": "string" + }, + "EndpointConfiguration": { + "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" + }, + "GatewayResponses": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "MethodSettings": { + "items": { + "type": "object" + }, + "type": "array" + }, + "MinimumCompressionSize": { + "type": "number" + }, + "Models": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Name": { + "type": "string" + }, + "OpenApiVersion": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "TracingEnabled": { + "type": "boolean" + }, + "Variables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "Function": { + "properties": { + "AssumeRolePolicyDocument": { + "type": "object" + }, + "AutoPublishAlias": { + "type": "string" + }, + "AutoPublishCodeSha256": { + "type": "string" + }, + "CodeSigningConfigArn": { + "type": "string" + }, + "CodeUri": { + "anyOf": [ + { + "type": [ + "string" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::Function.S3Location" + } + ] + }, + "DeadLetterQueue": { + "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" + }, + "DeploymentPreference": { + "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" + }, + "Description": { + "type": "string" + }, + "Environment": { + "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" + }, + "EventInvokeConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" + }, + "Handler": { + "type": "string" + }, + "ImageConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" + }, + "ImageUri": { + "type": "string" + }, + "InlineCode": { + "type": "string" + }, + "KmsKeyArn": { + "type": "string" + }, + "Layers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "MemorySize": { + "type": "number" + }, + "PackageType": { + "type": "string" + }, + "PermissionsBoundary": { + "type": "string" + }, + "ReservedConcurrentExecutions": { + "type": "number" + }, + "Runtime": { + "type": "string" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Timeout": { + "type": "number" + }, + "Tracing": { + "type": "string" + }, + "VersionDescription": { + "type": "string" + }, + "VpcConfig": { + "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" + } + } + }, + "HttpApi": { + "properties": { + "AccessLogSetting": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" + }, + "Auth": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" + }, + "CorsConfiguration": { + "anyOf": [ + { + "type": [ + "boolean" + ] + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" + } + ] + }, + "DefaultRouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "Description": { + "type": "string" + }, + "DisableExecuteApiEndpoint": { + "type": "boolean" + }, + "Domain": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" + }, + "FailOnWarnings": { + "type": "boolean" + }, + "RouteSettings": { + "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" + }, + "StageVariables": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + }, + "Tags": { + "additionalProperties": true, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "string" + } + }, + "type": "object" + } + } + }, + "SimpleTable": { + "properties": { + "SSESpecification": { + "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" + } + } + } + }, + "type": "object" + }, + "Mappings": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Metadata": { + "type": "object" + }, + "Outputs": { + "additionalProperties": false, + "maxProperties": 60, + "minProperties": 1, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "type": "object" + } + }, + "type": "object" + }, + "Parameters": { + "additionalProperties": false, + "maxProperties": 50, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "$ref": "#/definitions/Parameter" + } + }, + "type": "object" + }, + "Resources": { + "additionalProperties": false, + "patternProperties": { + "^[a-zA-Z0-9]+$": { + "anyOf": [ + { + "$ref": "#/definitions/AWS::ACMPCA::Certificate" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" + }, + { + "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" + }, + { + "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Broker" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::Configuration" + }, + { + "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" + }, + { + "$ref": "#/definitions/AWS::Amplify::App" + }, + { + "$ref": "#/definitions/AWS::Amplify::Branch" + }, + { + "$ref": "#/definitions/AWS::Amplify::Domain" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Account" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ApiKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Method" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Resource" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::RestApi" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" + }, + { + "$ref": "#/definitions/AWS::ApiGateway::VpcLink" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Api" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Model" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Route" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" + }, + { + "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Application" + }, + { + "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Deployment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" + }, + { + "$ref": "#/definitions/AWS::AppConfig::Environment" + }, + { + "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" + }, + { + "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" + }, + { + "$ref": "#/definitions/AWS::AppFlow::Flow" + }, + { + "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" + }, + { + "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Mesh" + }, + { + "$ref": "#/definitions/AWS::AppMesh::Route" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualNode" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" + }, + { + "$ref": "#/definitions/AWS::AppMesh::VirtualService" + }, + { + "$ref": "#/definitions/AWS::AppRunner::Service" + }, + { + "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" + }, + { + "$ref": "#/definitions/AWS::AppStream::Fleet" + }, + { + "$ref": "#/definitions/AWS::AppStream::ImageBuilder" + }, + { + "$ref": "#/definitions/AWS::AppStream::Stack" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" + }, + { + "$ref": "#/definitions/AWS::AppStream::User" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiCache" + }, + { + "$ref": "#/definitions/AWS::AppSync::ApiKey" + }, + { + "$ref": "#/definitions/AWS::AppSync::DataSource" + }, + { + "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLApi" + }, + { + "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" + }, + { + "$ref": "#/definitions/AWS::AppSync::Resolver" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" + }, + { + "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::ApplicationInsights::Application" + }, + { + "$ref": "#/definitions/AWS::Athena::DataCatalog" + }, + { + "$ref": "#/definitions/AWS::Athena::NamedQuery" + }, + { + "$ref": "#/definitions/AWS::Athena::PreparedStatement" + }, + { + "$ref": "#/definitions/AWS::Athena::WorkGroup" + }, + { + "$ref": "#/definitions/AWS::AuditManager::Assessment" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" + }, + { + "$ref": "#/definitions/AWS::AutoScaling::WarmPool" + }, + { + "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupPlan" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupSelection" + }, + { + "$ref": "#/definitions/AWS::Backup::BackupVault" + }, + { + "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" + }, + { + "$ref": "#/definitions/AWS::Batch::JobDefinition" + }, + { + "$ref": "#/definitions/AWS::Batch::JobQueue" + }, + { + "$ref": "#/definitions/AWS::Budgets::Budget" + }, + { + "$ref": "#/definitions/AWS::Budgets::BudgetsAction" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalyMonitor" + }, + { + "$ref": "#/definitions/AWS::CE::AnomalySubscription" + }, + { + "$ref": "#/definitions/AWS::CE::CostCategory" + }, + { + "$ref": "#/definitions/AWS::CUR::ReportDefinition" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Keyspace" + }, + { + "$ref": "#/definitions/AWS::Cassandra::Table" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Account" + }, + { + "$ref": "#/definitions/AWS::CertificateManager::Certificate" + }, + { + "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" + }, + { + "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::CustomResource" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Macro" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Publisher" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::Stack" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::StackSet" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" + }, + { + "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CachePolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Distribution" + }, + { + "$ref": "#/definitions/AWS::CloudFront::Function" + }, + { + "$ref": "#/definitions/AWS::CloudFront::KeyGroup" + }, + { + "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" + }, + { + "$ref": "#/definitions/AWS::CloudFront::PublicKey" + }, + { + "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" + }, + { + "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" + }, + { + "$ref": "#/definitions/AWS::CloudTrail::Trail" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Alarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::Dashboard" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::InsightRule" + }, + { + "$ref": "#/definitions/AWS::CloudWatch::MetricStream" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Domain" + }, + { + "$ref": "#/definitions/AWS::CodeArtifact::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::Project" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" + }, + { + "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" + }, + { + "$ref": "#/definitions/AWS::CodeCommit::Repository" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::Application" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" + }, + { + "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" + }, + { + "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::CodePipeline::Webhook" + }, + { + "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" + }, + { + "$ref": "#/definitions/AWS::CodeStarConnections::Connection" + }, + { + "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPool" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolClient" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUser" + }, + { + "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" + }, + { + "$ref": "#/definitions/AWS::Config::AggregationAuthorization" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" + }, + { + "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" + }, + { + "$ref": "#/definitions/AWS::Config::ConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::DeliveryChannel" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" + }, + { + "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" + }, + { + "$ref": "#/definitions/AWS::Config::RemediationConfiguration" + }, + { + "$ref": "#/definitions/AWS::Config::StoredQuery" + }, + { + "$ref": "#/definitions/AWS::Connect::QuickConnect" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Domain" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::Integration" + }, + { + "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" + }, + { + "$ref": "#/definitions/AWS::DAX::Cluster" + }, + { + "$ref": "#/definitions/AWS::DAX::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DAX::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" + }, + { + "$ref": "#/definitions/AWS::DMS::Certificate" + }, + { + "$ref": "#/definitions/AWS::DMS::Endpoint" + }, + { + "$ref": "#/definitions/AWS::DMS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationInstance" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DMS::ReplicationTask" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Dataset" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Job" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Project" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Recipe" + }, + { + "$ref": "#/definitions/AWS::DataBrew::Schedule" + }, + { + "$ref": "#/definitions/AWS::DataPipeline::Pipeline" + }, + { + "$ref": "#/definitions/AWS::DataSync::Agent" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationEFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationNFS" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationS3" + }, + { + "$ref": "#/definitions/AWS::DataSync::LocationSMB" + }, + { + "$ref": "#/definitions/AWS::DataSync::Task" + }, + { + "$ref": "#/definitions/AWS::Detective::Graph" + }, + { + "$ref": "#/definitions/AWS::Detective::MemberInvitation" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" + }, + { + "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBCluster" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBInstance" + }, + { + "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" + }, + { + "$ref": "#/definitions/AWS::DynamoDB::Table" + }, + { + "$ref": "#/definitions/AWS::EC2::CapacityReservation" + }, + { + "$ref": "#/definitions/AWS::EC2::CarrierGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::CustomerGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::DHCPOptions" + }, + { + "$ref": "#/definitions/AWS::EC2::EC2Fleet" + }, + { + "$ref": "#/definitions/AWS::EC2::EIP" + }, + { + "$ref": "#/definitions/AWS::EC2::EIPAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::FlowLog" + }, + { + "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::Host" + }, + { + "$ref": "#/definitions/AWS::EC2::Instance" + }, + { + "$ref": "#/definitions/AWS::EC2::InternetGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::LaunchTemplate" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::NatGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAcl" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterface" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" + }, + { + "$ref": "#/definitions/AWS::EC2::PlacementGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::PrefixList" + }, + { + "$ref": "#/definitions/AWS::EC2::Route" + }, + { + "$ref": "#/definitions/AWS::EC2::RouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" + }, + { + "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::EC2::SpotFleet" + }, + { + "$ref": "#/definitions/AWS::EC2::Subnet" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" + }, + { + "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPC" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpoint" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointService" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" + }, + { + "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnection" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGateway" + }, + { + "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" + }, + { + "$ref": "#/definitions/AWS::EC2::Volume" + }, + { + "$ref": "#/definitions/AWS::EC2::VolumeAttachment" + }, + { + "$ref": "#/definitions/AWS::ECR::PublicRepository" + }, + { + "$ref": "#/definitions/AWS::ECR::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" + }, + { + "$ref": "#/definitions/AWS::ECR::Repository" + }, + { + "$ref": "#/definitions/AWS::ECS::CapacityProvider" + }, + { + "$ref": "#/definitions/AWS::ECS::Cluster" + }, + { + "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" + }, + { + "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" + }, + { + "$ref": "#/definitions/AWS::ECS::Service" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::ECS::TaskSet" + }, + { + "$ref": "#/definitions/AWS::EFS::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::EFS::FileSystem" + }, + { + "$ref": "#/definitions/AWS::EFS::MountTarget" + }, + { + "$ref": "#/definitions/AWS::EKS::Addon" + }, + { + "$ref": "#/definitions/AWS::EKS::Cluster" + }, + { + "$ref": "#/definitions/AWS::EKS::FargateProfile" + }, + { + "$ref": "#/definitions/AWS::EKS::Nodegroup" + }, + { + "$ref": "#/definitions/AWS::EMR::Cluster" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" + }, + { + "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::EMR::Step" + }, + { + "$ref": "#/definitions/AWS::EMR::Studio" + }, + { + "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" + }, + { + "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::User" + }, + { + "$ref": "#/definitions/AWS::ElastiCache::UserGroup" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" + }, + { + "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" + }, + { + "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" + }, + { + "$ref": "#/definitions/AWS::Elasticsearch::Domain" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Discoverer" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Registry" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" + }, + { + "$ref": "#/definitions/AWS::EventSchemas::Schema" + }, + { + "$ref": "#/definitions/AWS::Events::ApiDestination" + }, + { + "$ref": "#/definitions/AWS::Events::Archive" + }, + { + "$ref": "#/definitions/AWS::Events::Connection" + }, + { + "$ref": "#/definitions/AWS::Events::EventBus" + }, + { + "$ref": "#/definitions/AWS::Events::EventBusPolicy" + }, + { + "$ref": "#/definitions/AWS::Events::Rule" + }, + { + "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" + }, + { + "$ref": "#/definitions/AWS::FMS::NotificationChannel" + }, + { + "$ref": "#/definitions/AWS::FMS::Policy" + }, + { + "$ref": "#/definitions/AWS::FSx::FileSystem" + }, + { + "$ref": "#/definitions/AWS::FinSpace::Environment" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Detector" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EntityType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::EventType" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Label" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Outcome" + }, + { + "$ref": "#/definitions/AWS::FraudDetector::Variable" + }, + { + "$ref": "#/definitions/AWS::GameLift::Alias" + }, + { + "$ref": "#/definitions/AWS::GameLift::Build" + }, + { + "$ref": "#/definitions/AWS::GameLift::Fleet" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameServerGroup" + }, + { + "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" + }, + { + "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" + }, + { + "$ref": "#/definitions/AWS::GameLift::Script" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" + }, + { + "$ref": "#/definitions/AWS::Glue::Classifier" + }, + { + "$ref": "#/definitions/AWS::Glue::Connection" + }, + { + "$ref": "#/definitions/AWS::Glue::Crawler" + }, + { + "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" + }, + { + "$ref": "#/definitions/AWS::Glue::Database" + }, + { + "$ref": "#/definitions/AWS::Glue::DevEndpoint" + }, + { + "$ref": "#/definitions/AWS::Glue::Job" + }, + { + "$ref": "#/definitions/AWS::Glue::MLTransform" + }, + { + "$ref": "#/definitions/AWS::Glue::Partition" + }, + { + "$ref": "#/definitions/AWS::Glue::Registry" + }, + { + "$ref": "#/definitions/AWS::Glue::Schema" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersion" + }, + { + "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" + }, + { + "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" + }, + { + "$ref": "#/definitions/AWS::Glue::Table" + }, + { + "$ref": "#/definitions/AWS::Glue::Trigger" + }, + { + "$ref": "#/definitions/AWS::Glue::Workflow" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::Group" + }, + { + "$ref": "#/definitions/AWS::Greengrass::GroupVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" + }, + { + "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" + }, + { + "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" + }, + { + "$ref": "#/definitions/AWS::GroundStation::Config" + }, + { + "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" + }, + { + "$ref": "#/definitions/AWS::GroundStation::MissionProfile" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Detector" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Filter" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::IPSet" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Master" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::Member" + }, + { + "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" + }, + { + "$ref": "#/definitions/AWS::IAM::AccessKey" + }, + { + "$ref": "#/definitions/AWS::IAM::Group" + }, + { + "$ref": "#/definitions/AWS::IAM::InstanceProfile" + }, + { + "$ref": "#/definitions/AWS::IAM::ManagedPolicy" + }, + { + "$ref": "#/definitions/AWS::IAM::OIDCProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::Policy" + }, + { + "$ref": "#/definitions/AWS::IAM::Role" + }, + { + "$ref": "#/definitions/AWS::IAM::SAMLProvider" + }, + { + "$ref": "#/definitions/AWS::IAM::ServerCertificate" + }, + { + "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" + }, + { + "$ref": "#/definitions/AWS::IAM::User" + }, + { + "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" + }, + { + "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" + }, + { + "$ref": "#/definitions/AWS::IVS::Channel" + }, + { + "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" + }, + { + "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" + }, + { + "$ref": "#/definitions/AWS::IVS::StreamKey" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Component" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::Image" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" + }, + { + "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" + }, + { + "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" + }, + { + "$ref": "#/definitions/AWS::Inspector::ResourceGroup" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Device" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Placement" + }, + { + "$ref": "#/definitions/AWS::IoT1Click::Project" + }, + { + "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::Authorizer" + }, + { + "$ref": "#/definitions/AWS::IoT::Certificate" + }, + { + "$ref": "#/definitions/AWS::IoT::CustomMetric" + }, + { + "$ref": "#/definitions/AWS::IoT::Dimension" + }, + { + "$ref": "#/definitions/AWS::IoT::DomainConfiguration" + }, + { + "$ref": "#/definitions/AWS::IoT::MitigationAction" + }, + { + "$ref": "#/definitions/AWS::IoT::Policy" + }, + { + "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" + }, + { + "$ref": "#/definitions/AWS::IoT::ScheduledAudit" + }, + { + "$ref": "#/definitions/AWS::IoT::SecurityProfile" + }, + { + "$ref": "#/definitions/AWS::IoT::Thing" + }, + { + "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRule" + }, + { + "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Channel" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" + }, + { + "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" + }, + { + "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" + }, + { + "$ref": "#/definitions/AWS::IoTEvents::Input" + }, + { + "$ref": "#/definitions/AWS::IoTFleetHub::Application" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Asset" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Portal" + }, + { + "$ref": "#/definitions/AWS::IoTSiteWise::Project" + }, + { + "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::Destination" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" + }, + { + "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" + }, + { + "$ref": "#/definitions/AWS::KMS::Alias" + }, + { + "$ref": "#/definitions/AWS::KMS::Key" + }, + { + "$ref": "#/definitions/AWS::KMS::ReplicaKey" + }, + { + "$ref": "#/definitions/AWS::Kendra::DataSource" + }, + { + "$ref": "#/definitions/AWS::Kendra::Faq" + }, + { + "$ref": "#/definitions/AWS::Kendra::Index" + }, + { + "$ref": "#/definitions/AWS::Kinesis::Stream" + }, + { + "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" + }, + { + "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" + }, + { + "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Permissions" + }, + { + "$ref": "#/definitions/AWS::LakeFormation::Resource" + }, + { + "$ref": "#/definitions/AWS::Lambda::Alias" + }, + { + "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" + }, + { + "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" + }, + { + "$ref": "#/definitions/AWS::Lambda::Function" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersion" + }, + { + "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Permission" + }, + { + "$ref": "#/definitions/AWS::Lambda::Version" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::Grant" + }, + { + "$ref": "#/definitions/AWS::LicenseManager::License" + }, + { + "$ref": "#/definitions/AWS::Location::GeofenceCollection" + }, + { + "$ref": "#/definitions/AWS::Location::Map" + }, + { + "$ref": "#/definitions/AWS::Location::PlaceIndex" + }, + { + "$ref": "#/definitions/AWS::Location::RouteCalculator" + }, + { + "$ref": "#/definitions/AWS::Location::Tracker" + }, + { + "$ref": "#/definitions/AWS::Location::TrackerConsumer" + }, + { + "$ref": "#/definitions/AWS::Logs::Destination" + }, + { + "$ref": "#/definitions/AWS::Logs::LogGroup" + }, + { + "$ref": "#/definitions/AWS::Logs::LogStream" + }, + { + "$ref": "#/definitions/AWS::Logs::MetricFilter" + }, + { + "$ref": "#/definitions/AWS::Logs::QueryDefinition" + }, + { + "$ref": "#/definitions/AWS::Logs::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" + }, + { + "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::Alert" + }, + { + "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" + }, + { + "$ref": "#/definitions/AWS::LookoutVision::Project" + }, + { + "$ref": "#/definitions/AWS::MSK::Cluster" + }, + { + "$ref": "#/definitions/AWS::MWAA::Environment" + }, + { + "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" + }, + { + "$ref": "#/definitions/AWS::Macie::FindingsFilter" + }, + { + "$ref": "#/definitions/AWS::Macie::Session" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Member" + }, + { + "$ref": "#/definitions/AWS::ManagedBlockchain::Node" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::Flow" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowSource" + }, + { + "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Preset" + }, + { + "$ref": "#/definitions/AWS::MediaConvert::Queue" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaLive::Input" + }, + { + "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Asset" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::Channel" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" + }, + { + "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" + }, + { + "$ref": "#/definitions/AWS::MediaStore::Container" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBCluster" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBInstance" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" + }, + { + "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Device" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Link" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::Site" + }, + { + "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::Studio" + }, + { + "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::App" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Instance" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Layer" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Stack" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::UserProfile" + }, + { + "$ref": "#/definitions/AWS::OpsWorks::Volume" + }, + { + "$ref": "#/definitions/AWS::OpsWorksCM::Server" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::App" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Campaign" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::EventStream" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::Segment" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" + }, + { + "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" + }, + { + "$ref": "#/definitions/AWS::PinpointEmail::Identity" + }, + { + "$ref": "#/definitions/AWS::QLDB::Ledger" + }, + { + "$ref": "#/definitions/AWS::QLDB::Stream" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Analysis" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Dashboard" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSet" + }, + { + "$ref": "#/definitions/AWS::QuickSight::DataSource" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Template" + }, + { + "$ref": "#/definitions/AWS::QuickSight::Theme" + }, + { + "$ref": "#/definitions/AWS::RAM::ResourceShare" + }, + { + "$ref": "#/definitions/AWS::RDS::DBCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBInstance" + }, + { + "$ref": "#/definitions/AWS::RDS::DBParameterGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxy" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" + }, + { + "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::RDS::EventSubscription" + }, + { + "$ref": "#/definitions/AWS::RDS::GlobalCluster" + }, + { + "$ref": "#/definitions/AWS::RDS::OptionGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::Cluster" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" + }, + { + "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" + }, + { + "$ref": "#/definitions/AWS::ResourceGroups::Group" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Fleet" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::Robot" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" + }, + { + "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" + }, + { + "$ref": "#/definitions/AWS::Route53::DNSSEC" + }, + { + "$ref": "#/definitions/AWS::Route53::HealthCheck" + }, + { + "$ref": "#/definitions/AWS::Route53::HostedZone" + }, + { + "$ref": "#/definitions/AWS::Route53::KeySigningKey" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSet" + }, + { + "$ref": "#/definitions/AWS::Route53::RecordSetGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" + }, + { + "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" + }, + { + "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" + }, + { + "$ref": "#/definitions/AWS::S3::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3::StorageLens" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Bucket" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" + }, + { + "$ref": "#/definitions/AWS::S3Outposts::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SDB::Domain" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSet" + }, + { + "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" + }, + { + "$ref": "#/definitions/AWS::SES::ContactList" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptFilter" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRule" + }, + { + "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" + }, + { + "$ref": "#/definitions/AWS::SES::Template" + }, + { + "$ref": "#/definitions/AWS::SNS::Subscription" + }, + { + "$ref": "#/definitions/AWS::SNS::Topic" + }, + { + "$ref": "#/definitions/AWS::SNS::TopicPolicy" + }, + { + "$ref": "#/definitions/AWS::SQS::Queue" + }, + { + "$ref": "#/definitions/AWS::SQS::QueuePolicy" + }, + { + "$ref": "#/definitions/AWS::SSM::Association" + }, + { + "$ref": "#/definitions/AWS::SSM::Document" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" + }, + { + "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" + }, + { + "$ref": "#/definitions/AWS::SSM::Parameter" + }, + { + "$ref": "#/definitions/AWS::SSM::PatchBaseline" + }, + { + "$ref": "#/definitions/AWS::SSM::ResourceDataSync" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::Contact" + }, + { + "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" + }, + { + "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" + }, + { + "$ref": "#/definitions/AWS::SSO::Assignment" + }, + { + "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" + }, + { + "$ref": "#/definitions/AWS::SSO::PermissionSet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::App" + }, + { + "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::CodeRepository" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Device" + }, + { + "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Domain" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Endpoint" + }, + { + "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Image" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ImageVersion" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Model" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" + }, + { + "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" + }, + { + "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" + }, + { + "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Pipeline" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Project" + }, + { + "$ref": "#/definitions/AWS::SageMaker::UserProfile" + }, + { + "$ref": "#/definitions/AWS::SageMaker::Workteam" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::Secret" + }, + { + "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" + }, + { + "$ref": "#/definitions/AWS::SecurityHub::Hub" + }, + { + "$ref": "#/definitions/AWS::Serverless::Api" + }, + { + "$ref": "#/definitions/AWS::Serverless::Application" + }, + { + "$ref": "#/definitions/AWS::Serverless::Function" + }, + { + "$ref": "#/definitions/AWS::Serverless::HttpApi" + }, + { + "$ref": "#/definitions/AWS::Serverless::LayerVersion" + }, + { + "$ref": "#/definitions/AWS::Serverless::SimpleTable" + }, + { + "$ref": "#/definitions/AWS::Serverless::StateMachine" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" + }, + { + "$ref": "#/definitions/AWS::ServiceDiscovery::Service" + }, + { + "$ref": "#/definitions/AWS::Signer::ProfilePermission" + }, + { + "$ref": "#/definitions/AWS::Signer::SigningProfile" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::Activity" + }, + { + "$ref": "#/definitions/AWS::StepFunctions::StateMachine" + }, + { + "$ref": "#/definitions/AWS::Synthetics::Canary" + }, + { + "$ref": "#/definitions/AWS::Timestream::Database" + }, + { + "$ref": "#/definitions/AWS::Timestream::Table" + }, + { + "$ref": "#/definitions/AWS::Transfer::Server" + }, + { + "$ref": "#/definitions/AWS::Transfer::User" + }, + { + "$ref": "#/definitions/AWS::WAF::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAF::Rule" + }, + { + "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAF::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAF::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::Rule" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::IPSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" + }, + { + "$ref": "#/definitions/AWS::WAFv2::RuleGroup" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACL" + }, + { + "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" + }, + { + "$ref": "#/definitions/AWS::WorkSpaces::Workspace" + }, + { + "$ref": "#/definitions/AWS::XRay::Group" + }, + { + "$ref": "#/definitions/AWS::XRay::SamplingRule" + }, + { + "$ref": "#/definitions/Alexa::ASK::Skill" + } + ] + } + }, + "type": "object" + }, + "Transform": { + "enum": [ + "AWS::Serverless-2016-10-31" + ], + "type": "string" + } + }, + "required": [ + "Transform", + "Resources" + ], + "type": "object" +} \ No newline at end of file diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/blank-schema.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/blank-schema.graphql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index cc421715b5d..ec36b9191d4 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -18,6 +18,7 @@ import { authConfigHasApiKey, checkIfAuthExists, getAppSyncAuthConfig, getAppSyn import { appSyncAuthTypeToAuthConfig } from './utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; import { printApiKeyWarnings } from './utils/print-api-key-warnings'; import { conflictResolutionToResolverConfig } from './utils/resolver-config-to-conflict-resolution-bi-di-mapper'; +import { askAuthQuestions } from './service-walkthroughs/appSync-walkthrough'; // keep in sync with ServiceName in amplify-category-function, but probably it will not change const FunctionServiceNameLambdaFunction = 'Lambda'; @@ -118,11 +119,31 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { if (updates.additionalAuthTypes) { authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } - await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { - resourceDir, - parameters: this.getCfnParameters(apiName, authConfig, resourceDir), - authConfig, - }); + + let noErrors = true; + do { + try { + await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { + resourceDir, + parameters: this.getCfnParameters(apiName, authConfig, resourceDir), + authConfig, + }); + noErrors = true; + } catch (err) { + noErrors = false; + if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AWS_IAM', this.context)); + } else if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AMAZON_COGNITO_USER_POOLS', this.context)); + } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('OPENID_CONNECT', this.context)); + } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('API_KEY', this.context)); + } else { + throw err; + } + } + } while(!noErrors) this.context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); this.context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index f2878dbb503..4ed0136fed9 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -1,7 +1,7 @@ import { ListQuestion, CheckboxQuestion, ListChoiceOptions } from 'inquirer'; import { dataStoreLearnMore } from '../sync-conflict-handler-assets/syncAssets'; import inquirer from 'inquirer'; -import fs from 'fs-extra'; +import fs, { createSymlink } from 'fs-extra'; import path from 'path'; import { rootAssetDir } from '../aws-constants'; import { collectDirectivesByTypeNames, readProjectConfiguration, ConflictHandlerType } from 'graphql-transformer-core'; @@ -21,6 +21,7 @@ import { $TSContext, open, } from 'amplify-cli-core'; +import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions'; const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; @@ -46,6 +47,25 @@ const authProviderChoices = [ }, ]; +const conflictResolutionHanlderChoices = [ + { + name: 'Auto Merge', + value: 'AUTOMERGE', + }, + { + name: 'Optimistic Concurrency', + value: 'OPTIMISTIC_CONCURRENCY', + }, + { + name: 'Custom Lambda', + value: 'LAMBDA', + }, + { + name: 'Learn More', + value: 'Learn More', + }, +]; + export const openConsole = async (context: $TSContext) => { const amplifyMeta = stateManager.getMeta(); const categoryAmplifyMeta = amplifyMeta[category]; @@ -136,11 +156,188 @@ export const openConsole = async (context: $TSContext) => { } }; -export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { - const resourceName = resourceAlreadyExists(context); +const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { + let continuePrompt = false; let authConfig; let defaultAuthType; let resolverConfig; + const { amplify } = context; + const { inputs } = serviceMetadata; + const defaultValuesSrc = `${__dirname}/../default-values/${defaultValuesFilename}`; + const { getAllDefaults } = require(defaultValuesSrc); + const allDefaultValues = getAllDefaults(amplify.getProjectDetails()); + + let resourceAnswers = {}; + resourceAnswers[inputs[1].key] = allDefaultValues[inputs[1].key]; + resourceAnswers[inputs[0].key] = resourceAnswers[inputs[1].key]; + + // + // Default authConfig - API Key (expires in 7 days) + // + authConfig = { + defaultAuthentication: { + apiKeyConfig: { + apiKeyExpirationDays: 7 + }, + authenticationType: 'API_KEY', + }, + additionalAuthenticationProviders: [], + }; + + // + // Repeat prompt until user selects Continue + // + while(!continuePrompt) { + + const getAuthModeChoice = () => { + if (authConfig.defaultAuthentication.authenticationType === 'API_KEY') { + return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (Expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; + } + return authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name; + }; + + const basicInfoQuestionChoices = []; + + basicInfoQuestionChoices.push({ + name: `Name: ${resourceAnswers[inputs[1].key]}`, + value: 'API_NAME', + }); + + basicInfoQuestionChoices.push({ + name: `Authorization modes: ${getAuthModeChoice()}`, + value: 'API_AUTH_MODE', + }); + + basicInfoQuestionChoices.push({ + name: `Conflict detection (required for DataStore): ${resolverConfig?.project ? 'Enabled' : 'Disabled'}`, + value: 'CONFLICT_DETECTION', + }); + + if(resolverConfig?.project) { + basicInfoQuestionChoices.push({ + name: `Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, + value: 'CONFLICT_STRATEGY', + }); + } + + basicInfoQuestionChoices.push({ + name: 'Continue', + value: 'CONTINUE', + }); + + const basicInfoQuestion = { + type: 'list', + name: 'basicApiSettings', + message: 'Here is the GraphQL API that we will create. Select a setting to edit or continue', + default: 'CONTINUE', + choices: basicInfoQuestionChoices, + }; + + let { basicApiSettings } = await inquirer.prompt([basicInfoQuestion]); + + switch(basicApiSettings) { + case 'API_NAME': + const resourceQuestions = [ + { + type: inputs[1].type, + name: inputs[1].key, + message: inputs[1].question, + validate: amplify.inputValidation(inputs[1]), + default: () => { + const defaultValue = allDefaultValues[inputs[1].key]; + return defaultValue; + }, + }, + ]; + // API name question + resourceAnswers = await inquirer.prompt(resourceQuestions); + resourceAnswers[inputs[0].key] = resourceAnswers[inputs[1].key]; + break; + case 'API_AUTH_MODE': + // Ask additonal questions + ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); + ({ authConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); + break; + case 'CONFLICT_DETECTION': + resolverConfig = await askResolverConflictQuestion(context, defaultAuthType); + break; + case 'CONFLICT_STRATEGY': + resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + break; + case 'CONTINUE': + continuePrompt = true; + break; + } + } + + return { + answers: resourceAnswers, + output: { + authConfig, + }, + resolverConfig, + }; + +}; + +const updateApiInputWalkthrough = async (context, project, resolverConfig, modelTypes) => { + let authConfig; + let defaultAuthType; + const updateChoices = [ + { + name: 'Authorization modes', + value: 'AUTH_MODE', + }, + ]; + // check if DataStore is enabled for the entire API + if (project.config && !_.isEmpty(project.config.ResolverConfig)) { + updateChoices.push({ + name: 'Conflict resolution strategy', + value: 'CONFLICT_STRATEGY', + }); + updateChoices.push({ + name: 'Disable conflict detection', + value: 'DISABLE_CONFLICT', + }); + } else { + updateChoices.push({ + name: 'Enable conflict detection', + value: 'ENABLE_CONFLICT', + }); + } + + const updateOptionQuestion = { + type: 'list', + name: 'updateOption', + message: 'Select a setting to edit', + choices: updateChoices, + }; + + const { updateOption } = await inquirer.prompt([updateOptionQuestion]); + + if (updateOption === 'ENABLE_CONFLICT') { + // resolverConfig = { + // project: { ConflictHandler: ConflictHandlerType.AUTOMERGE, ConflictDetection: 'VERSION' }, + // }; + resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); + } else if (updateOption === 'DISABLE_CONFLICT') { + resolverConfig = {}; + } else if (updateOption === 'AUTH_MODE') { + ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); + authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); + } else if (updateOption === 'CONFLICT_STRATEGY') { + resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + } + + return { + authConfig, + resolverConfig, + }; + +}; + +export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { + const resourceName = resourceAlreadyExists(context); if (resourceName) { const errMessage = @@ -169,66 +366,26 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen }, ]; - // API name question - - const resourceAnswers = await inquirer.prompt(resourceQuestions); - resourceAnswers[inputs[0].key] = resourceAnswers[inputs[1].key]; - - // Ask additonal questions - - ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); - ({ authConfig, resolverConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); - - // Ask schema file question - - const schemaFileQuestion = { - type: inputs[2].type, - name: inputs[2].key, - message: inputs[2].question, - validate: amplify.inputValidation(inputs[2]), - default: () => { - const defaultValue = allDefaultValues[inputs[2].key]; - return defaultValue; - }, - }; - - const schemaFileAnswer = await inquirer.prompt(schemaFileQuestion); - + const basicInfoAnswers = await serviceApiInputWalkthrough(context, defaultValuesFilename, serviceMetadata); let schemaContent = ''; let askToEdit = true; - if (schemaFileAnswer[inputs[2].key]) { - // User has an annotated schema file - const filePathQuestion = { - type: inputs[3].type, - name: inputs[3].key, - message: inputs[3].question, - validate: amplify.inputValidation(inputs[3]), - }; - const { schemaFilePath } = await inquirer.prompt(filePathQuestion); - schemaContent = fs.readFileSync(schemaFilePath, 'utf8'); - askToEdit = false; - } else { - // Schema template selection - const templateSelectionQuestion = { - type: inputs[4].type, - name: inputs[4].key, - message: inputs[4].question, - choices: inputs[4].options.filter(templateSchemaFilter(authConfig)), - validate: amplify.inputValidation(inputs[4]), - }; - const { templateSelection } = await inquirer.prompt(templateSelectionQuestion); - const schemaFilePath = path.join(graphqlSchemaDir, templateSelection); - schemaContent = fs.readFileSync(schemaFilePath, 'utf8'); - } + // Schema template selection + const templateSelectionQuestion = { + type: inputs[4].type, + name: inputs[4].key, + message: inputs[4].question, + choices: inputs[4].options.filter(templateSchemaFilter(basicInfoAnswers.output.authConfig)), + validate: amplify.inputValidation(inputs[4]), + }; + + const { templateSelection } = await inquirer.prompt(templateSelectionQuestion); + const schemaFilePath = path.join(graphqlSchemaDir, templateSelection); + schemaContent = fs.readFileSync(schemaFilePath, 'utf8'); return { - answers: resourceAnswers, - output: { - authConfig, - }, + ...basicInfoAnswers, noCfnFile: true, - resolverConfig, schemaContent, askToEdit, }; @@ -238,13 +395,13 @@ export const updateWalkthrough = async (context): Promise => { const { allResources } = await context.amplify.getResourceStatus(); let resourceDir; let resourceName; + let resource; let authConfig; - let defaultAuthType; const resources = allResources.filter(resource => resource.service === 'AppSync'); // There can only be one appsync resource if (resources.length > 0) { - const resource = resources[0]; + resource = resources[0]; if (resource.providerPlugin !== providerName) { // TODO: Move message string to seperate file throw new Error( @@ -265,6 +422,8 @@ export const updateWalkthrough = async (context): Promise => { const project = await readProjectConfiguration(resourceDir); let resolverConfig = project.config.ResolverConfig; + await displayApiInformation(context, resource, project); + // Check for common errors const directiveMap = collectDirectivesByTypeNames(project.schema); let modelTypes = []; @@ -276,45 +435,8 @@ export const updateWalkthrough = async (context): Promise => { } }); } - const updateChoices = [ - { - name: 'Walkthrough all configurations', - value: 'all', - }, - { - name: 'Update auth settings', - value: 'authUpdate', - }, - ]; - // check if DataStore is enabled for the entire API - if (project.config && !_.isEmpty(project.config.ResolverConfig)) { - updateChoices.push({ name: 'Disable DataStore for entire API', value: 'disableDatastore' }); - } else { - updateChoices.push({ name: 'Enable DataStore for entire API', value: 'enableDatastore' }); - } - const updateOptionQuestion = { - type: 'list', - name: 'updateOption', - message: 'Select from the options below', - choices: updateChoices, - }; - - const { updateOption } = await inquirer.prompt([updateOptionQuestion]); - - if (updateOption === 'enableDatastore') { - resolverConfig = { - project: { ConflictHandler: ConflictHandlerType.AUTOMERGE, ConflictDetection: 'VERSION' }, - }; - } else if (updateOption === 'disableDatastore') { - resolverConfig = {}; - } else if (updateOption === 'authUpdate') { - ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); - authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); - } else if (updateOption === 'all') { - ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); - ({ authConfig, resolverConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType, modelTypes)); - } + ({ authConfig, resolverConfig } = await updateApiInputWalkthrough(context, project, resolverConfig, modelTypes)); return { version: 1, @@ -330,111 +452,115 @@ export const updateWalkthrough = async (context): Promise => { }; }; -async function askAdditionalQuestions(context, authConfig, defaultAuthType, modelTypes?) { - let resolverConfig; +async function displayApiInformation(context, resource, project) { + context.print.info(''); - const advancedSettingsQuestion = { - type: 'list', - name: 'advancedSettings', - message: 'Do you want to configure advanced settings for the GraphQL API', - choices: [ - { - name: 'No, I am done.', - value: false, - }, - { - name: 'Yes, I want to make some additional changes.', - value: true, - }, - ], - }; + context.print.success('General information'); + context.print.info('- Name: '.concat(resource.resourceName)); + context.print.info('- API endpoint: '.concat(resource?.output?.GraphQLAPIEndpointOutput ? resource?.output?.GraphQLAPIEndpointOutput : 'Not available')); + context.print.info(''); - const advancedSettingsAnswer = await inquirer.prompt([advancedSettingsQuestion]); + context.print.success('Authorization modes'); + context.print.info(`- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`); + await resource.output.authConfig.additionalAuthenticationProviders.map(async (authMode) => { + context.print.info(`- ${await displayAuthMode(context, resource, authMode.authenticationType)}`); + }); + context.print.info(''); - if (advancedSettingsAnswer.advancedSettings) { - authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); - resolverConfig = await askResolverConflictQuestion(context, modelTypes); + context.print.success('Conflict detection'); + if (project.config && !_.isEmpty(project.config.ResolverConfig)) { + context.print.info(`- Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name}`); + } else { + context.print.info('- Not configured'); } - return { authConfig, resolverConfig }; + context.print.info(''); +} + +async function displayAuthMode(context, resource, authMode) { + if(authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { + let { apiKeys } = await getAppSyncApiKeys(context, {apiId: resource.output.GraphQLAPIIdOutput}); + let apiKeyExpires = apiKeys.find(key => key.id == resource.output.GraphQLAPIKeyOutput)?.expires; + if(!apiKeyExpires) { + return authProviderChoices.find(choice => choice.value === authMode).name; + } + let apiKeyExpiresDate = new Date(apiKeyExpires * 1000); + return `${authProviderChoices.find(choice => choice.value === authMode).name} expiring ${apiKeyExpiresDate}: ${resource.output.GraphQLAPIKeyOutput}`; + } + return authProviderChoices.find(choice => choice.value === authMode).name; +} + +async function askAdditionalQuestions(context, authConfig, defaultAuthType, modelTypes?) { + authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); + return { authConfig }; } async function askResolverConflictQuestion(context, modelTypes?) { let resolverConfig: any = {}; if (await context.prompt.confirm('Enable conflict detection?')) { - const askConflictResolutionStrategy = async msg => { - let conflictResolutionStrategy; - - do { - const conflictResolutionQuestion: ListQuestion = { - type: 'list', - name: 'conflictResolutionStrategy', - message: msg, - default: 'AUTOMERGE', - choices: [ - { - name: 'Auto Merge', - value: 'AUTOMERGE', - }, - { - name: 'Optimistic Concurrency', - value: 'OPTIMISTIC_CONCURRENCY', - }, - { - name: 'Custom Lambda', - value: 'LAMBDA', - }, - { - name: 'Learn More', - value: 'Learn More', - }, - ], - }; - if (conflictResolutionStrategy === 'Learn More') { - conflictResolutionQuestion.prefix = dataStoreLearnMore; - } - ({ conflictResolutionStrategy } = await inquirer.prompt([conflictResolutionQuestion])); - } while (conflictResolutionStrategy === 'Learn More'); + resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); + } - let syncConfig: any = { - ConflictHandler: conflictResolutionStrategy, - ConflictDetection: 'VERSION', - }; + return resolverConfig; +} + +async function askResolverConflictHandlerQuestion(context, modelTypes?) { + let resolverConfig: any = {}; + const askConflictResolutionStrategy = async msg => { + let conflictResolutionStrategy; - if (conflictResolutionStrategy === 'LAMBDA') { - const { newFunction, lambdaFunctionName } = await askSyncFunctionQuestion(context); - syncConfig.LambdaConflictHandler = { - name: lambdaFunctionName, - new: newFunction, - }; + do { + const conflictResolutionQuestion: ListQuestion = { + type: 'list', + name: 'conflictResolutionStrategy', + message: msg, + default: 'AUTOMERGE', + choices: conflictResolutionHanlderChoices, + }; + if (conflictResolutionStrategy === 'Learn More') { + conflictResolutionQuestion.prefix = dataStoreLearnMore; } + ({ conflictResolutionStrategy } = await inquirer.prompt([conflictResolutionQuestion])); + } while (conflictResolutionStrategy === 'Learn More'); - return syncConfig; + let syncConfig: any = { + ConflictHandler: conflictResolutionStrategy, + ConflictDetection: 'VERSION', }; - resolverConfig.project = await askConflictResolutionStrategy('Select the default resolution strategy'); + if (conflictResolutionStrategy === 'LAMBDA') { + const { newFunction, lambdaFunctionName } = await askSyncFunctionQuestion(context); + syncConfig.LambdaConflictHandler = { + name: lambdaFunctionName, + new: newFunction, + }; + } - // Ask for per-model resolver override setting + return syncConfig; + }; - if (modelTypes && modelTypes.length > 0) { - if (await context.prompt.confirm('Do you want to override default per model settings?', false)) { - const modelTypeQuestion = { - type: 'checkbox', - name: 'selectedModelTypes', - message: 'Select the models from below:', - choices: modelTypes, - }; + resolverConfig.project = await askConflictResolutionStrategy('Select the default resolution strategy'); - const { selectedModelTypes } = await inquirer.prompt([modelTypeQuestion]); + // Ask for per-model resolver override setting - if (selectedModelTypes.length > 0) { - resolverConfig.models = {}; - for (let i = 0; i < selectedModelTypes.length; i += 1) { - resolverConfig.models[selectedModelTypes[i]] = await askConflictResolutionStrategy( - `Select the resolution strategy for ${selectedModelTypes[i]} model`, - ); - } + if (modelTypes && modelTypes.length > 0) { + if (await context.prompt.confirm('Do you want to override default per model settings?', false)) { + const modelTypeQuestion = { + type: 'checkbox', + name: 'selectedModelTypes', + message: 'Select the models from below:', + choices: modelTypes, + }; + + const { selectedModelTypes } = await inquirer.prompt([modelTypeQuestion]); + + if (selectedModelTypes.length > 0) { + resolverConfig.models = {}; + for (let i = 0; i < selectedModelTypes.length; i += 1) { + resolverConfig.models[selectedModelTypes[i]] = await askConflictResolutionStrategy( + `Select the resolution strategy for ${selectedModelTypes[i]} model`, + ); } } } @@ -537,7 +663,12 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut return authConfig; } -async function askAuthQuestions(authType, context, printLeadText = false) { +export async function addAdditionalAuthMode(context, authType) { + const currentAuthConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); + currentAuthConfig.additionalAuthenticationProviders.push(askAuthQuestions(authType, context)); +} + +export async function askAuthQuestions(authType, context, printLeadText = false) { if (authType === 'AMAZON_COGNITO_USER_POOLS') { if (printLeadText) { context.print.info('Cognito UserPool configuration'); diff --git a/packages/amplify-e2e-core/src/categories/api.ts b/packages/amplify-e2e-core/src/categories/api.ts index 392ad64a427..94a67775826 100644 --- a/packages/amplify-e2e-core/src/categories/api.ts +++ b/packages/amplify-e2e-core/src/categories/api.ts @@ -30,24 +30,19 @@ const defaultOptions: AddApiOptions = { apiName: '\r', }; -export function addApiWithoutSchema(cwd: string, opts: Partial = {}) { +export function addApiWithoutSchema(cwd: string, opts: Partial = {}) { const options = _.assign(defaultOptions, opts); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(3) + .sendCarriageReturn() .wait('Provide API name:') .sendLine(options.apiName) - .wait(/.*Choose the default authorization type for the API.*/) - .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) - .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) .sendCarriageReturn() - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendCarriageReturn() - .wait('Do you have an annotated GraphQL schema?') - .sendLine('n') .wait('Choose a schema template:') .sendCarriageReturn() .wait('Do you want to edit the schema now?') @@ -65,30 +60,29 @@ export function addApiWithoutSchema(cwd: string, opts: Partial = }); } -export function addApiWithSchema(cwd: string, schemaFile: string, opts: Partial = {}) { +export function addApiWithBlankSchema(cwd: string, opts: Partial = {}) { const options = _.assign(defaultOptions, opts); - const schemaPath = getSchemaPath(schemaFile); + //const schemaPath = getSchemaPath(schemaFile); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(3) + .sendCarriageReturn() .wait('Provide API name:') .sendLine(options.apiName) - .wait(/.*Choose the default authorization type for the API.*/) + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) - .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) - .sendLine(opts.apiKeyExpirationDays ? opts.apiKeyExpirationDays.toString() : '1') - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) + .wait('Choose a schema template:') + .sendKeyDown(2) .sendCarriageReturn() - .wait('Do you have an annotated GraphQL schema?') - .sendLine('y') - .wait('Provide your schema file path:') - .sendLine(schemaPath) + .wait('Do you want to edit the schema now?') + .sendLine('n') .wait( '"amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud', ) + .sendEof() .run((err: Error) => { if (!err) { resolve(); @@ -96,35 +90,30 @@ export function addApiWithSchema(cwd: string, schemaFile: string, opts: Partial< reject(err); } }); + }); } -export function addApiWithSchemaAndConflictDetection(cwd: string, schemaFile: string) { - const schemaPath = getSchemaPath(schemaFile); +export function addApiWithBlankSchemaAndConflictDetection(cwd: string) { + //const schemaPath = getSchemaPath(schemaFile); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Provide API name:') + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp() .sendCarriageReturn() - .wait(/.*Choose the default authorization type for the API.*/) - .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) - .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) - .sendCarriageReturn() - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendLine(KEY_DOWN_ARROW) // Down - .wait(/.*Configure additional auth types.*/) - .sendLine('n') .wait(/.*Enable conflict detection.*/) .sendLine('y') .wait(/.*Select the default resolution strategy.*/) .sendCarriageReturn() - .wait(/.*Do you have an annotated GraphQL schema.*/) - .sendLine('y') - .wait('Provide your schema file path:') - .sendLine(schemaPath) + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendCarriageReturn() + .wait('Choose a schema template:') + .sendKeyDown(2) + .sendCarriageReturn() + .wait('Do you want to edit the schema now?') + .sendLine('n') .wait( '"amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud', ) @@ -152,7 +141,7 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Select from the options below') + .wait(/.*Select a setting to edit.*/) .sendCarriageReturn() .wait(/.*Choose the default authorization type for the API.*/) .sendCarriageReturn() @@ -160,8 +149,6 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { .sendLine('description') .wait(/.*After how many days from now the API key should expire.*/) .sendLine('300') - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendLine(KEY_DOWN_ARROW) // Down .wait(/.*Configure additional auth types.*/) .sendLine('y') .wait(/.*Choose the additional authorization types you want to configure for the API.*/) @@ -184,8 +171,6 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { .sendLine('1000') .wait(/.*Enter the number of milliseconds a token is valid after being authenticated.*/) .sendLine('2000') - .wait('Enable conflict detection?') - .sendLine('n') .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { @@ -198,14 +183,18 @@ export function updateApiWithMultiAuth(cwd: string, settings: any) { }); } -export function apiUpdateToggleDataStore(cwd: string, settings: any) { +export function apiEnableDataStore(cwd: string, settings: any) { return new Promise((resolve, reject) => { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Select from the options below') - .send(KEY_DOWN_ARROW) - .sendLine(KEY_DOWN_ARROW) // select enable datastore for the api + .wait(/.*Select a setting to edit.*/) + .sendKeyDown() + .sendCarriageReturn() + .wait(/.*Select the default resolution strategy.*/) + .sendCarriageReturn() + .wait(/.*Do you want to override default per model settings?.*/) + .sendConfirmNo() .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { @@ -218,29 +207,39 @@ export function apiUpdateToggleDataStore(cwd: string, settings: any) { }); } -export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { +export function apiDisableDataStore(cwd: string, settings: any) { return new Promise((resolve, reject) => { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Select from the options below') - .sendCarriageReturn() - .wait(/.*Choose the default authorization type for the API.*/) + .wait(/.*Select a setting to edit.*/) + .sendKeyDown(2) // Disable conflict detection .sendCarriageReturn() - .wait(/.*Enter a description for the API key.*/) + .wait(/.*Successfully updated resource.*/) + .sendEof() + .run((err: Error) => { + if (!err) { + resolve(); + } else { + reject(err); + } + }); + }); +} + +export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { + return new Promise((resolve, reject) => { + spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) + .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait(/.*After how many days from now the API key should expire.*/) + .wait(/.*Select a setting to edit.*/) + .sendKeyDown() .sendCarriageReturn() - .wait(/.*Do you want to configure advanced settings for the GraphQL API.*/) - .sendLine(KEY_DOWN_ARROW) // Down - .wait(/.*Configure additional auth types.*/) - .sendLine('n') - .wait(/.*Enable conflict detection.*/) - .sendLine('y') .wait(/.*Select the default resolution strategy.*/) - .sendLine(KEY_DOWN_ARROW) // Down - .wait(/.*Do you want to override default per model settings.*/) - .sendLine('n') + .sendKeyDown() + .sendCarriageReturn() + // .wait(/.*Do you want to override default per model settings?.*/) + // .sendConfirmNo() .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { @@ -385,13 +384,16 @@ export function addApi(projectDir: string, settings?: any) { let chain = spawn(getCLIPath(), ['add', 'api'], { cwd: projectDir, stripColors: true }) .wait('Please select from one of the below mentioned services:') .sendCarriageReturn() - .wait('Provide API name:') - .sendCarriageReturn(); if (settings && Object.keys(settings).length > 0) { const authTypesToAdd = Object.keys(settings); const defaultType = authTypesToAdd[0]; + chain + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(2) + .sendCarriageReturn(); + singleSelect(chain.wait('Choose the default authorization type for the API'), defaultType, authTypesToSelectFrom); setupAuthType(defaultType, chain, settings); @@ -399,9 +401,6 @@ export function addApi(projectDir: string, settings?: any) { authTypesToAdd.shift(); chain - .wait('Do you want to configure advanced settings for the GraphQL API') - .send(KEY_DOWN_ARROW) //yes - .sendCarriageReturn() .wait('Configure additional auth types?') .sendLine('y'); @@ -416,21 +415,16 @@ export function addApi(projectDir: string, settings?: any) { authTypesToAdd.forEach(authType => { setupAuthType(authType, chain, settings); }); - - chain.wait('Enable conflict detection?').sendCarriageReturn(); //No } else { - chain.wait('Do you want to configure advanced settings for the GraphQL API').sendCarriageReturn(); //No + chain + .wait('Configure additional auth types?') + .sendLine('n'); } - } else { - chain.wait('Choose the default authorization type for the API').sendCarriageReturn(); - setupAPIKey(chain); - - chain.wait('Do you want to configure advanced settings for the GraphQL API').sendCarriageReturn(); //No } chain - .wait('Do you have an annotated GraphQL schema?') - .sendLine('n') + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendCarriageReturn() .wait('Choose a schema template:') .sendCarriageReturn() .wait('Do you want to edit the schema now?') diff --git a/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts index e20b226cab2..70e6c11e198 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_1.test.ts @@ -4,7 +4,8 @@ import { deleteProject, initFlutterProjectWithProfile, initJSProjectWithProfile, - addApiWithSchema, + addApiWithBlankSchema, + addApiWithoutSchema, updateApiSchema, updateApiWithMultiAuth, createNewProjectDir, @@ -22,6 +23,7 @@ import { getBackendAmplifyMeta, amplifyPushUpdateForDependentModel, amplifyPushForce, + updateSchema, } from 'amplify-e2e-core'; import path from 'path'; import { existsSync } from 'fs'; @@ -30,8 +32,10 @@ import _ from 'lodash'; describe('amplify add api (GraphQL)', () => { let projRoot: string; + let projFolderName: string; beforeEach(async () => { - projRoot = await createNewProjectDir('graphql-api'); + projFolderName = 'graphqlapi'; + projRoot = await createNewProjectDir(projFolderName); }); afterEach(async () => { @@ -44,8 +48,10 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api', async () => { const envName = 'devtest'; - await initJSProjectWithProfile(projRoot, { name: 'simplemodel', envName }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + const projName = 'simplemodel'; + await initJSProjectWithProfile(projRoot, { name: projName, envName }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'simple_model.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -74,8 +80,10 @@ describe('amplify add api (GraphQL)', () => { it('init a project then add and remove api', async () => { const envName = 'devtest'; - await initIosProjectWithProfile(projRoot, { name: 'simplemodel', envName }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + const projName = 'simplemodel'; + await initIosProjectWithProfile(projRoot, { name: projName, envName }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'simple_model.graphql'); await amplifyPush(projRoot); let meta = getProjectMeta(projRoot); @@ -98,8 +106,10 @@ describe('amplify add api (GraphQL)', () => { it('init a Flutter project and add the simple_model api', async () => { const envName = 'devtest'; - await initFlutterProjectWithProfile(projRoot, { name: 'simplemodel', envName }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + const projName = 'simplemodel'; + await initFlutterProjectWithProfile(projRoot, { name: projName, envName }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'simple_model.graphql'); await amplifyPushWithoutCodegen(projRoot); const meta = getProjectMeta(projRoot); @@ -132,7 +142,8 @@ describe('amplify add api (GraphQL)', () => { const initialSchema = 'initial_key_blog.graphql'; const nextSchema = 'next_key_blog.graphql'; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); await amplifyPushUpdate(projRoot); @@ -146,7 +157,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api with multiple authorization providers', async () => { await initJSProjectWithProfile(projRoot, { name: 'simplemodelmultiauth' }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'simplemodelmultiauth', 'simple_model.graphql'); await updateApiWithMultiAuth(projRoot, {}); await amplifyPush(projRoot); @@ -189,7 +201,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api, match transformer version to current version', async () => { const name = `simplemodelv${TRANSFORM_CURRENT_VERSION}`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -217,7 +230,8 @@ describe('amplify add api (GraphQL)', () => { const initialSchema = 'two-model-schema.graphql'; const fnName = `integtestfn${random}`; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await addFunction( projRoot, { @@ -264,7 +278,8 @@ describe('amplify add api (GraphQL)', () => { it('api force push with no changes', async () => { const projectName = `apinochange`; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, 'two-model-schema.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, 'two-model-schema.graphql'); await amplifyPush(projRoot); let meta = getBackendAmplifyMeta(projRoot); const { lastPushDirHash: beforeDirHash } = meta.api[projectName]; diff --git a/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts index 1b8b5d639b7..1a1310e39bd 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_2.test.ts @@ -1,37 +1,37 @@ import { + addApiWithBlankSchemaAndConflictDetection, + addApiWithoutSchema, + addFunction, + addRestApi, + addSimpleDDB, amplifyPush, - amplifyPushUpdate, - deleteProject, + amplifyPushUpdate, + apiDisableDataStore, + apiEnableDataStore, + checkIfBucketExists, + createNewProjectDir, + deleteProject, + deleteProjectDir, + enableAdminUI, + getAppSyncApi, + getLocalEnvInfo, + getProjectMeta, + getTransformConfig, initJSProjectWithProfile, listAttachedRolePolicies, listRolePolicies, + updateApiSchema, + updateAPIWithResolutionStrategy, updateAuthAddAdminQueries, } from 'amplify-e2e-core'; -import * as path from 'path'; -import { existsSync, readFileSync, readdirSync, writeFileSync } from 'fs'; import AWSAppSyncClient, { AUTH_TYPE } from 'aws-appsync'; +import { existsSync, readdirSync, readFileSync, writeFileSync } from 'fs'; import gql from 'graphql-tag'; -const providerName = 'awscloudformation'; - -import { - addApiWithSchema, - addApiWithSchemaAndConflictDetection, - addRestApi, - updateAPIWithResolutionStrategy, - apiUpdateToggleDataStore, - addFunction, - addSimpleDDB, - checkIfBucketExists, - createNewProjectDir, - deleteProjectDir, - getAppSyncApi, - getProjectMeta, - getLocalEnvInfo, - getTransformConfig, - enableAdminUI, -} from 'amplify-e2e-core'; import { TRANSFORM_CURRENT_VERSION } from 'graphql-transformer-core'; import _ from 'lodash'; +import * as path from 'path'; +const providerName = 'awscloudformation'; + // to deal with bug in cognito-identity-js (global as any).fetch = require('node-fetch'); @@ -55,7 +55,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project with conflict detection enabled and a schema with @key, test update mutation', async () => { const name = `keyconflictdetection`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'key-conflict-detection.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'key-conflict-detection.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -139,7 +140,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project with conflict detection enabled and toggle disable', async () => { const name = `conflictdetection`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); @@ -165,7 +167,7 @@ describe('amplify add api (GraphQL)', () => { expect(transformConfig.ResolverConfig.project.ConflictHandler).toEqual('AUTOMERGE'); // remove datastore feature - await apiUpdateToggleDataStore(projRoot, {}); + await apiDisableDataStore(projRoot, {}); await amplifyPushUpdate(projRoot); const disableDSConfig = getTransformConfig(projRoot, name); expect(disableDSConfig).toBeDefined(); @@ -188,7 +190,8 @@ describe('amplify add api (GraphQL)', () => { // setupAdminUI await enableAdminUI(appId, envName, region); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); meta = getProjectMeta(projRoot); @@ -209,7 +212,8 @@ describe('amplify add api (GraphQL)', () => { it('init a sync enabled project and update conflict resolution strategy', async () => { const name = `syncenabled`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); let transformConfig = getTransformConfig(projRoot, name); expect(transformConfig).toBeDefined(); @@ -246,7 +250,8 @@ describe('amplify add api (GraphQL)', () => { it('init a datastore enabled project and then remove datastore config in update', async () => { const name = 'withoutdatastore'; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); await amplifyPush(projRoot); const meta = getProjectMeta(projRoot); @@ -267,7 +272,7 @@ describe('amplify add api (GraphQL)', () => { expect(_.isEmpty(withoutDSConfig.ResolverConfig)).toBe(true); // amplify update api to enable datastore - await apiUpdateToggleDataStore(projRoot, {}); + await apiEnableDataStore(projRoot, {}); let transformConfigWithDS = getTransformConfig(projRoot, name); expect(transformConfigWithDS).toBeDefined(); expect(transformConfigWithDS.ResolverConfig).toBeDefined(); diff --git a/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts index 266fafd3423..6a426c246a7 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_3.test.ts @@ -8,7 +8,8 @@ import { updateHeadlessApi, getProjectSchema, removeHeadlessApi, - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, createNewProjectDir, deleteProjectDir, getAppSyncApi, @@ -39,8 +40,8 @@ describe('amplify add api (GraphQL)', () => { it('init a project and add the simple_model api, change transformer version to base version and push', async () => { const name = `simplemodelv${TRANSFORM_BASE_VERSION}`; await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); - + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); const transformConfig = getTransformConfig(projRoot, name); expect(transformConfig).toBeDefined(); expect(transformConfig.Version).toBeDefined(); diff --git a/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts index 177f658d14e..338fac8d53a 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_4.test.ts @@ -1,5 +1,6 @@ import { - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, amplifyPush, createNewProjectDir, deleteProject, @@ -31,7 +32,8 @@ describe('multi-key GSI behavior', () => { beforeEach(async () => { projRoot = await createNewProjectDir(projName); await initJSProjectWithProfile(projRoot, { name: projName }); - await addApiWithSchema(projRoot, 'multi-gsi.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'multi-gsi.graphql'); await amplifyPush(projRoot); appSyncClient = getAppSyncClientFromProj(projRoot); diff --git a/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts b/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts index 14cf60fab36..9f68cbe9a58 100644 --- a/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/feature-flags.test.ts @@ -1,5 +1,5 @@ import * as fs from 'fs-extra'; -import { initJSProjectWithProfile, deleteProject, addApiWithSchema, amplifyPush, amplifyPull, getAppId } from 'amplify-e2e-core'; +import { initJSProjectWithProfile, deleteProject, addApiWithoutSchema, updateApiSchema, amplifyPush, amplifyPull, getAppId } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; import { pathManager } from 'amplify-cli-core'; import { addEnvironment } from '../environment/env'; @@ -24,9 +24,11 @@ describe('feature flags', () => { it('push and pull with multiple config files for environments', async () => { await initJSProjectWithProfile(projRoot, { + name: 'apifeatureflag', disableAmplifyAppCreation: false, }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'apifeatureflag', 'simple_model.graphql'); const envName = 'test'; const cliJSONPath = pathManager.getCLIJSONFilePath(projRoot); diff --git a/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts index 793eebb1f93..391a9ddb32b 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_1.test.ts @@ -3,7 +3,7 @@ import { addFunction, functionBuild, addLambdaTrigger } from 'amplify-e2e-core'; import { addSimpleDDB } from 'amplify-e2e-core'; import { addKinesis } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir, getProjectMeta, getFunction } from 'amplify-e2e-core'; -import { addApiWithSchema } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema } from 'amplify-e2e-core'; import { appsyncGraphQLRequest } from 'amplify-e2e-core'; import { getCloudWatchLogs, putKinesisRecords, invokeFunction, getEventSourceMappings } from 'amplify-e2e-core'; @@ -60,8 +60,11 @@ describe('nodejs', () => { }); it('graphql mutation should result in trigger called in minimal AppSync + trigger infra', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'graphqltriggerinfra', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'graphqltriggerinfra', 'simple_model.graphql'); await addFunction(projRoot, { functionTemplate: 'Lambda trigger', triggerType: 'DynamoDB' }, 'nodejs', addLambdaTrigger); await functionBuild(projRoot, {}); diff --git a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts index d06803a3a57..e25fbae68a8 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts @@ -1,5 +1,6 @@ import { - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, addApi, addAuthWithDefault, addDDBWithTrigger, @@ -120,14 +121,17 @@ describe('nodejs', () => { }); it('lambda with dynamoDB permissions should be able to scan ddb', async () => { - await initJSProjectWithProfile(projRoot, {}); + await initJSProjectWithProfile(projRoot, { + name: 'dynamodbscan', + }); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; const ddbName = `integtestddb${random}`; // test ability to scan both appsync @model-backed and regular ddb tables - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'dynamodbscan', 'simple_model.graphql'); await addSimpleDDB(projRoot, { name: ddbName }); await addFunction( @@ -185,7 +189,9 @@ describe('nodejs', () => { }); it('existing lambda updated with additional permissions should be able to scan ddb', async () => { - await initJSProjectWithProfile(projRoot, {}); + await initJSProjectWithProfile(projRoot, { + name: 'lambdaadditionalpermissions', + }); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -209,7 +215,8 @@ describe('nodejs', () => { expect(functionName).toBeDefined(); expect(region).toBeDefined(); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot,); + await updateApiSchema(projRoot, 'lambdaadditionalpermissions', 'simple_model.graphql'); await updateFunction( projRoot, { @@ -241,8 +248,11 @@ describe('nodejs', () => { }); it('@model-backed lambda function should generate envvars TODOTABLE_NAME, TODOTABLE_ARN, GRAPHQLAPIIDOUTPUT', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'modelbackedlambda', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'modelbackedlambda', 'simple_model.graphql'); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -304,8 +314,11 @@ describe('nodejs', () => { }); it('adding api and storage permissions should not add duplicates to CFN', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'two-model-schema.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'apistoragenoduplicate', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'apistoragenoduplicate', 'two-model-schema.graphql'); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -367,8 +380,11 @@ describe('nodejs', () => { }); it('function dependencies should be preserved when not editing permissions during `amplify update function`', async () => { - await initJSProjectWithProfile(projRoot, {}); - await addApiWithSchema(projRoot, 'two-model-schema.graphql'); + await initJSProjectWithProfile(projRoot, { + name: 'functiondependenciespermission' + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'functiondependenciespermission', 'two-model-schema.graphql'); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; diff --git a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts index a12eeb99fa0..4782d421d95 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts @@ -1,6 +1,6 @@ import { addFunction, - addApiWithSchema, + addApiWithoutSchema, amplifyPull, amplifyPushAuth, amplifyPush, @@ -83,9 +83,13 @@ describe('test dependency in root stack', () => { }); it('init a project with api and function and update the @model and add function access to @model ', async () => { - await initJSProjectWithProfile(projRoot, {}); const projectName = 'mytestapi'; - await addApiWithSchema(projRoot, 'simple_model.graphql', { apiName: projectName }); + await initJSProjectWithProfile(projRoot, { + name: projectName + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, 'simple_model.graphql'); + const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; await addFunction( diff --git a/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts b/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts index e02ea98cc26..07eb0ccdd2d 100644 --- a/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/migration/api.connection.migration.test.ts @@ -1,5 +1,5 @@ import { initJSProjectWithProfile, deleteProject, amplifyPush, amplifyPushUpdate, addFeatureFlag } from 'amplify-e2e-core'; -import { addApiWithSchema, updateApiSchema } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; describe('amplify add api', () => { @@ -21,7 +21,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -40,7 +41,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -59,7 +61,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -79,7 +82,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await amplifyPushUpdate(projRoot, /GraphQL endpoint:.*/); diff --git a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts index d323a06dac6..2664f430aa7 100644 --- a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration1.test.ts @@ -1,5 +1,5 @@ import { initJSProjectWithProfile, deleteProject, amplifyPush, amplifyPushUpdate, addFeatureFlag } from 'amplify-e2e-core'; -import { addApiWithSchema, updateApiSchema } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; describe('amplify add api', () => { @@ -23,7 +23,8 @@ describe('amplify add api', () => { // testing this with old behavior with named lsi key addFeatureFlag(projRoot, 'graphqltransformer', 'secondarykeyasgsi', false); - await addApiWithSchema(projRoot, initialSchema, { apiKeyExpirationDays: 2 }); + await addApiWithoutSchema(projRoot, { apiKeyExpirationDays: 2 }); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -43,7 +44,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -60,7 +62,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -77,7 +80,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); diff --git a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts index eb7f82e437b..724026221f8 100644 --- a/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/migration/api.key.migration2.test.ts @@ -1,5 +1,5 @@ import { initJSProjectWithProfile, deleteProject, amplifyPush, amplifyPushUpdate, addFeatureFlag } from 'amplify-e2e-core'; -import { addApiWithSchema, updateApiSchema, getProjectMeta } from 'amplify-e2e-core'; +import { addApiWithoutSchema, updateApiSchema, getProjectMeta } from 'amplify-e2e-core'; import { createNewProjectDir, deleteProjectDir } from 'amplify-e2e-core'; import { addEnvironment } from '../../environment/env'; @@ -19,7 +19,8 @@ describe('amplify add api', () => { const initial_schema = 'migrations_key/three_gsi_model_schema.graphql'; const nextSchema = 'migrations_key/four_gsi_model_schema.graphql'; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initial_schema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initial_schema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); @@ -32,7 +33,8 @@ describe('amplify add api', () => { const nextSchema1 = 'migrations_key/cant_change_key_schema.graphql'; await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); await addEnvironment(projRoot, { envName: 'test' }); updateApiSchema(projRoot, projectName, nextSchema1); @@ -53,7 +55,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -73,7 +76,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); @@ -93,7 +97,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); await expect( @@ -113,7 +118,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); @@ -133,7 +139,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema); @@ -148,7 +155,8 @@ describe('amplify add api', () => { await initJSProjectWithProfile(projRoot, { name: projectName }); addFeatureFlag(projRoot, 'graphqltransformer', 'enableiterativegsiupdates', false); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); updateApiSchema(projRoot, projectName, nextSchema1); diff --git a/packages/amplify-e2e-tests/src/__tests__/pull.test.ts b/packages/amplify-e2e-tests/src/__tests__/pull.test.ts index eaba219a335..155ad825f7d 100644 --- a/packages/amplify-e2e-tests/src/__tests__/pull.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/pull.test.ts @@ -1,6 +1,7 @@ import { getAppId, - addApiWithSchema, + addApiWithoutSchema, + updateApiSchema, amplifyPull, amplifyPush, createNewProjectDir, @@ -24,8 +25,12 @@ describe('amplify pull', () => { }); it('pulling twice with noUpdateBackend does not re-prompt', async () => { - await initJSProjectWithProfile(projRoot, { disableAmplifyAppCreation: false }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await initJSProjectWithProfile(projRoot, { + disableAmplifyAppCreation: false, + name: 'testapi', + }); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'testapi', 'simple_model.graphql'); await amplifyPush(projRoot); const appId = getAppId(projRoot); await amplifyPull(projRoot2, { appId, emptyDir: true, noUpdateBackend: true }); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts index dd64161cb29..087d98f43e0 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-1.test.ts @@ -7,7 +7,7 @@ import { amplifyPushIterativeRollback, getDDBTable, getBackendAmplifyMeta, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -22,7 +22,9 @@ describe('Iterative Rollback - add 2 @keys ', () => { beforeAll(async () => { projectDir = await createNewProjectDir('iterativeRollback'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'iterativerollbackaddkeys', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); afterAll(async () => { @@ -30,9 +32,10 @@ describe('Iterative Rollback - add 2 @keys ', () => { deleteProjectDir(projectDir); }); it('should support rolling back from the 2nd deployment on adding gsis', async () => { - const apiName = 'renamekey'; + const apiName = 'iterativerollbackaddkeys'; const initialSchema = path.join('iterative-push', 'two-key-add', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); // get info on table diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts index fda5124dc18..eacffb877b2 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-rollback-2.test.ts @@ -7,7 +7,7 @@ import { amplifyPushIterativeRollback, getDDBTable, getBackendAmplifyMeta, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -21,7 +21,9 @@ describe('Iterative Rollback - removing two @keys', () => { beforeAll(async () => { projectDir = await createNewProjectDir('iterativeRollback'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'iterativerollbackaddkeys', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); afterAll(async () => { @@ -29,9 +31,10 @@ describe('Iterative Rollback - removing two @keys', () => { deleteProjectDir(projectDir); }); it('should support rolling back from the 2nd deployment on adding gsis', async () => { - const apiName = 'renamekey'; + const apiName = 'iterativerollbackaddkeys'; const initialSchema = path.join('iterative-push', 'multiple-key-delete', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); // get info on table diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts index 2c4109c2b8b..2de29858aea 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-1.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -16,7 +16,9 @@ describe('Schema iterative update - rename @key', () => { beforeAll(async () => { projectDir = await createNewProjectDir('schemaIterative'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'schemaiterativeupdate', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); @@ -25,10 +27,11 @@ describe('Schema iterative update - rename @key', () => { deleteProjectDir(projectDir); }); it('should support changing gsi name', async () => { - const apiName = 'renamekey'; + const apiName = 'schemaiterativeupdate'; const initialSchema = path.join('iterative-push', 'change-model-name', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); const finalSchema = path.join('iterative-push', 'change-model-name', 'final-schema.graphql'); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts index 31fd211f241..1878135d8ef 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-3.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -16,7 +16,9 @@ describe('Schema iterative update - delete', () => { beforeAll(async () => { projectDir = await createNewProjectDir('schemaIterative'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'deletekeys', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); @@ -28,7 +30,8 @@ describe('Schema iterative update - delete', () => { const apiName = 'deletekeys'; const initialSchema = path.join('iterative-push', 'multiple-key-delete', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); const finalSchema = path.join('iterative-push', 'multiple-key-delete', 'final-schema.graphql'); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts index a83805997a0..6f1a0bb1180 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-4.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -16,7 +16,9 @@ describe('Schema iterative update - create update and delete', () => { beforeAll(async () => { projectDir = await createNewProjectDir('schemaIterative'); - await initJSProjectWithProfile(projectDir, {}); + await initJSProjectWithProfile(projectDir, { + name: 'iterativetest1', + }); addFeatureFlag(projectDir, 'graphqltransformer', 'enableiterativegsiupdates', true); }); @@ -28,7 +30,8 @@ describe('Schema iterative update - create update and delete', () => { const apiName = 'iterativetest1'; const initialSchema = path.join('iterative-push', 'add-remove-and-update-key', 'initial-schema.graphql'); - await addApiWithSchema(projectDir, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectDir, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectDir, apiName, initialSchema); await amplifyPush(projectDir); const finalSchema = path.join('iterative-push', 'add-remove-and-update-key', 'final-schema.graphql'); diff --git a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts index 1fe5aefa131..d0ea8a4818b 100644 --- a/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/schema-iterative-update-locking.test.ts @@ -4,7 +4,7 @@ import { initJSProjectWithProfile, deleteProject, deleteProjectDir, - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, updateApiSchema, @@ -24,6 +24,7 @@ describe('Schema iterative update - locking', () => { projectRoot = await createNewProjectDir('schemaIterativeLock'); await initJSProjectWithProfile(projectRoot, { + name: 'iterlock', disableAmplifyAppCreation: false, }); @@ -40,7 +41,8 @@ describe('Schema iterative update - locking', () => { // Create and push project with API const initialSchema = path.join('iterative-push', 'change-model-name', 'initial-schema.graphql'); - await addApiWithSchema(projectRoot, initialSchema, { apiName, apiKeyExpirationDays: 7 }); + await addApiWithoutSchema(projectRoot, { apiKeyExpirationDays: 7 }); + await updateApiSchema(projectRoot, apiName, initialSchema); await amplifyPush(projectRoot); // Apply updates to first project diff --git a/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts b/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts index 9c5398c0c14..d82cea99380 100644 --- a/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts +++ b/packages/amplify-e2e-tests/src/schema-api-directives/tests/key-howTo4.ts @@ -1,5 +1,5 @@ import _ from 'lodash'; -import { addApiWithSchemaAndConflictDetection, amplifyPush } from 'amplify-e2e-core'; +import { addApiWithBlankSchemaAndConflictDetection, addApiWithBlankSchema, amplifyPush, updateApiSchema } from 'amplify-e2e-core'; import { getApiKey, configureAmplify, getConfiguredAppsyncClientAPIKeyAuth } from '../authHelper'; import { testQueries, testMutations } from '../common'; @@ -270,7 +270,10 @@ export const expected_result_query5 = { }; export async function runTest(projectDir: string, testModule: any) { - await addApiWithSchemaAndConflictDetection(projectDir, testModule.schemaName); + await addApiWithBlankSchema(projectDir, { + apiName: 'testapi', + }); + await updateApiSchema(projectDir, 'testapi', testModule.schemaName); await amplifyPush(projectDir); const awsconfig = configureAmplify(projectDir); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts index 54c3b31ad63..982209a51f1 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.key.migration.test.ts @@ -1,5 +1,5 @@ import { - addApiWithSchema, + addApiWithoutSchema, addFeatureFlag, amplifyPush, amplifyPushForce, @@ -28,7 +28,8 @@ describe('amplify key force push', () => { const initialSchema = 'migrations_key/simple_key.graphql'; // init, add api and push with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // gql-compile and force push with codebase cli await apiGqlCompile(projRoot, true); @@ -40,7 +41,8 @@ describe('amplify key force push', () => { const initialSchema = 'migrations_key/initial_schema.graphql'; // init, add api and push with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // add feature flag addFeatureFlag(projRoot, 'graphqltransformer', 'secondaryKeyAsGSI', true); diff --git a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts index b1c7194472d..0b0c0b5d5e9 100644 --- a/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/migration_tests/transformer_migration/api.searchable.migration.test.ts @@ -1,5 +1,5 @@ import { - addApiWithSchema, + addApiWithoutSchema, amplifyPush, amplifyPushUpdate, createNewProjectDir, @@ -26,7 +26,8 @@ describe('amplify searchable migration', () => { const nextSchema = 'migrations_searchable/updated_searchable.graphql'; // init, add api and push with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // update and push with codebase cli updateApiSchema(projRoot, projectName, nextSchema); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts index abdbef5886f..a2593d79c22 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/api_migration_update.test.ts @@ -1,6 +1,6 @@ import { - addApiWithSchema, - addApiWithSchemaAndConflictDetection, + addApiWithoutSchema, + addApiWithBlankSchemaAndConflictDetection, amplifyPush, amplifyPushUpdate, createNewProjectDir, @@ -38,7 +38,8 @@ describe('api migration update test', () => { const nextSchema = 'next_key_blog.graphql'; // init the project and add api with installed cli await initJSProjectWithProfile(projRoot, { name: projectName }); - await addApiWithSchema(projRoot, initialSchema); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projectName, initialSchema); await amplifyPush(projRoot); // update api and push with the CLI to be released (the codebase) updateApiSchema(projRoot, projectName, nextSchema); @@ -53,7 +54,8 @@ describe('api migration update test', () => { it('api update migration with multiauth', async () => { // init and add api with installed CLI await initJSProjectWithProfile(projRoot, { name: 'simplemodelmultiauth' }); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'simplemodelmultiauth', 'simple_model.graphql'); // update and push with codebase await updateApiWithMultiAuth(projRoot, { testingWithLatestCodebase: true }); await amplifyPush(projRoot, true); @@ -98,7 +100,8 @@ describe('api migration update test', () => { const name = `syncenabled`; // init and add api with locally installed cli await initJSProjectWithProfile(projRoot, { name }); - await addApiWithSchemaAndConflictDetection(projRoot, 'simple_model.graphql'); + await addApiWithBlankSchemaAndConflictDetection(projRoot); + await updateApiSchema(projRoot, name, 'simple_model.graphql'); let transformConfig = getTransformConfig(projRoot, name); expect(transformConfig).toBeDefined(); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts index 1755e98afef..87cd42ee896 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts @@ -1,5 +1,5 @@ import { - addApiWithSchema, + addApiWithoutSchema, addFunction, addLayer, amplifyPush, @@ -15,6 +15,7 @@ import { LayerRuntime, loadFunctionTestFile, overrideFunctionSrcNode, + updateApiSchema, updateFunction, validateLayerMetadata, } from 'amplify-e2e-core'; @@ -34,7 +35,9 @@ describe('amplify function migration', () => { }); it('existing lambda updated with additional permissions should be able to scan ddb', async () => { - await initJSProjectWithProfile(projRoot, {}); + await initJSProjectWithProfile(projRoot, { + name: 'lambdapermissionscanddb' + }); const random = Math.floor(Math.random() * 10000); const fnName = `integtestfn${random}`; @@ -58,7 +61,8 @@ describe('amplify function migration', () => { expect(functionName).toBeDefined(); expect(region).toBeDefined(); - await addApiWithSchema(projRoot, 'simple_model.graphql'); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, 'lambdapermissionscanddb', 'simple_model.graphql'); await updateFunction( projRoot, { diff --git a/packages/graphql-transformer-core/src/collectDirectives.ts b/packages/graphql-transformer-core/src/collectDirectives.ts index ee8ae2a16a4..ef4cec856e7 100644 --- a/packages/graphql-transformer-core/src/collectDirectives.ts +++ b/packages/graphql-transformer-core/src/collectDirectives.ts @@ -62,6 +62,7 @@ export function collectDirectivesByTypeNames(sdl: string) { } export function collectDirectivesByType(sdl: string): Object { + if(!sdl) return {}; const doc = parse(sdl); // defined types with directives list let types = {}; From b7ea82255628864b1ca4e7192f2398587008f783 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Tue, 24 Aug 2021 10:49:53 -0700 Subject: [PATCH 28/64] Delete sam.schema.json --- .../sam.schema.json | 115746 --------------- 1 file changed, 115746 deletions(-) delete mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json deleted file mode 100644 index df1d127b487..00000000000 --- a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/sam.schema.json +++ /dev/null @@ -1,115746 +0,0 @@ -{ - "$id": "http://json-schema.org/draft-04/schema#", - "additionalProperties": false, - "definitions": { - "AWS::ACMPCA::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiPassthrough": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TemplateArn": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - }, - "ValidityNotBefore": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - } - }, - "required": [ - "CertificateAuthorityArn", - "CertificateSigningRequest", - "SigningAlgorithm", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ApiPassthrough": { - "additionalProperties": false, - "properties": { - "Extensions": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { - "additionalProperties": false, - "properties": { - "ExtendedKeyUsageObjectIdentifier": { - "type": "string" - }, - "ExtendedKeyUsageType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Extensions": { - "additionalProperties": false, - "properties": { - "CertificatePolicies": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" - }, - "type": "array" - }, - "ExtendedKeyUsage": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" - }, - "type": "array" - }, - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" - }, - "SubjectAlternativeNames": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyInformation": { - "additionalProperties": false, - "properties": { - "CertPolicyId": { - "type": "string" - }, - "PolicyQualifiers": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" - }, - "type": "array" - } - }, - "required": [ - "CertPolicyId" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { - "additionalProperties": false, - "properties": { - "PolicyQualifierId": { - "type": "string" - }, - "Qualifier": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" - } - }, - "required": [ - "PolicyQualifierId", - "Qualifier" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Qualifier": { - "additionalProperties": false, - "properties": { - "CpsUri": { - "type": "string" - } - }, - "required": [ - "CpsUri" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Validity": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsrExtensions": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" - }, - "KeyAlgorithm": { - "type": "string" - }, - "KeyStorageSecurityStandard": { - "type": "string" - }, - "RevocationConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" - }, - "SigningAlgorithm": { - "type": "string" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "KeyAlgorithm", - "SigningAlgorithm", - "Subject", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthority" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessDescription": { - "additionalProperties": false, - "properties": { - "AccessLocation": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" - }, - "AccessMethod": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" - } - }, - "required": [ - "AccessLocation", - "AccessMethod" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessMethod": { - "additionalProperties": false, - "properties": { - "AccessMethodType": { - "type": "string" - }, - "CustomObjectIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { - "additionalProperties": false, - "properties": { - "CustomCname": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "ExpirationInDays": { - "type": "number" - }, - "S3BucketName": { - "type": "string" - }, - "S3ObjectAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { - "additionalProperties": false, - "properties": { - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" - }, - "SubjectInformationAccess": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { - "additionalProperties": false, - "properties": { - "CrlConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthorityActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Certificate", - "CertificateAuthorityArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthorityActivation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalyzerName": { - "type": "string" - }, - "ArchiveRules": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AccessAnalyzer::Analyzer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { - "additionalProperties": false, - "properties": { - "Filter": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" - }, - "type": "array" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "Filter", - "RuleName" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.Filter": { - "additionalProperties": false, - "properties": { - "Contains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Exists": { - "type": "boolean" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "BrokerName": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" - }, - "DeploymentMode": { - "type": "string" - }, - "EncryptionOptions": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "HostInstanceType": { - "type": "string" - }, - "LdapServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" - }, - "Logs": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" - }, - "MaintenanceWindowStartTime": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" - }, - "type": "array" - }, - "Users": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" - }, - "type": "array" - } - }, - "required": [ - "AutoMinorVersionUpgrade", - "BrokerName", - "DeploymentMode", - "EngineType", - "EngineVersion", - "HostInstanceType", - "PubliclyAccessible", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Broker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.EncryptionOptions": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "UseAwsOwnedKey": { - "type": "boolean" - } - }, - "required": [ - "UseAwsOwnedKey" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LogList": { - "additionalProperties": false, - "properties": { - "Audit": { - "type": "boolean" - }, - "General": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AmazonMQ::Broker.MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DayOfWeek": { - "type": "string" - }, - "TimeOfDay": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "DayOfWeek", - "TimeOfDay", - "TimeZone" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.User": { - "additionalProperties": false, - "properties": { - "ConsoleAccess": { - "type": "boolean" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Data", - "EngineType", - "EngineVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Configuration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" - } - }, - "required": [ - "Broker", - "Configuration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::Amplify::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "AutoBranchCreationConfig": { - "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "CustomHeaders": { - "type": "string" - }, - "CustomRules": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.CustomRule" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "EnableBranchAutoDeletion": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "IAMServiceRole": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OauthToken": { - "type": "string" - }, - "Repository": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::App.AutoBranchCreationConfig": { - "additionalProperties": false, - "properties": { - "AutoBranchCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "EnableAutoBranchCreation": { - "type": "boolean" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.CustomRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Source", - "Target" - ], - "type": "object" - }, - "AWS::Amplify::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Branch": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" - }, - "BranchName": { - "type": "string" - }, - "BuildSpec": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "BranchName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Branch" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Branch.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::Amplify::Branch.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "AutoSubDomainCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoSubDomainIAMRole": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EnableAutoSubDomain": { - "type": "boolean" - }, - "SubDomainSettings": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "DomainName", - "SubDomainSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Domain.SubDomainSetting": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BranchName", - "Prefix" - ], - "type": "object" - }, - "AWS::ApiGateway::Account": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "GenerateDistinctId": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "StageKeys": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey.StageKey": { - "additionalProperties": false, - "properties": { - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "AuthorizerCredentials": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerUri": { - "type": "string" - }, - "IdentitySource": { - "type": "string" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "RestApiId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::BasePathMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::BasePathMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::ClientCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ClientCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" - }, - "Description": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StageDescription": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.CanarySetting": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.StageDescription": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" - }, - "type": "array" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Location": { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" - }, - "Properties": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Location", - "Properties", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationPart" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart.Location": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "DocumentationVersion", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::GatewayResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseType": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "ResponseType", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::GatewayResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" - }, - "MethodResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" - }, - "type": "array" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "RequestValidatorId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "HttpMethod", - "ResourceId", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Method" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.Integration": { - "additionalProperties": false, - "properties": { - "CacheKeyParameters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheNamespace": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandling": { - "type": "string" - }, - "Credentials": { - "type": "string" - }, - "IntegrationHttpMethod": { - "type": "string" - }, - "IntegrationResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" - }, - "type": "array" - }, - "PassthroughBehavior": { - "type": "string" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TimeoutInMillis": { - "type": "number" - }, - "Type": { - "type": "string" - }, - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Method.IntegrationResponse": { - "additionalProperties": false, - "properties": { - "ContentHandling": { - "type": "string" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SelectionPattern": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.MethodResponse": { - "additionalProperties": false, - "properties": { - "ResponseModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RequestValidator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "ValidateRequestBody": { - "type": "boolean" - }, - "ValidateRequestParameters": { - "type": "boolean" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::RequestValidator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ParentId": { - "type": "string" - }, - "PathPart": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "ParentId", - "PathPart", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RestApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySourceType": { - "type": "string" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" - }, - "CloneFrom": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Stage.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.CanarySetting": { - "additionalProperties": false, - "properties": { - "DeploymentId": { - "type": "string" - }, - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiStages": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Quota": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throttle": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - }, - "UsagePlanName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ApiStage": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Throttle": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.QuotaSettings": { - "additionalProperties": false, - "properties": { - "Limit": { - "type": "number" - }, - "Offset": { - "type": "number" - }, - "Period": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ThrottleSettings": { - "additionalProperties": false, - "properties": { - "BurstLimit": { - "type": "number" - }, - "RateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlanKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "UsagePlanId": { - "type": "string" - } - }, - "required": [ - "KeyId", - "KeyType", - "UsagePlanId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlanKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "TargetArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySelectionExpression": { - "type": "string" - }, - "BasePath": { - "type": "string" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "DisableSchemaValidation": { - "type": "boolean" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "ProtocolType": { - "type": "string" - }, - "RouteKey": { - "type": "string" - }, - "RouteSelectionExpression": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Target": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Api" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api.BodyS3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Etag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Api.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAge": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" - }, - "Route": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" - }, - "Stage": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" - }, - "AutoDeploy": { - "type": "boolean" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageVariables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiMappingKey": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "ApiId", - "DomainName", - "Stage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "AuthorizerCredentialsArn": { - "type": "string" - }, - "AuthorizerPayloadFormatVersion": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerType": { - "type": "string" - }, - "AuthorizerUri": { - "type": "string" - }, - "EnableSimpleResponses": { - "type": "boolean" - }, - "IdentitySource": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "JwtConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ApiId", - "AuthorizerType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { - "additionalProperties": false, - "properties": { - "Audience": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Issuer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" - }, - "type": "array" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "CertificateName": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "IntegrationSubtype": { - "type": "string" - }, - "IntegrationType": { - "type": "string" - }, - "IntegrationUri": { - "type": "string" - }, - "PassthroughBehavior": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "RequestParameters": { - "type": "object" - }, - "RequestTemplates": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - }, - "TlsConfig": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" - } - }, - "required": [ - "ApiId", - "IntegrationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameter": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "required": [ - "Destination", - "Source" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameterList": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "ResponseModels": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "RouteId": { - "type": "string" - }, - "RouteResponseKey": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteId", - "RouteResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RouteResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" - }, - "AccessPolicyId": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AutoDeploy": { - "type": "boolean" - }, - "ClientCertificateId": { - "type": "string" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageName": { - "type": "string" - }, - "StageVariables": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApiId", - "StageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Application.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RetrievalRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" - }, - "type": "array" - }, - "Validators": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "LocationUri", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::ConfigurationProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "ConfigurationVersion", - "DeploymentStrategyId", - "EnvironmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Deployment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentDurationInMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "FinalBakeTimeInMinutes": { - "type": "number" - }, - "GrowthFactor": { - "type": "number" - }, - "GrowthType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicateTo": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" - }, - "type": "array" - } - }, - "required": [ - "DeploymentDurationInMinutes", - "GrowthFactor", - "Name", - "ReplicateTo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::DeploymentStrategy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Monitors": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Environment.Monitors": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "type": "string" - }, - "AlarmRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::HostedConfigurationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LatestVersionNumber": { - "type": "number" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "Content", - "ContentType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionMode": { - "type": "string" - }, - "ConnectorProfileConfig": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" - }, - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "KMSArn": { - "type": "string" - } - }, - "required": [ - "ConnectionMode", - "ConnectorProfileName", - "ConnectorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::ConnectorProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "SecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { - "additionalProperties": false, - "properties": { - "AuthCode": { - "type": "string" - }, - "RedirectUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" - }, - "ConnectorProfileProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" - } - }, - "required": [ - "ConnectorProfileCredentials" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiToken": { - "type": "string" - } - }, - "required": [ - "ApiToken" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessKeyId": { - "type": "string" - }, - "Datakey": { - "type": "string" - }, - "SecretAccessKey": { - "type": "string" - }, - "UserId": { - "type": "string" - } - }, - "required": [ - "AccessKeyId", - "Datakey", - "SecretAccessKey", - "UserId" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "DatabaseUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "DatabaseUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientCredentialsArn": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - }, - "isSandboxEnvironment": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - } - }, - "required": [ - "ApiKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "PrivateLinkServiceName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Stage", - "Warehouse" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiSecretKey": { - "type": "string" - } - }, - "required": [ - "ApiSecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationFlowConfigList": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" - }, - "type": "array" - }, - "FlowName": { - "type": "string" - }, - "KMSArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" - } - }, - "required": [ - "DestinationFlowConfigList", - "FlowName", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.AggregationConfig": { - "additionalProperties": false, - "properties": { - "AggregationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.AmplitudeSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "type": "string" - }, - "Datadog": { - "type": "string" - }, - "Dynatrace": { - "type": "string" - }, - "GoogleAnalytics": { - "type": "string" - }, - "InforNexus": { - "type": "string" - }, - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Singular": { - "type": "string" - }, - "Slack": { - "type": "string" - }, - "Trendmicro": { - "type": "string" - }, - "Veeva": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DatadogSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationConnectorProperties": { - "additionalProperties": false, - "properties": { - "EventBridge": { - "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" - }, - "LookoutMetrics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" - }, - "Upsolver": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "DestinationConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "DestinationConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DynatraceSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ErrorHandlingConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "FailOnFirstError": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.InforNexusSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.PrefixConfig": { - "additionalProperties": false, - "properties": { - "PrefixFormat": { - "type": "string" - }, - "PrefixType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.RedshiftDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3DestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketPrefix" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleStartTime": { - "type": "number" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SingularSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SlackSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TaskPropertiesObject": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TrendmicroSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" - } - }, - "required": [ - "BucketName", - "S3OutputFormatConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "required": [ - "PrefixConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.VeevaSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBridgeBus": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventBridgeBus", - "EventFilter", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::EventIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventFilter": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { - "additionalProperties": false, - "properties": { - "ClientAssociationMetadata": { - "items": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" - }, - "type": "array" - }, - "ClientId": { - "type": "string" - }, - "EventBridgeRuleName": { - "type": "string" - }, - "EventIntegrationAssociationArn": { - "type": "string" - }, - "EventIntegrationAssociationId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.Metadata": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayRouteName": { - "type": "string" - }, - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualGatewayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::GatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.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" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" - } - }, - "required": [ - "VirtualService" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { - "additionalProperties": false, - "properties": { - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Mesh" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.EgressFilter": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshSpec": { - "additionalProperties": false, - "properties": { - "EgressFilter": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "RouteName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualRouterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::Route.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRetryPolicy": { - "additionalProperties": false, - "properties": { - "GrpcRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HttpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxRetries": { - "type": "number" - }, - "PerRetryTimeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "TcpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxRetries", - "PerRetryTimeout" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMatch": { - "additionalProperties": false, - "properties": { - "Metadata": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" - }, - "type": "array" - }, - "MethodName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadata": { - "additionalProperties": false, - "properties": { - "Invert": { - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.HeaderMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.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" - }, - "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" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.WeightedTarget": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "VirtualNode", - "Weight" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualNode" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "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": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HttpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Listener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" - }, - "OutlierDetection": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTimeout": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Logging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.OutlierDetection": { - "additionalProperties": false, - "properties": { - "BaseEjectionDuration": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "Interval": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "MaxEjectionPercent": { - "type": "number" - }, - "MaxServerErrors": { - "type": "number" - } - }, - "required": [ - "BaseEjectionDuration", - "Interval", - "MaxEjectionPercent", - "MaxServerErrors" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ServiceDiscovery": { - "additionalProperties": false, - "properties": { - "AWSCloudMap": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" - }, - "DNS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" - }, - "Backends": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" - }, - "ServiceDiscovery": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { - "additionalProperties": false, - "properties": { - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { - "additionalProperties": false, - "properties": { - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "VirtualNodeName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "VirtualRouterName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" - }, - "VirtualRouter": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceSpec": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingConfigurationArn": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" - }, - "HealthCheckConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppRunner::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppRunner::Service.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "AccessRoleArn": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeConfigurationValues": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" - }, - "ConfigurationSource": { - "type": "string" - } - }, - "required": [ - "ConfigurationSource" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfigurationValues": { - "additionalProperties": false, - "properties": { - "BuildCommand": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "required": [ - "Runtime" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeRepository": { - "additionalProperties": false, - "properties": { - "CodeConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" - }, - "RepositoryUrl": { - "type": "string" - }, - "SourceCodeVersion": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" - } - }, - "required": [ - "RepositoryUrl", - "SourceCodeVersion" - ], - "type": "object" - }, - "AWS::AppRunner::Service.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKey": { - "type": "string" - } - }, - "required": [ - "KmsKey" - ], - "type": "object" - }, - "AWS::AppRunner::Service.HealthCheckConfiguration": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Timeout": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageConfiguration": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageRepository": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" - }, - "ImageIdentifier": { - "type": "string" - }, - "ImageRepositoryType": { - "type": "string" - } - }, - "required": [ - "ImageIdentifier", - "ImageRepositoryType" - ], - "type": "object" - }, - "AWS::AppRunner::Service.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "type": "string" - }, - "InstanceRoleArn": { - "type": "string" - }, - "Memory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.SourceCodeVersion": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::AppRunner::Service.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" - }, - "AutoDeploymentsEnabled": { - "type": "boolean" - }, - "CodeRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" - }, - "ImageRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" - } - }, - "type": "object" - }, - "AWS::AppStream::DirectoryConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceAccountCredentials": { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" - } - }, - "required": [ - "DirectoryName", - "OrganizationalUnitDistinguishedNames", - "ServiceAccountCredentials" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::DirectoryConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "AccountPassword": { - "type": "string" - } - }, - "required": [ - "AccountName", - "AccountPassword" - ], - "type": "object" - }, - "AWS::AppStream::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeCapacity": { - "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" - }, - "Description": { - "type": "string" - }, - "DisconnectTimeoutInSeconds": { - "type": "number" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "FleetType": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "IdleDisconnectTimeoutInSeconds": { - "type": "number" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxUserDurationInSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "StreamView": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" - } - }, - "required": [ - "ComputeCapacity", - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.ComputeCapacity": { - "additionalProperties": false, - "properties": { - "DesiredInstances": { - "type": "number" - } - }, - "required": [ - "DesiredInstances" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::Fleet.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" - }, - "type": "array" - }, - "AppstreamAgentVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "IamRoleArn": { - "type": "string" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" - } - }, - "required": [ - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::ImageBuilder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" - }, - "type": "array" - }, - "ApplicationSettings": { - "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" - }, - "AttributesToDelete": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeleteStorageConnectors": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "EmbedHostDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FeedbackURL": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RedirectURL": { - "type": "string" - }, - "StorageConnectors": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserSettings": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppStream::Stack.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::Stack.ApplicationSettings": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "SettingsGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::AppStream::Stack.StorageConnector": { - "additionalProperties": false, - "properties": { - "ConnectorType": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdentifier": { - "type": "string" - } - }, - "required": [ - "ConnectorType" - ], - "type": "object" - }, - "AWS::AppStream::Stack.UserSetting": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "Action", - "Permission" - ], - "type": "object" - }, - "AWS::AppStream::StackFleetAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FleetName": { - "type": "string" - }, - "StackName": { - "type": "string" - } - }, - "required": [ - "FleetName", - "StackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackFleetAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::StackUserAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "SendEmailNotification": { - "type": "boolean" - }, - "StackName": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "StackName", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackUserAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "FirstName": { - "type": "string" - }, - "LastName": { - "type": "string" - }, - "MessageAction": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiCache": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiCachingBehavior": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "Ttl": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiCachingBehavior", - "ApiId", - "Ttl", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiCache" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Expires": { - "type": "number" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamoDBConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" - }, - "ElasticsearchConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" - }, - "HttpConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" - }, - "Name": { - "type": "string" - }, - "RelationalDatabaseConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationType": { - "type": "string" - }, - "AwsIamConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" - } - }, - "required": [ - "AuthorizationType" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AwsIamConfig": { - "additionalProperties": false, - "properties": { - "SigningRegion": { - "type": "string" - }, - "SigningServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::DataSource.DeltaSyncConfig": { - "additionalProperties": false, - "properties": { - "BaseTableTTL": { - "type": "string" - }, - "DeltaSyncTableName": { - "type": "string" - }, - "DeltaSyncTableTTL": { - "type": "string" - } - }, - "required": [ - "BaseTableTTL", - "DeltaSyncTableName", - "DeltaSyncTableTTL" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.DynamoDBConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "DeltaSyncConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" - }, - "TableName": { - "type": "string" - }, - "UseCallerCredentials": { - "type": "boolean" - }, - "Versioned": { - "type": "boolean" - } - }, - "required": [ - "AwsRegion", - "TableName" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.ElasticsearchConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.HttpConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.LambdaConfig": { - "additionalProperties": false, - "properties": { - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "AwsSecretStoreArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DbClusterIdentifier": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "AwsSecretStoreArn", - "DbClusterIdentifier" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RelationalDatabaseConfig": { - "additionalProperties": false, - "properties": { - "RdsHttpEndpointConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" - }, - "RelationalDatabaseSourceType": { - "type": "string" - } - }, - "required": [ - "RelationalDatabaseSourceType" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "DataSourceName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" - } - }, - "required": [ - "ApiId", - "DataSourceName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::FunctionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalAuthenticationProviders": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" - }, - "AuthenticationType": { - "type": "string" - }, - "LambdaAuthorizerConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" - }, - "LogConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" - }, - "Name": { - "type": "string" - }, - "OpenIDConnectConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" - }, - "Tags": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" - }, - "UserPoolConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" - }, - "XrayEnabled": { - "type": "boolean" - } - }, - "required": [ - "AuthenticationType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLApi" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "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.AdditionalAuthenticationProviders": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.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.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.UserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "DefaultAction": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLSchema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Definition": { - "type": "string" - }, - "DefinitionS3Location": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLSchema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "CachingConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" - }, - "DataSourceName": { - "type": "string" - }, - "FieldName": { - "type": "string" - }, - "Kind": { - "type": "string" - }, - "PipelineConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "ApiId", - "FieldName", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::Resolver" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver.CachingConfig": { - "additionalProperties": false, - "properties": { - "CachingKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ttl": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.PipelineConfig": { - "additionalProperties": false, - "properties": { - "Functions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScheduledActions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" - }, - "type": "array" - }, - "ServiceNamespace": { - "type": "string" - }, - "SuspendedState": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "RoleARN", - "ScalableDimension", - "ServiceNamespace" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalableTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "ScalableTargetAction": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" - }, - "Schedule": { - "type": "string" - }, - "ScheduledActionName": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingTargetId": { - "type": "string" - }, - "ServiceNamespace": { - "type": "string" - }, - "StepScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "Cooldown": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoConfigurationEnabled": { - "type": "boolean" - }, - "CWEMonitorEnabled": { - "type": "boolean" - }, - "ComponentMonitoringSettings": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" - }, - "type": "array" - }, - "CustomComponents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" - }, - "type": "array" - }, - "LogPatternSets": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" - }, - "type": "array" - }, - "OpsCenterEnabled": { - "type": "boolean" - }, - "OpsItemSNSTopicArn": { - "type": "string" - }, - "ResourceGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationInsights::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "Severity": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.AlarmMetric": { - "additionalProperties": false, - "properties": { - "AlarmMetricName": { - "type": "string" - } - }, - "required": [ - "AlarmMetricName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" - }, - "SubComponentTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { - "additionalProperties": false, - "properties": { - "ComponentARN": { - "type": "string" - }, - "ComponentConfigurationMode": { - "type": "string" - }, - "ComponentName": { - "type": "string" - }, - "CustomComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "DefaultOverwriteComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "Tier": { - "type": "string" - } - }, - "required": [ - "ComponentConfigurationMode", - "Tier" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" - }, - "type": "array" - }, - "JMXPrometheusExporter": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.CustomComponent": { - "additionalProperties": false, - "properties": { - "ComponentName": { - "type": "string" - }, - "ResourceList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ComponentName", - "ResourceList" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { - "additionalProperties": false, - "properties": { - "HostPort": { - "type": "string" - }, - "JMXURL": { - "type": "string" - }, - "PrometheusPort": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.Log": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "LogType": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "LogType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPattern": { - "additionalProperties": false, - "properties": { - "Pattern": { - "type": "string" - }, - "PatternName": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Pattern", - "PatternName", - "Rank" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPatternSet": { - "additionalProperties": false, - "properties": { - "LogPatterns": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" - }, - "type": "array" - }, - "PatternSetName": { - "type": "string" - } - }, - "required": [ - "LogPatterns", - "PatternSetName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { - "additionalProperties": false, - "properties": { - "SubComponentConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" - }, - "SubComponentType": { - "type": "string" - } - }, - "required": [ - "SubComponentConfigurationDetails", - "SubComponentType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.WindowsEvent": { - "additionalProperties": false, - "properties": { - "EventLevels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EventName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "EventLevels", - "EventName", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Athena::DataCatalog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::DataCatalog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::NamedQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - }, - "WorkGroup": { - "type": "string" - } - }, - "required": [ - "Database", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::NamedQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::PreparedStatement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecursiveDeleteOption": { - "type": "boolean" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkGroupConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" - }, - "WorkGroupConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::WorkGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionOption": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionOption" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EngineVersion": { - "additionalProperties": false, - "properties": { - "EffectiveEngineVersion": { - "type": "string" - }, - "SelectedEngineVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - }, - "RemoveEncryptionConfiguration": { - "type": "boolean" - }, - "RemoveOutputLocation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfiguration": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RemoveBytesScannedCutoffPerQuery": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentReportsDestination": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" - }, - "AwsAccount": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "Description": { - "type": "string" - }, - "FrameworkId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Roles": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" - }, - "type": "array" - }, - "Scope": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AuditManager::Assessment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSAccount": { - "additionalProperties": false, - "properties": { - "EmailAddress": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSService": { - "additionalProperties": false, - "properties": { - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AssessmentReportsDestination": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Delegation": { - "additionalProperties": false, - "properties": { - "AssessmentId": { - "type": "string" - }, - "AssessmentName": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "ControlSetId": { - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "CreationTime": { - "type": "number" - }, - "Id": { - "type": "string" - }, - "LastUpdated": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Role": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Scope": { - "additionalProperties": false, - "properties": { - "AwsAccounts": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "type": "array" - }, - "AwsServices": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CapacityRebalance": { - "type": "boolean" - }, - "Context": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "DesiredCapacity": { - "type": "string" - }, - "HealthCheckGracePeriod": { - "type": "number" - }, - "HealthCheckType": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "LifecycleHookSpecificationList": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" - }, - "type": "array" - }, - "LoadBalancerNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxInstanceLifetime": { - "type": "number" - }, - "MaxSize": { - "type": "string" - }, - "MetricsCollection": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" - }, - "type": "array" - }, - "MinSize": { - "type": "string" - }, - "MixedInstancesPolicy": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" - }, - "NewInstancesProtectedFromScaleIn": { - "type": "boolean" - }, - "NotificationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" - }, - "type": "array" - }, - "PlacementGroup": { - "type": "string" - }, - "ServiceLinkedRoleARN": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" - }, - "type": "array" - }, - "TargetGroupARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TerminationPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VPCZoneIdentifier": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::AutoScalingGroup" - ], - "type": "string" - }, - "UpdatePolicy": { - "type": "object" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { - "additionalProperties": false, - "properties": { - "OnDemandAllocationStrategy": { - "type": "string" - }, - "OnDemandBaseCapacity": { - "type": "number" - }, - "OnDemandPercentageAboveBaseCapacity": { - "type": "number" - }, - "SpotAllocationStrategy": { - "type": "string" - }, - "SpotInstancePools": { - "type": "number" - }, - "SpotMaxPrice": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "required": [ - "LaunchTemplateSpecification" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { - "additionalProperties": false, - "properties": { - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { - "additionalProperties": false, - "properties": { - "Granularity": { - "type": "string" - }, - "Metrics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Granularity" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { - "additionalProperties": false, - "properties": { - "InstancesDistribution": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" - } - }, - "required": [ - "LaunchTemplate" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TopicARN": { - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.TagProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "PropagateAtLaunch": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "PropagateAtLaunch", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" - }, - "type": "array" - }, - "ClassicLinkVPCId": { - "type": "string" - }, - "ClassicLinkVPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "InstanceMonitoring": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" - }, - "PlacementTenancy": { - "type": "string" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "UserData": { - "type": "string" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LaunchConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName", - "LifecycleTransition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LifecycleHook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "AutoScalingGroupName": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "PolicyType": { - "type": "string" - }, - "ScalingAdjustment": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::AutoScaling::ScheduledAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DesiredCapacity": { - "type": "number" - }, - "EndTime": { - "type": "string" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "Recurrence": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "MaxGroupPreparedCapacity": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "PoolState": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::WarmPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationSource": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" - }, - "ScalingInstructions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" - }, - "type": "array" - } - }, - "required": [ - "ApplicationSource", - "ScalingInstructions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScalingPlans::ScalingPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { - "additionalProperties": false, - "properties": { - "CloudFormationStackARN": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedLoadMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedLoadMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedScalingMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedScalingMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { - "additionalProperties": false, - "properties": { - "CustomizedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" - }, - "DisableDynamicScaling": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "PredefinedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" - }, - "PredictiveScalingMaxCapacityBehavior": { - "type": "string" - }, - "PredictiveScalingMaxCapacityBuffer": { - "type": "number" - }, - "PredictiveScalingMode": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingPolicyUpdateBehavior": { - "type": "string" - }, - "ScheduledActionBufferTime": { - "type": "number" - }, - "ServiceNamespace": { - "type": "string" - }, - "TargetTrackingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" - }, - "type": "array" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "ScalableDimension", - "ServiceNamespace", - "TargetTrackingConfigurations" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "PredefinedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlan": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" - }, - "BackupPlanTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "BackupPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { - "additionalProperties": false, - "properties": { - "BackupOptions": { - "type": "object" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "BackupOptions", - "ResourceType" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupPlanResourceType": { - "additionalProperties": false, - "properties": { - "AdvancedBackupSettings": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" - }, - "type": "array" - }, - "BackupPlanName": { - "type": "string" - }, - "BackupPlanRule": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" - }, - "type": "array" - } - }, - "required": [ - "BackupPlanName", - "BackupPlanRule" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupRuleResourceType": { - "additionalProperties": false, - "properties": { - "CompletionWindowMinutes": { - "type": "number" - }, - "CopyActions": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" - }, - "type": "array" - }, - "EnableContinuousBackup": { - "type": "boolean" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - }, - "RecoveryPointTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RuleName": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "StartWindowMinutes": { - "type": "number" - }, - "TargetBackupVault": { - "type": "string" - } - }, - "required": [ - "RuleName", - "TargetBackupVault" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.CopyActionResourceType": { - "additionalProperties": false, - "properties": { - "DestinationBackupVaultArn": { - "type": "string" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - } - }, - "required": [ - "DestinationBackupVaultArn" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.LifecycleResourceType": { - "additionalProperties": false, - "properties": { - "DeleteAfterDays": { - "type": "number" - }, - "MoveToColdStorageAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Backup::BackupSelection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlanId": { - "type": "string" - }, - "BackupSelection": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" - } - }, - "required": [ - "BackupPlanId", - "BackupSelection" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupSelection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.BackupSelectionResourceType": { - "additionalProperties": false, - "properties": { - "IamRoleArn": { - "type": "string" - }, - "ListOfTags": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" - }, - "type": "array" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelectionName": { - "type": "string" - } - }, - "required": [ - "IamRoleArn", - "SelectionName" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.ConditionResourceType": { - "additionalProperties": false, - "properties": { - "ConditionKey": { - "type": "string" - }, - "ConditionType": { - "type": "string" - }, - "ConditionValue": { - "type": "string" - } - }, - "required": [ - "ConditionKey", - "ConditionType", - "ConditionValue" - ], - "type": "object" - }, - "AWS::Backup::BackupVault": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicy": { - "type": "object" - }, - "BackupVaultName": { - "type": "string" - }, - "BackupVaultTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EncryptionKeyArn": { - "type": "string" - }, - "Notifications": { - "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" - } - }, - "required": [ - "BackupVaultName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupVault.NotificationObjectType": { - "additionalProperties": false, - "properties": { - "BackupVaultEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SNSTopicArn": { - "type": "string" - } - }, - "required": [ - "BackupVaultEvents", - "SNSTopicArn" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentName": { - "type": "string" - }, - "ComputeResources": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" - }, - "ServiceRole": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::ComputeEnvironment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ComputeResources": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BidPercentage": { - "type": "number" - }, - "DesiredvCpus": { - "type": "number" - }, - "Ec2Configuration": { - "items": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" - }, - "type": "array" - }, - "Ec2KeyPair": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" - }, - "MaxvCpus": { - "type": "number" - }, - "MinvCpus": { - "type": "number" - }, - "PlacementGroup": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotIamFleetRole": { - "type": "string" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "MaxvCpus", - "Subnets", - "Type" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { - "additionalProperties": false, - "properties": { - "ImageIdOverride": { - "type": "string" - }, - "ImageType": { - "type": "string" - } - }, - "required": [ - "ImageType" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" - }, - "Parameters": { - "type": "object" - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" - }, - "type": "array" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "number" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" - }, - "type": "array" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "number" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" - }, - "type": "array" - }, - "NumNodes": { - "type": "number" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "ContainerPath", - "Size" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentOrder": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" - }, - "type": "array" - }, - "JobQueueName": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ComputeEnvironmentOrder", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { - "additionalProperties": false, - "properties": { - "ComputeEnvironment": { - "type": "string" - }, - "Order": { - "type": "number" - } - }, - "required": [ - "ComputeEnvironment", - "Order" - ], - "type": "object" - }, - "AWS::Budgets::Budget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Budget": { - "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" - }, - "NotificationsWithSubscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" - }, - "type": "array" - } - }, - "required": [ - "Budget" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::Budget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::Budget.BudgetData": { - "additionalProperties": false, - "properties": { - "BudgetLimit": { - "$ref": "#/definitions/AWS::Budgets::Budget.Spend" - }, - "BudgetName": { - "type": "string" - }, - "BudgetType": { - "type": "string" - }, - "CostFilters": { - "type": "object" - }, - "CostTypes": { - "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" - }, - "PlannedBudgetLimits": { - "type": "object" - }, - "TimePeriod": { - "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "BudgetType", - "TimeUnit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.CostTypes": { - "additionalProperties": false, - "properties": { - "IncludeCredit": { - "type": "boolean" - }, - "IncludeDiscount": { - "type": "boolean" - }, - "IncludeOtherSubscription": { - "type": "boolean" - }, - "IncludeRecurring": { - "type": "boolean" - }, - "IncludeRefund": { - "type": "boolean" - }, - "IncludeSubscription": { - "type": "boolean" - }, - "IncludeSupport": { - "type": "boolean" - }, - "IncludeTax": { - "type": "boolean" - }, - "IncludeUpfront": { - "type": "boolean" - }, - "UseAmortized": { - "type": "boolean" - }, - "UseBlended": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Budgets::Budget.Notification": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdType": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "NotificationType", - "Threshold" - ], - "type": "object" - }, - "AWS::Budgets::Budget.NotificationWithSubscribers": { - "additionalProperties": false, - "properties": { - "Notification": { - "$ref": "#/definitions/AWS::Budgets::Budget.Notification" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "Notification", - "Subscribers" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Spend": { - "additionalProperties": false, - "properties": { - "Amount": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "Amount", - "Unit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "SubscriptionType": { - "type": "string" - } - }, - "required": [ - "Address", - "SubscriptionType" - ], - "type": "object" - }, - "AWS::Budgets::Budget.TimePeriod": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionThreshold": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" - }, - "ActionType": { - "type": "string" - }, - "ApprovalModel": { - "type": "string" - }, - "BudgetName": { - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "ActionThreshold", - "ActionType", - "BudgetName", - "Definition", - "ExecutionRoleArn", - "NotificationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::BudgetsAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ActionThreshold": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Definition": { - "additionalProperties": false, - "properties": { - "IamActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" - }, - "ScpActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" - }, - "SsmActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction.IamActionDefinition": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyArn": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyArn" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ScpActionDefinition": { - "additionalProperties": false, - "properties": { - "PolicyId": { - "type": "string" - }, - "TargetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyId", - "TargetIds" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.SsmActionDefinition": { - "additionalProperties": false, - "properties": { - "InstanceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "Subtype": { - "type": "string" - } - }, - "required": [ - "InstanceIds", - "Region", - "Subtype" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::AnomalyMonitor": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MonitorDimension": { - "type": "string" - }, - "MonitorName": { - "type": "string" - }, - "MonitorSpecification": { - "type": "string" - }, - "MonitorType": { - "type": "string" - } - }, - "required": [ - "MonitorName", - "MonitorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalyMonitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Frequency": { - "type": "string" - }, - "MonitorArnList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" - }, - "type": "array" - }, - "SubscriptionName": { - "type": "string" - }, - "Threshold": { - "type": "number" - } - }, - "required": [ - "Frequency", - "MonitorArnList", - "Subscribers", - "SubscriptionName", - "Threshold" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalySubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::CostCategory": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleVersion", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::CostCategory" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CUR::ReportDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalArtifacts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSchemaElements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BillingViewArn": { - "type": "string" - }, - "Compression": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "RefreshClosedReports": { - "type": "boolean" - }, - "ReportName": { - "type": "string" - }, - "ReportVersioning": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - }, - "S3Region": { - "type": "string" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "Compression", - "Format", - "RefreshClosedReports", - "ReportName", - "ReportVersioning", - "S3Bucket", - "S3Prefix", - "S3Region", - "TimeUnit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CUR::ReportDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Keyspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyspaceName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExpiryEventsConfiguration": { - "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" - } - }, - "required": [ - "ExpiryEventsConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { - "additionalProperties": false, - "properties": { - "DaysBeforeExpiry": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationMethod": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "AWS::Chatbot::SlackChannelConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationName": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "SlackChannelId": { - "type": "string" - }, - "SlackWorkspaceId": { - "type": "string" - }, - "SnsTopicArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ConfigurationName", - "IamRoleArn", - "SlackChannelId", - "SlackWorkspaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chatbot::SlackChannelConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerArn": { - "type": "string" - }, - "Repositories": { - "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cloud9::EnvironmentEC2" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2.Repository": { - "additionalProperties": false, - "properties": { - "PathComponent": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - } - }, - "required": [ - "PathComponent", - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::CloudFormation::CustomResource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ServiceToken": { - "type": "string" - } - }, - "required": [ - "ServiceToken" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::CustomResource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::Macro": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Macro" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleDefaultVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ModuleName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModuleName": { - "type": "string" - }, - "ModulePackage": { - "type": "string" - } - }, - "required": [ - "ModuleName", - "ModulePackage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::PublicTypeVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TypeName": { - "type": "string" - }, - "TypeVersionArn": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" - }, - "SchemaHandlerPackage": { - "type": "string" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "SchemaHandlerPackage", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFormation::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateURL": { - "type": "string" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TemplateURL" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdministrationRoleARN": { - "type": "string" - }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" - }, - "CallAs": { - "type": "string" - }, - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "ExecutionRoleName": { - "type": "string" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "PermissionModel": { - "type": "string" - }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "type": "array" - }, - "StackSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { - "type": "string" - } - }, - "required": [ - "PermissionModel", - "StackSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::StackSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.AutoDeployment": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { - "additionalProperties": false, - "properties": { - "Accounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationalUnitIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.OperationPreferences": { - "additionalProperties": false, - "properties": { - "FailureToleranceCount": { - "type": "number" - }, - "FailureTolerancePercentage": { - "type": "number" - }, - "MaxConcurrentCount": { - "type": "number" - }, - "MaxConcurrentPercentage": { - "type": "number" - }, - "RegionConcurrencyType": { - "type": "string" - }, - "RegionOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterKey", - "ParameterValue" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.StackInstances": { - "additionalProperties": false, - "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" - }, - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DeploymentTargets", - "Regions" - ], - "type": "object" - }, - "AWS::CloudFormation::TypeActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Handle": { - "type": "string" - }, - "Timeout": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitCondition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::WaitConditionHandle": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitConditionHandle" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CachePolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" - } - }, - "required": [ - "CachePolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CachePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CachePolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DefaultTTL": { - "type": "number" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "ParametersInCacheKeyAndForwardedToOrigin": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" - } - }, - "required": [ - "DefaultTTL", - "MaxTTL", - "MinTTL", - "Name", - "ParametersInCacheKeyAndForwardedToOrigin" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { - "additionalProperties": false, - "properties": { - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" - }, - "EnableAcceptEncodingBrotli": { - "type": "boolean" - }, - "EnableAcceptEncodingGzip": { - "type": "boolean" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "EnableAcceptEncodingGzip", - "HeadersConfig", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudFrontOriginAccessIdentityConfig": { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" - } - }, - "required": [ - "CloudFrontOriginAccessIdentityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "required": [ - "Comment" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DistributionConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Distribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { - "additionalProperties": false, - "properties": { - "ErrorCachingMinTTL": { - "type": "number" - }, - "ErrorCode": { - "type": "number" - }, - "ResponseCode": { - "type": "number" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginKeepaliveTimeout": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "type": "number" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" - }, - "type": "array" - }, - "CustomOrigin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" - }, - "DefaultRootObject": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" - }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" - }, - "type": "array" - }, - "PriceClass": { - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestrictionType": { - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "ConnectionAttempts": { - "type": "number" - }, - "ConnectionTimeout": { - "type": "number" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" - }, - "type": "array" - }, - "OriginPath": { - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" - } - }, - "required": [ - "FailoverCriteria", - "Id", - "Members" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerCertificate": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "type": "string" - }, - "SslSupportMethod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPublish": { - "type": "boolean" - }, - "FunctionCode": { - "type": "string" - }, - "FunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" - }, - "FunctionMetadata": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Runtime": { - "type": "string" - } - }, - "required": [ - "Comment", - "Runtime" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionMetadata": { - "additionalProperties": false, - "properties": { - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::KeyGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyGroupConfig": { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" - } - }, - "required": [ - "KeyGroupConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::KeyGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::KeyGroup.KeyGroupConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Items": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Items", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" - } - }, - "required": [ - "OriginRequestPolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::OriginRequestPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" - }, - "Name": { - "type": "string" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "HeadersConfig", - "Name", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PublicKeyConfig": { - "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" - } - }, - "required": [ - "PublicKeyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::PublicKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey.PublicKeyConfig": { - "additionalProperties": false, - "properties": { - "CallerReference": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "EncodedKey": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CallerReference", - "EncodedKey", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "type": "array" - }, - "Fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SamplingRate": { - "type": "number" - } - }, - "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::RealtimeLogConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { - "additionalProperties": false, - "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" - }, - "StreamType": { - "type": "string" - } - }, - "required": [ - "KinesisStreamConfig", - "StreamType" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamArn" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StreamingDistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StreamingDistributionConfig", - "Tags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::StreamingDistribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Enabled", - "Prefix" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.S3Origin": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DomainName", - "OriginAccessIdentity" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" - }, - "PriceClass": { - "type": "string" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" - }, - "TrustedSigners": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" - } - }, - "required": [ - "Comment", - "Enabled", - "S3Origin", - "TrustedSigners" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.TrustedSigners": { - "additionalProperties": false, - "properties": { - "AwsAccountNumbers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "type": "array" - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "SnsTopicName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrailName": { - "type": "string" - } - }, - "required": [ - "IsLogging", - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudTrail::Trail" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "type": "array" - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "ComparisonOperator": { - "type": "string" - }, - "DatapointsToAlarm": { - "type": "number" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { - "type": "string" - }, - "EvaluationPeriods": { - "type": "number" - }, - "ExtendedStatistic": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdMetricId": { - "type": "string" - }, - "TreatMissingData": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "EvaluationPeriods" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Alarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Metric": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Stat": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Stat" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Configuration": { - "additionalProperties": false, - "properties": { - "ExcludedTimeRanges": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" - }, - "type": "array" - }, - "MetricTimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Range": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::CloudWatch::CompositeAlarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "AlarmRule": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AlarmName", - "AlarmRule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::CompositeAlarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardBody": { - "type": "string" - }, - "DashboardName": { - "type": "string" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleBody": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "RuleState": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" - } - }, - "required": [ - "RuleBody", - "RuleName", - "RuleState" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::InsightRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CloudWatch::MetricStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "FirehoseArn": { - "type": "string" - }, - "IncludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "OutputFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirehoseArn", - "OutputFormat", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::MetricStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::MetricStream.MetricStreamFilter": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::CodeArtifact::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeArtifact::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainOwner": { - "type": "string" - }, - "ExternalConnections": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Upstreams": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "BadgeEnabled": { - "type": "boolean" - }, - "BuildBatchConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" - }, - "Cache": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" - }, - "ConcurrentBuildLimit": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" - }, - "FileSystemLocations": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" - }, - "type": "array" - }, - "LogsConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" - }, - "Name": { - "type": "string" - }, - "QueuedTimeoutInMinutes": { - "type": "number" - }, - "SecondaryArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "type": "array" - }, - "SecondarySourceVersions": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" - }, - "type": "array" - }, - "SecondarySources": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "type": "array" - }, - "ServiceRole": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "SourceVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutInMinutes": { - "type": "number" - }, - "Triggers": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" - } - }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "ArtifactIdentifier": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NamespaceType": { - "type": "string" - }, - "OverrideArtifactName": { - "type": "boolean" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.BatchRestrictions": { - "additionalProperties": false, - "properties": { - "ComputeTypesAllowed": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBuildsAllowed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.BuildStatusConfig": { - "additionalProperties": false, - "properties": { - "Context": { - "type": "string" - }, - "TargetUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.CloudWatchLogsConfig": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "ComputeType": { - "type": "string" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "type": "array" - }, - "Image": { - "type": "string" - }, - "ImagePullCredentialsType": { - "type": "string" - }, - "PrivilegedMode": { - "type": "boolean" - }, - "RegistryCredential": { - "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.FilterGroup": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CodeBuild::Project.GitSubmodulesConfig": { - "additionalProperties": false, - "properties": { - "FetchSubmodules": { - "type": "boolean" - } - }, - "required": [ - "FetchSubmodules" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.LogsConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" - }, - "S3Logs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { - "additionalProperties": false, - "properties": { - "CombineArtifacts": { - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" - }, - "ServiceRole": { - "type": "string" - }, - "TimeoutInMins": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectCache": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "Modes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFileSystemLocation": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "MountOptions": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Location", - "MountPoint", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectSourceVersion": { - "additionalProperties": false, - "properties": { - "SourceIdentifier": { - "type": "string" - }, - "SourceVersion": { - "type": "string" - } - }, - "required": [ - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectTriggers": { - "additionalProperties": false, - "properties": { - "BuildType": { - "type": "string" - }, - "FilterGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" - }, - "type": "array" - }, - "Webhook": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.RegistryCredential": { - "additionalProperties": false, - "properties": { - "Credential": { - "type": "string" - }, - "CredentialProvider": { - "type": "string" - } - }, - "required": [ - "Credential", - "CredentialProvider" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.S3LogsConfig": { - "additionalProperties": false, - "properties": { - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Source": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" - }, - "BuildSpec": { - "type": "string" - }, - "BuildStatusConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" - }, - "GitCloneDepth": { - "type": "number" - }, - "GitSubmodulesConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" - }, - "InsecureSsl": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "ReportBuildStatus": { - "type": "boolean" - }, - "SourceIdentifier": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.SourceAuth": { - "additionalProperties": false, - "properties": { - "Resource": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.WebhookFilter": { - "additionalProperties": false, - "properties": { - "ExcludeMatchedPattern": { - "type": "boolean" - }, - "Pattern": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Pattern", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteReports": { - "type": "boolean" - }, - "ExportConfig": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ExportConfig", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::ReportGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.ReportExportConfig": { - "additionalProperties": false, - "properties": { - "ExportConfigType": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" - } - }, - "required": [ - "ExportConfigType" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BucketOwner": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "EncryptionKey": { - "type": "string" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CodeBuild::SourceCredential": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "ServerType": { - "type": "string" - }, - "Token": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "AuthType", - "ServerType", - "Token" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::SourceCredential" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" - }, - "type": "array" - } - }, - "required": [ - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeCommit::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.Code": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.RepositoryTrigger": { - "additionalProperties": false, - "properties": { - "Branches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomData": { - "type": "string" - }, - "DestinationArn": { - "type": "string" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "Events", - "Name" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ComputePlatform": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TriggerConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeDeploy::DeploymentGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.Alarm": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "IgnorePollAlarmFailure": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.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" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { - "additionalProperties": false, - "properties": { - "OnPremisesTagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { - "additionalProperties": false, - "properties": { - "OnPremisesTagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { - "additionalProperties": false, - "properties": { - "GitHubLocation": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" - }, - "RevisionType": { - "type": "string" - }, - "S3Location": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BundleType": { - "type": "string" - }, - "ETag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TriggerName": { - "type": "string" - }, - "TriggerTargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentPermissions": { - "type": "object" - }, - "AnomalyDetectionNotificationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" - }, - "type": "array" - }, - "ComputePlatform": { - "type": "string" - }, - "ProfilingGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfilingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { - "additionalProperties": false, - "properties": { - "channelId": { - "type": "string" - }, - "channelUri": { - "type": "string" - } - }, - "required": [ - "channelUri" - ], - "type": "object" - }, - "AWS::CodeGuruReviewer::RepositoryAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "ConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" - }, - "type": "array" - }, - "InputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "OutputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "Provider": { - "type": "string" - }, - "Settings": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "InputArtifactDetails", - "OutputArtifactDetails", - "Provider", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::CustomActionType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ArtifactDetails": { - "additionalProperties": false, - "properties": { - "MaximumCount": { - "type": "number" - }, - "MinimumCount": { - "type": "number" - } - }, - "required": [ - "MaximumCount", - "MinimumCount" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Key": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Queryable": { - "type": "boolean" - }, - "Required": { - "type": "boolean" - }, - "Secret": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Key", - "Name", - "Required", - "Secret" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.Settings": { - "additionalProperties": false, - "properties": { - "EntityUrlTemplate": { - "type": "string" - }, - "ExecutionUrlTemplate": { - "type": "string" - }, - "RevisionUrlTemplate": { - "type": "string" - }, - "ThirdPartyConfigurationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "ArtifactStores": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" - }, - "type": "array" - }, - "DisableInboundStageTransitions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RestartExecutionOnUpdate": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Stages": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RoleArn", - "Stages" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionDeclaration": { - "additionalProperties": false, - "properties": { - "ActionTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" - }, - "Configuration": { - "type": "object" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunOrder": { - "type": "number" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "Owner", - "Provider", - "Version" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" - }, - "Location": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Location", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.OutputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" - }, - "type": "array" - }, - "Blockers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "Reason", - "StageName" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authentication": { - "type": "string" - }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RegisterWithThirdParty": { - "type": "boolean" - }, - "TargetAction": { - "type": "string" - }, - "TargetPipeline": { - "type": "string" - }, - "TargetPipelineVersion": { - "type": "number" - } - }, - "required": [ - "Authentication", - "AuthenticationConfiguration", - "Filters", - "TargetAction", - "TargetPipeline", - "TargetPipelineVersion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Webhook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedIPRange": { - "type": "string" - }, - "SecretToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookFilterRule": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "MatchEquals": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" - }, - "ConnectionArn": { - "type": "string" - }, - "EnableIssues": { - "type": "boolean" - }, - "IsPrivate": { - "type": "boolean" - }, - "RepositoryAccessToken": { - "type": "string" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryOwner": { - "type": "string" - } - }, - "required": [ - "RepositoryName", - "RepositoryOwner" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStar::GitHubRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.Code": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeStarConnections::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "HostArn": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarConnections::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetailType": { - "type": "string" - }, - "EventTypeIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" - }, - "type": "array" - } - }, - "required": [ - "DetailType", - "EventTypeIds", - "Name", - "Resource", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarNotifications::NotificationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule.Target": { - "additionalProperties": false, - "properties": { - "TargetAddress": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowClassicFlow": { - "type": "boolean" - }, - "AllowUnauthenticatedIdentities": { - "type": "boolean" - }, - "CognitoEvents": { - "type": "object" - }, - "CognitoIdentityProviders": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" - }, - "type": "array" - }, - "CognitoStreams": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" - }, - "DeveloperProviderName": { - "type": "string" - }, - "IdentityPoolName": { - "type": "string" - }, - "OpenIdConnectProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PushSync": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" - }, - "SamlProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedLoginProviders": { - "type": "object" - } - }, - "required": [ - "AllowUnauthenticatedIdentities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "ServerSideTokenCheck": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoStreams": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "StreamingStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.PushSync": { - "additionalProperties": false, - "properties": { - "ApplicationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityPoolId": { - "type": "string" - }, - "RoleMappings": { - "type": "object" - }, - "Roles": { - "type": "object" - } - }, - "required": [ - "IdentityPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { - "additionalProperties": false, - "properties": { - "Claim": { - "type": "string" - }, - "MatchType": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Claim", - "MatchType", - "RoleARN", - "Value" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { - "additionalProperties": false, - "properties": { - "AmbiguousRoleResolution": { - "type": "string" - }, - "IdentityProvider": { - "type": "string" - }, - "RulesConfiguration": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Cognito::UserPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountRecoverySetting": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" - }, - "AdminCreateUserConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" - }, - "AliasAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoVerifiedAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeviceConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" - }, - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" - }, - "EmailVerificationMessage": { - "type": "string" - }, - "EmailVerificationSubject": { - "type": "string" - }, - "EnabledMfas": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" - }, - "MfaConfiguration": { - "type": "string" - }, - "Policies": { - "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" - }, - "Schema": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" - }, - "type": "array" - }, - "SmsAuthenticationMessage": { - "type": "string" - }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" - }, - "SmsVerificationMessage": { - "type": "string" - }, - "UserPoolAddOns": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" - }, - "UserPoolName": { - "type": "string" - }, - "UserPoolTags": { - "type": "object" - }, - "UsernameAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UsernameConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" - }, - "VerificationMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.AccountRecoverySetting": { - "additionalProperties": false, - "properties": { - "RecoveryMechanisms": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdminCreateUserConfig": { - "additionalProperties": false, - "properties": { - "AllowAdminCreateUserOnly": { - "type": "boolean" - }, - "InviteMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" - }, - "UnusedAccountValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomEmailSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomSMSSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.DeviceConfiguration": { - "additionalProperties": false, - "properties": { - "ChallengeRequiredOnNewDevice": { - "type": "boolean" - }, - "DeviceOnlyRememberedOnUserPrompt": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.EmailConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.InviteMessageTemplate": { - "additionalProperties": false, - "properties": { - "EmailMessage": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "SMSMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" - }, - "CustomMessage": { - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" - }, - "DefineAuthChallenge": { - "type": "string" - }, - "KMSKeyID": { - "type": "string" - }, - "PostAuthentication": { - "type": "string" - }, - "PostConfirmation": { - "type": "string" - }, - "PreAuthentication": { - "type": "string" - }, - "PreSignUp": { - "type": "string" - }, - "PreTokenGeneration": { - "type": "string" - }, - "UserMigration": { - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.NumberAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" - }, - "MinValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PasswordPolicy": { - "additionalProperties": false, - "properties": { - "MinimumLength": { - "type": "number" - }, - "RequireLowercase": { - "type": "boolean" - }, - "RequireNumbers": { - "type": "boolean" - }, - "RequireSymbols": { - "type": "boolean" - }, - "RequireUppercase": { - "type": "boolean" - }, - "TemporaryPasswordValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.Policies": { - "additionalProperties": false, - "properties": { - "PasswordPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.RecoveryOption": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SchemaAttribute": { - "additionalProperties": false, - "properties": { - "AttributeDataType": { - "type": "string" - }, - "DeveloperOnlyAttribute": { - "type": "boolean" - }, - "Mutable": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "NumberAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" - }, - "Required": { - "type": "boolean" - }, - "StringAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SmsConfiguration": { - "additionalProperties": false, - "properties": { - "ExternalId": { - "type": "string" - }, - "SnsCallerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.StringAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxLength": { - "type": "string" - }, - "MinLength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UserPoolAddOns": { - "additionalProperties": false, - "properties": { - "AdvancedSecurityMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UsernameConfiguration": { - "additionalProperties": false, - "properties": { - "CaseSensitive": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.VerificationMessageTemplate": { - "additionalProperties": false, - "properties": { - "DefaultEmailOption": { - "type": "string" - }, - "EmailMessage": { - "type": "string" - }, - "EmailMessageByLink": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "EmailSubjectByLink": { - "type": "string" - }, - "SmsMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessTokenValidity": { - "type": "number" - }, - "AllowedOAuthFlows": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOAuthFlowsUserPoolClient": { - "type": "boolean" - }, - "AllowedOAuthScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AnalyticsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" - }, - "CallbackURLs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClientName": { - "type": "string" - }, - "DefaultRedirectURI": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomDomainConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" - }, - "Domain": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Domain", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolIdentityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeMapping": { - "type": "object" - }, - "IdpIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProviderDetails": { - "type": "object" - }, - "ProviderName": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ProviderName", - "ProviderType", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scopes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Name", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolResourceServer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { - "additionalProperties": false, - "properties": { - "ScopeDescription": { - "type": "string" - }, - "ScopeName": { - "type": "string" - } - }, - "required": [ - "ScopeDescription", - "ScopeName" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountTakeoverRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" - }, - "ClientId": { - "type": "string" - }, - "CompromisedCredentialsRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" - }, - "RiskExceptionConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - }, - "Notify": { - "type": "boolean" - } - }, - "required": [ - "EventAction", - "Notify" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { - "additionalProperties": false, - "properties": { - "HighAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "LowAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "MediumAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" - }, - "NotifyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - } - }, - "required": [ - "EventAction" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" - }, - "EventFilter": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "From": { - "type": "string" - }, - "MfaEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "NoActionEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "ReplyTo": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { - "additionalProperties": false, - "properties": { - "HtmlBody": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "TextBody": { - "type": "string" - } - }, - "required": [ - "Subject" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkippedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUICustomizationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CSS": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientMetadata": { - "type": "object" - }, - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" - }, - "MessageAction": { - "type": "string" - }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUser" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser.AttributeType": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "GroupName", - "UserPoolId", - "Username" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::AggregationAuthorization": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "object" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" - }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountAggregationSources": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" - }, - "type": "array" - }, - "ConfigurationAggregatorName": { - "type": "string" - }, - "OrganizationAggregationSource": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationAggregator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AccountIds" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { - "additionalProperties": false, - "properties": { - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RecordingGroup": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "RoleARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationRecorder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingGroup": { - "additionalProperties": false, - "properties": { - "AllSupported": { - "type": "boolean" - }, - "IncludeGlobalResourceTypes": { - "type": "boolean" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::ConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "ConformancePackName": { - "type": "string" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "ConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigSnapshotDeliveryProperties": { - "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" - }, - "Name": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "S3KmsKeyArn": { - "type": "string" - }, - "SnsTopicARN": { - "type": "string" - } - }, - "required": [ - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::DeliveryChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { - "additionalProperties": false, - "properties": { - "DeliveryFrequency": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::OrganizationConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConfigRuleName": { - "type": "string" - }, - "OrganizationCustomRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" - }, - "OrganizationManagedRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" - } - }, - "required": [ - "OrganizationConfigRuleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "LambdaFunctionArn": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn", - "OrganizationConfigRuleTriggerTypes" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleIdentifier": { - "type": "string" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "RuleIdentifier" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConformancePackName": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "OrganizationConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Automatic": { - "type": "boolean" - }, - "ConfigRuleName": { - "type": "string" - }, - "ExecutionControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" - }, - "MaximumAutomaticAttempts": { - "type": "number" - }, - "Parameters": { - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "RetryAttemptSeconds": { - "type": "number" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - }, - "TargetVersion": { - "type": "string" - } - }, - "required": [ - "ConfigRuleName", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::RemediationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ExecutionControls": { - "additionalProperties": false, - "properties": { - "SsmControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.RemediationParameterValue": { - "additionalProperties": false, - "properties": { - "ResourceValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" - }, - "StaticValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ResourceValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.SsmControls": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutionRatePercentage": { - "type": "number" - }, - "ErrorPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.StaticValue": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::StoredQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "QueryDescription": { - "type": "string" - }, - "QueryExpression": { - "type": "string" - }, - "QueryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "QueryExpression", - "QueryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::StoredQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::CustomerProfiles::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeadLetterQueueUrl": { - "type": "string" - }, - "DefaultEncryptionKey": { - "type": "string" - }, - "DefaultExpirationDays": { - "type": "number" - }, - "DomainName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "FlowDefinition": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Uri": { - "type": "string" - } - }, - "required": [ - "DomainName", - "ObjectTypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.FlowDefinition": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FlowName": { - "type": "string" - }, - "KmsArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" - } - }, - "required": [ - "FlowName", - "KmsArn", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "FirstExecutionFrom": { - "type": "number" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleStartTime": { - "type": "number" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Marketo": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { - "additionalProperties": false, - "properties": { - "OperatorPropertyKey": { - "type": "string" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "OperatorPropertyKey", - "Property" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerProperties": { - "additionalProperties": false, - "properties": { - "Scheduled": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowProfileCreation": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "ExpirationDays": { - "type": "number" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" - }, - "type": "array" - }, - "Keys": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" - }, - "type": "array" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::ObjectType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.FieldMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeField": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.KeyMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeKeyList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { - "additionalProperties": false, - "properties": { - "FieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DAX::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterEndpointEncryptionType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NotificationTopicARN": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationFactor": { - "type": "number" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetGroupName": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "IAMRoleARN", - "NodeType", - "ReplicationFactor" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DAX::Cluster.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DAX::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "ParameterNameValues": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DAX::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "PolicyDetails": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DLM::LifecyclePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Action": { - "additionalProperties": false, - "properties": { - "CrossRegionCopy": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CrossRegionCopy", - "Name" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CreateRule": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Times": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" - }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Target" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.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" - }, - "NoReboot": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.PolicyDetails": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" - }, - "type": "array" - }, - "EventSource": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" - }, - "PolicyType": { - "type": "string" - }, - "ResourceLocations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Schedules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" - }, - "type": "array" - }, - "TargetTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.RetainRule": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Schedule": { - "additionalProperties": false, - "properties": { - "CopyTags": { - "type": "boolean" - }, - "CreateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" - }, - "CrossRegionCopyRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateIdentifier": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateWallet": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DMS::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" - }, - "DynamoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" - }, - "ElasticsearchSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" - }, - "EndpointIdentifier": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EngineName": { - "type": "string" - }, - "ExtraConnectionAttributes": { - "type": "string" - }, - "IbmDb2Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" - }, - "KafkaSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" - }, - "KinesisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" - }, - "KmsKeyId": { - "type": "string" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" - }, - "NeptuneSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" - }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" - }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" - }, - "ResourceIdentifier": { - "type": "string" - }, - "S3Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" - }, - "ServerName": { - "type": "string" - }, - "SslMode": { - "type": "string" - }, - "SybaseSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "EngineName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::Endpoint.DocDbSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.DynamoDbSettings": { - "additionalProperties": false, - "properties": { - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.ElasticsearchSettings": { - "additionalProperties": false, - "properties": { - "EndpointUri": { - "type": "string" - }, - "ErrorRetryDuration": { - "type": "number" - }, - "FullLoadErrorPercentage": { - "type": "number" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.IbmDb2Settings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KafkaSettings": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KinesisSettings": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MongoDbSettings": { - "additionalProperties": false, - "properties": { - "AuthMechanism": { - "type": "string" - }, - "AuthSource": { - "type": "string" - }, - "AuthType": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocsToInvestigate": { - "type": "string" - }, - "ExtractDocId": { - "type": "string" - }, - "NestingLevel": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - }, - "ServerName": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MySqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.NeptuneSettings": { - "additionalProperties": false, - "properties": { - "ErrorRetryDuration": { - "type": "number" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "MaxFileSize": { - "type": "number" - }, - "MaxRetryCount": { - "type": "number" - }, - "S3BucketFolder": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.OracleSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmSecretId": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.PostgreSqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedshiftSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.S3Settings": { - "additionalProperties": false, - "properties": { - "BucketFolder": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "CsvDelimiter": { - "type": "string" - }, - "CsvRowDelimiter": { - "type": "string" - }, - "ExternalTableDefinition": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.SybaseSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "number" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReplicationInstanceClass": { - "type": "string" - }, - "ReplicationInstanceIdentifier": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationSubnetGroupDescription": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReplicationSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdcStartPosition": { - "type": "string" - }, - "CdcStartTime": { - "type": "number" - }, - "CdcStopPosition": { - "type": "string" - }, - "MigrationType": { - "type": "string" - }, - "ReplicationInstanceArn": { - "type": "string" - }, - "ReplicationTaskIdentifier": { - "type": "string" - }, - "ReplicationTaskSettings": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "SourceEndpointArn": { - "type": "string" - }, - "TableMappings": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetEndpointArn": { - "type": "string" - }, - "TaskData": { - "type": "string" - } - }, - "required": [ - "MigrationType", - "ReplicationInstanceArn", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" - }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" - }, - "Name": { - "type": "string" - }, - "PathOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Input", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.CsvOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "HeaderRow": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatabaseInputDefinition": { - "additionalProperties": false, - "properties": { - "DatabaseTableName": { - "type": "string" - }, - "GlueConnectionName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatasetParameter": { - "additionalProperties": false, - "properties": { - "CreateColumn": { - "type": "boolean" - }, - "DatetimeOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" - }, - "Filter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.DatetimeOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "LocaleCode": { - "type": "string" - }, - "TimezoneOffset": { - "type": "string" - } - }, - "required": [ - "Format" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.ExcelOptions": { - "additionalProperties": false, - "properties": { - "HeaderRow": { - "type": "boolean" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.FilesLimit": { - "additionalProperties": false, - "properties": { - "MaxFiles": { - "type": "number" - }, - "Order": { - "type": "string" - }, - "OrderedBy": { - "type": "string" - } - }, - "required": [ - "MaxFiles" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterExpression": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "ValuesMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ValuesMap" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "ValueReference": { - "type": "string" - } - }, - "required": [ - "Value", - "ValueReference" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" - }, - "Excel": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" - }, - "Json": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.Input": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" - }, - "DatabaseInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.JsonOptions": { - "additionalProperties": false, - "properties": { - "MultiLine": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathOptions": { - "additionalProperties": false, - "properties": { - "FilesLimit": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" - }, - "LastModifiedDateCondition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathParameter": { - "additionalProperties": false, - "properties": { - "DatasetParameter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" - }, - "PathParameterName": { - "type": "string" - } - }, - "required": [ - "DatasetParameter", - "PathParameterName" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "type": "object" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "RoleArn", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Job.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.JobSample": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.Output": { - "additionalProperties": false, - "properties": { - "CompressionFormat": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" - }, - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" - }, - "Overwrite": { - "type": "boolean" - }, - "PartitionColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::DataBrew::Job.OutputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.OutputLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "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" - }, - "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" - }, - "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": { - "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" - }, - "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::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecipeName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sample": { - "$ref": "#/definitions/AWS::DataBrew::Project.Sample" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetName", - "Name", - "RecipeName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Project.Sample": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Steps" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Recipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.Action": { - "additionalProperties": false, - "properties": { - "Operation": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" - } - }, - "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.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeParameters": { - "additionalProperties": false, - "properties": { - "AggregateFunction": { - "type": "string" - }, - "Base": { - "type": "string" - }, - "CaseStatement": { - "type": "string" - }, - "CategoryMap": { - "type": "string" - }, - "CharsToRemove": { - "type": "string" - }, - "CollapseConsecutiveWhitespace": { - "type": "string" - }, - "ColumnDataType": { - "type": "string" - }, - "ColumnRange": { - "type": "string" - }, - "Count": { - "type": "string" - }, - "CustomCharacters": { - "type": "string" - }, - "CustomStopWords": { - "type": "string" - }, - "CustomValue": { - "type": "string" - }, - "DatasetsColumns": { - "type": "string" - }, - "DateAddValue": { - "type": "string" - }, - "DateTimeFormat": { - "type": "string" - }, - "DateTimeParameters": { - "type": "string" - }, - "DeleteOtherRows": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "EndPattern": { - "type": "string" - }, - "EndPosition": { - "type": "string" - }, - "EndValue": { - "type": "string" - }, - "ExpandContractions": { - "type": "string" - }, - "Exponent": { - "type": "string" - }, - "FalseString": { - "type": "string" - }, - "GroupByAggFunctionOptions": { - "type": "string" - }, - "GroupByColumns": { - "type": "string" - }, - "HiddenColumns": { - "type": "string" - }, - "IgnoreCase": { - "type": "string" - }, - "IncludeInSplit": { - "type": "string" - }, - "Input": { - "type": "object" - }, - "Interval": { - "type": "string" - }, - "IsText": { - "type": "string" - }, - "JoinKeys": { - "type": "string" - }, - "JoinType": { - "type": "string" - }, - "LeftColumns": { - "type": "string" - }, - "Limit": { - "type": "string" - }, - "LowerBound": { - "type": "string" - }, - "MapType": { - "type": "string" - }, - "ModeType": { - "type": "string" - }, - "MultiLine": { - "type": "boolean" - }, - "NumRows": { - "type": "string" - }, - "NumRowsAfter": { - "type": "string" - }, - "NumRowsBefore": { - "type": "string" - }, - "OrderByColumn": { - "type": "string" - }, - "OrderByColumns": { - "type": "string" - }, - "Other": { - "type": "string" - }, - "Pattern": { - "type": "string" - }, - "PatternOption1": { - "type": "string" - }, - "PatternOption2": { - "type": "string" - }, - "PatternOptions": { - "type": "string" - }, - "Period": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "RemoveAllPunctuation": { - "type": "string" - }, - "RemoveAllQuotes": { - "type": "string" - }, - "RemoveAllWhitespace": { - "type": "string" - }, - "RemoveCustomCharacters": { - "type": "string" - }, - "RemoveCustomValue": { - "type": "string" - }, - "RemoveLeadingAndTrailingPunctuation": { - "type": "string" - }, - "RemoveLeadingAndTrailingQuotes": { - "type": "string" - }, - "RemoveLeadingAndTrailingWhitespace": { - "type": "string" - }, - "RemoveLetters": { - "type": "string" - }, - "RemoveNumbers": { - "type": "string" - }, - "RemoveSourceColumn": { - "type": "string" - }, - "RemoveSpecialCharacters": { - "type": "string" - }, - "RightColumns": { - "type": "string" - }, - "SampleSize": { - "type": "string" - }, - "SampleType": { - "type": "string" - }, - "SecondInput": { - "type": "string" - }, - "SecondaryInputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" - }, - "type": "array" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceColumn": { - "type": "string" - }, - "SourceColumn1": { - "type": "string" - }, - "SourceColumn2": { - "type": "string" - }, - "SourceColumns": { - "type": "string" - }, - "StartColumnIndex": { - "type": "string" - }, - "StartPattern": { - "type": "string" - }, - "StartPosition": { - "type": "string" - }, - "StartValue": { - "type": "string" - }, - "StemmingMode": { - "type": "string" - }, - "StepCount": { - "type": "string" - }, - "StepIndex": { - "type": "string" - }, - "StopWordsMode": { - "type": "string" - }, - "Strategy": { - "type": "string" - }, - "TargetColumn": { - "type": "string" - }, - "TargetColumnNames": { - "type": "string" - }, - "TargetDateFormat": { - "type": "string" - }, - "TargetIndex": { - "type": "string" - }, - "TimeZone": { - "type": "string" - }, - "TokenizerPattern": { - "type": "string" - }, - "TrueString": { - "type": "string" - }, - "UdfLang": { - "type": "string" - }, - "Units": { - "type": "string" - }, - "UnpivotColumn": { - "type": "string" - }, - "UpperBound": { - "type": "string" - }, - "UseNewDataFrame": { - "type": "string" - }, - "Value": { - "type": "string" - }, - "Value1": { - "type": "string" - }, - "Value2": { - "type": "string" - }, - "ValueColumn": { - "type": "string" - }, - "ViewFrame": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeStep": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" - }, - "ConditionExpressions": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" - }, - "type": "array" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.SecondaryInput": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Schedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "JobNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CronExpression", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Schedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParameterObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "type": "array" - }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "type": "array" - }, - "PipelineObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" - }, - "type": "array" - }, - "PipelineTags": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "ParameterObjects" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataPipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.Field": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" - }, - "type": "array" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "Attributes", - "Id" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterValue": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Id", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineObject": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::DataSync::Agent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActivationKey": { - "type": "string" - }, - "AgentName": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - } - }, - "required": [ - "ActivationKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Agent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2Config": { - "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" - }, - "EfsFilesystemArn": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Ec2Config", - "EfsFilesystemArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationEFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS.Ec2Config": { - "additionalProperties": false, - "properties": { - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArn": { - "type": "string" - } - }, - "required": [ - "SecurityGroupArns", - "SubnetArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxWindows": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "FsxFilesystemArn": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "FsxFilesystemArn", - "Password", - "SecurityGroupArns", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxWindows" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" - }, - "OnPremConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "OnPremConfig", - "ServerHostname", - "Subdirectory" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationNFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationNFS.OnPremConfig": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AgentArns" - ], - "type": "object" - }, - "AWS::DataSync::LocationObjectStorage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BucketName": { - "type": "string" - }, - "SecretKey": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "ServerPort": { - "type": "number" - }, - "ServerProtocol": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AgentArns", - "BucketName", - "ServerHostname" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationObjectStorage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "S3BucketArn": { - "type": "string" - }, - "S3Config": { - "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" - }, - "S3StorageClass": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "S3BucketArn", - "S3Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationS3" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3.S3Config": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "type": "string" - } - }, - "required": [ - "BucketAccessRoleArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Domain": { - "type": "string" - }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" - }, - "Password": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "AgentArns", - "Password", - "ServerHostname", - "Subdirectory", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationSMB" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "DestinationLocationArn": { - "type": "string" - }, - "Excludes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Options": { - "$ref": "#/definitions/AWS::DataSync::Task.Options" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" - }, - "SourceLocationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationLocationArn", - "SourceLocationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::Task.FilterRule": { - "additionalProperties": false, - "properties": { - "FilterType": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Options": { - "additionalProperties": false, - "properties": { - "Atime": { - "type": "string" - }, - "BytesPerSecond": { - "type": "number" - }, - "Gid": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "Mtime": { - "type": "string" - }, - "OverwriteMode": { - "type": "string" - }, - "PosixPermissions": { - "type": "string" - }, - "PreserveDeletedFiles": { - "type": "string" - }, - "PreserveDevices": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisableEmailNotification": { - "type": "boolean" - }, - "GraphArn": { - "type": "string" - }, - "MemberEmailAddress": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::MemberInvitation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Config": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" - } - }, - "required": [ - "Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceCollectionFilter": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" - } - }, - "required": [ - "ResourceCollectionFilter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::ResourceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { - "additionalProperties": false, - "properties": { - "StackNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { - "additionalProperties": false, - "properties": { - "CloudFormation": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" - } - }, - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::MicrosoftAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "Size", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::SimpleAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DocDB::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MasterUserPassword", - "MasterUsername" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" - }, - "type": "array" - }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" - }, - "type": "array" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "AttributeDefinitions", - "KeySchema", - "Replicas" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::GlobalTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SeedCapacity": { - "type": "number" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "TargetTrackingScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "ReadCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - }, - "ReadCapacityUnits": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - } - }, - "required": [ - "KMSMasterKeyId" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - }, - "Region": { - "type": "string" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "DisableScaleIn": { - "type": "boolean" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "WriteCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" - } - }, - "required": [ - "KeySchema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KinesisStreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamArn": { - "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "AttributeName", - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "EbsOptimized": { - "type": "boolean" - }, - "EndDate": { - "type": "string" - }, - "EndDateType": { - "type": "string" - }, - "EphemeralStorage": { - "type": "boolean" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CapacityReservation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CarrierGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnAuthorizationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessGroupId": { - "type": "string" - }, - "AuthorizeAllGroups": { - "type": "boolean" - }, - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "TargetNetworkCidr": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "type": "array" - }, - "ClientCidrBlock": { - "type": "string" - }, - "ClientConnectOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" - }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" - }, - "Description": { - "type": "string" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfServicePortal": { - "type": "string" - }, - "ServerCertificateArn": { - "type": "string" - }, - "SplitTunnel": { - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" - }, - "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" - } - }, - "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ClientRootCertificateChainArn": { - "type": "string" - } - }, - "required": [ - "ClientRootCertificateChainArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" - }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" - }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { - "type": "string" - }, - "CloudwatchLogStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { - "type": "string" - }, - "SelfServiceSAMLProviderArn": { - "type": "string" - } - }, - "required": [ - "SAMLProviderArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType", - "Tags" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::DHCPOptions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::DHCPOptions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EC2Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "CapacityReservationOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" - } - }, - "required": [ - "TotalTargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::EIP": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "PublicIpv4Pool": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIP" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EIPAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "EIP": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::EnclaveCertificateIamRoleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::FlowLog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficType": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "ResourceType", - "TrafficType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::FlowLog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::GatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - } - }, - "required": [ - "GatewayId", - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Host": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPlacement": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "HostRecovery": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Host" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Instance": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" - }, - "type": "array" - }, - "Monitoring": { - "type": "boolean" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" - }, - "type": "array" - }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EC2::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" - }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::Instance.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "AWS::EC2::Instance.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" - }, - "type": "array" - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "VolumeId" - ], - "type": "object" - }, - "AWS::EC2::InternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::InternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" - }, - "LaunchTemplateName": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LaunchTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { - "additionalProperties": false, - "properties": { - "CapacityReservationPreference": { - "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { - "additionalProperties": false, - "properties": { - "CapacityReservationId": { - "type": "string" - }, - "CapacityReservationResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "Throughput": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { - "additionalProperties": false, - "properties": { - "MarketType": { - "type": "string" - }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociateCarrierIpAddress": { - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkCardIndex": { - "type": "number" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "LocalGatewayRouteTableId": { - "type": "string" - }, - "LocalGatewayVirtualInterfaceGroupId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LocalGatewayRouteTableId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "LocalGatewayRouteTableId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NatGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "ConnectivityType": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAcl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "NetworkAclId": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAclEntry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.Icmp": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "number" - }, - "Type": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterInArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkInsightsPathId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "NetworkInsightsPathId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "ComponentId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "Protocol": { - "type": "string" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "number" - }, - "LoadBalancerPort": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "Instance": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { - "additionalProperties": false, - "properties": { - "DestinationAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DestinationPortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SourceAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { - "additionalProperties": false, - "properties": { - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Origin": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - }, - "destinationCidr": { - "type": "string" - }, - "destinationPrefixListId": { - "type": "string" - }, - "egressOnlyInternetGatewayId": { - "type": "string" - }, - "gatewayId": { - "type": "string" - }, - "instanceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "PrefixListId": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.Explanation": { - "additionalProperties": false, - "properties": { - "Acl": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Address": { - "type": "string" - }, - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AttachedTo": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClassicLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "CustomerGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Direction": { - "type": "string" - }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "ExplanationCode": { - "type": "string" - }, - "IngressRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerArn": { - "type": "string" - }, - "LoadBalancerListenerPort": { - "type": "number" - }, - "LoadBalancerTarget": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" - }, - "LoadBalancerTargetGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerTargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "LoadBalancerTargetPort": { - "type": "number" - }, - "MissingComponent": { - "type": "string" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "PacketField": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "PrefixList": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Protocols": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "State": { - "type": "string" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SubnetRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpcPeeringConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "vpcEndpoint": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { - "additionalProperties": false, - "properties": { - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "OutboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SequenceNumber": { - "type": "number" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsPath": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationIp": { - "type": "string" - }, - "DestinationPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourceIp": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Protocol", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsPath" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfacePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfacePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PlacementGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Strategy": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PlacementGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::PrefixList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddressFamily": { - "type": "string" - }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" - }, - "MaxEntries": { - "type": "number" - }, - "PrefixListName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PrefixList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, - "GatewayId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - } - }, - "required": [ - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::RouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::RouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupDescription": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "SecurityGroupEgress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" - }, - "type": "array" - }, - "SecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Egress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupEgress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" - } - }, - "required": [ - "SpotFleetRequestConfigData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SpotFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" - } - }, - "required": [ - "ClassicLoadBalancers" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.GroupIdentifier": { - "additionalProperties": false, - "properties": { - "GroupId": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" - }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotCapacityRebalance": { - "additionalProperties": false, - "properties": { - "ReplacementStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "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" - }, - "TargetCapacity": { - "type": "number" - }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { - "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotPlacement": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { - "additionalProperties": false, - "properties": { - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" - }, - "type": "array" - } - }, - "required": [ - "TargetGroups" - ], - "type": "object" - }, - "AWS::EC2::Subnet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "CidrBlock", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Subnet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ipv6CidrBlock": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "Ipv6CidrBlock", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetCidrBlock" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetNetworkAclAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NetworkAclId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "NetworkAclId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "RouteTableId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "TrafficDirection": { - "type": "string" - }, - "TrafficMirrorFilterId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorSession": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } - }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "NetworkLoadBalancerArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TransitGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransportTransitGatewayAttachmentId": { - "type": "string" - } - }, - "required": [ - "Options", - "TransportTransitGatewayAttachmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayConnect" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { - "additionalProperties": false, - "properties": { - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomainAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "SubnetId", - "TransitGatewayAttachmentId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupMember": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayPeeringAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerAccountId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerTransitGatewayId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "PeerAccountId", - "PeerRegion", - "PeerTransitGatewayId", - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "EnableDnsHostnames": { - "type": "boolean" - }, - "EnableDnsSupport": { - "type": "boolean" - }, - "InstanceTenancy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DhcpOptionsId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DhcpOptionsId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PrivateDnsEnabled": { - "type": "boolean" - }, - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointType": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "ServiceName", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointConnectionNotification": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "GatewayLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCGatewayAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InternetGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCPeeringConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerOwnerId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerRoleArn": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "PeerVpcId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCPeeringConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" - } - }, - "required": [ - "CustomerGatewayId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "PreSharedKey": { - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnectionRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "VpnConnectionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnectionRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGatewayRoutePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "RouteTableIds", - "VpnGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throughput": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VolumeAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VolumeAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RepositoryCatalogData": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyText": { - "type": "object" - } - }, - "required": [ - "PolicyText" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" - } - }, - "required": [ - "ReplicationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::ReplicationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "required": [ - "Region", - "RegistryId" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationRule": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" - }, - "type": "array" - } - }, - "required": [ - "Destinations" - ], - "type": "object" - }, - "AWS::ECR::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" - }, - "ImageScanningConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::Repository.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionType" - ], - "type": "object" - }, - "AWS::ECR::Repository.ImageScanningConfiguration": { - "additionalProperties": false, - "properties": { - "ScanOnPush": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AutoScalingGroupProvider" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::CapacityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "InstanceWarmupPeriod": { - "type": "number" - }, - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" - }, - "type": "array" - } - }, - "required": [ - "CapacityProviders", - "Cluster", - "DefaultCapacityProviderStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "CapacityProvider" - ], - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "Service": { - "type": "string" - }, - "TaskSetId": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskSetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::PrimaryTaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Service.PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" - }, - "type": "array" - }, - "IpcMode": { - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "type": "string" - }, - "PidMode": { - "type": "string" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "type": "object" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" - }, - "ClientToken": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" - }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.AccessPointTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.RootDirectory": { - "additionalProperties": false, - "properties": { - "CreationInfo": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneName": { - "type": "string" - }, - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" - }, - "BypassPolicyLockoutSafetyCheck": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { - "type": "string" - }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { - "type": "string" - } - }, - "required": [ - "TransitionToIA" - ], - "type": "object" - }, - "AWS::EFS::MountTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Addon": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddonName": { - "type": "string" - }, - "AddonVersion": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "ResolveConflicts": { - "type": "string" - }, - "ServiceAccountRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddonName", - "ClusterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Addon" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfig": { - "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" - }, - "type": "array" - }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ResourcesVpcConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster.EncryptionConfig": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::EKS::Cluster.Provider" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::FargateProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmiType": { - "type": "string" - }, - "CapacityType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { - "type": "boolean" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" - }, - "NodeRole": { - "type": "string" - }, - "NodegroupName": { - "type": "string" - }, - "ReleaseVersion": { - "type": "string" - }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" - }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Taints": { - "items": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" - }, - "type": "array" - }, - "UpdateConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ClusterName", - "NodeRole", - "Subnets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Nodegroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.Taint": { - "additionalProperties": false, - "properties": { - "Effect": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.UpdateConfig": { - "additionalProperties": false, - "properties": { - "MaxUnavailable": { - "type": "number" - }, - "MaxUnavailablePercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" - } - }, - "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Application": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" - } - }, - "required": [ - "Name", - "ScriptBootstrapAction" - ], - "type": "object" - }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ComputeLimits": { - "additionalProperties": false, - "properties": { - "MaximumCapacityUnits": { - "type": "number" - }, - "MaximumCoreCapacityUnits": { - "type": "number" - }, - "MaximumOnDemandCapacityUnits": { - "type": "number" - }, - "MinimumCapacityUnits": { - "type": "number" - }, - "UnitType": { - "type": "string" - } - }, - "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::Cluster.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { - "additionalProperties": false, - "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Ec2KeyName": { - "type": "string" - }, - "Ec2SubnetId": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmrManagedMasterSecurityGroup": { - "type": "string" - }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" - }, - "HadoopVersion": { - "type": "string" - }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" - }, - "ServiceAccessSecurityGroup": { - "type": "string" - }, - "TerminationProtected": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.KerberosAttributes": { - "additionalProperties": false, - "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" - }, - "KdcAdminPassword": { - "type": "string" - }, - "Realm": { - "type": "string" - } - }, - "required": [ - "KdcAdminPassword", - "Realm" - ], - "type": "object" - }, - "AWS::EMR::Cluster.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::Cluster.PlacementType": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::Cluster.StepConfig": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "HadoopJarStep", - "Name" - ], - "type": "object" - }, - "AWS::EMR::Cluster.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "InstanceFleetType": { - "type": "string" - }, - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" - }, - "JobFlowId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Step.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthMode": { - "type": "string" - }, - "DefaultS3Location": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineSecurityGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserRole": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "WorkspaceSecurityGroupId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultS3Location", - "EngineSecurityGroupId", - "Name", - "ServiceRole", - "SubnetIds", - "UserRole", - "VpcId", - "WorkspaceSecurityGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::StudioSessionMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityName": { - "type": "string" - }, - "IdentityType": { - "type": "string" - }, - "SessionPolicyArn": { - "type": "string" - }, - "StudioId": { - "type": "string" - } - }, - "required": [ - "IdentityName", - "IdentityType", - "SessionPolicyArn", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::StudioSessionMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProvider": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerProvider", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMRContainers::VirtualCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerInfo": { - "additionalProperties": false, - "properties": { - "EksInfo": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" - } - }, - "required": [ - "EksInfo" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerProvider": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Info": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Info", - "Type" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.EksInfo": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::CacheCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalNodeGroupCount": { - "type": "number" - }, - "GlobalReplicationGroupDescription": { - "type": "string" - }, - "GlobalReplicationGroupIdSuffix": { - "type": "string" - }, - "Members": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" - }, - "type": "array" - }, - "RegionalConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Members" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::GlobalReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "Role": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "ReshardingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheParameterGroupFamily": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CacheParameterGroupFamily", - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { - "type": "string" - }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnapshottingClusterId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "UserGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSubnetGroupName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessString": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "NoPasswordRequired": { - "type": "boolean" - }, - "Passwords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserId": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Engine", - "UserId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::UserGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Engine": { - "type": "string" - }, - "UserGroupId": { - "type": "string" - }, - "UserIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine", - "UserGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::UserGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "ServiceRole": { - "type": "string" - }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { - "additionalProperties": false, - "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" - }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxAgeInDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ApplicationName", - "TemplateName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { - "additionalProperties": false, - "properties": { - "EmitInterval": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "S3BucketName": { - "type": "string" - }, - "S3BucketPrefix": { - "type": "string" - } - }, - "required": [ - "Enabled", - "S3BucketName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieName": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "CookieName", - "PolicyName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeout": { - "type": "number" - } - }, - "required": [ - "IdleTimeout" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "string" - }, - "Interval": { - "type": "string" - }, - "Target": { - "type": "string" - }, - "Timeout": { - "type": "string" - }, - "UnhealthyThreshold": { - "type": "string" - } - }, - "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieExpirationPeriod": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "string" - }, - "InstanceProtocol": { - "type": "string" - }, - "LoadBalancerPort": { - "type": "string" - }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SSLCertificateId": { - "type": "string" - } - }, - "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - } - }, - "required": [ - "Attributes", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" - }, - "DefaultActions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" - }, - "type": "array" - }, - "LoadBalancerArn": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" - } - }, - "required": [ - "DefaultActions", - "LoadBalancerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - } - }, - "required": [ - "Certificates", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UseExistingClientSecret": { - "type": "boolean" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IpAddressType": { - "type": "string" - }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - }, - "PrivateIPv4Address": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { - "additionalProperties": false, - "properties": { - "GrpcCode": { - "type": "string" - }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicies": { - "type": "object" - }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" - }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" - }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" - }, - "DomainName": { - "type": "string" - }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" - }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" - }, - "ElasticsearchVersion": { - "type": "string" - }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" - }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } - }, - "type": "object" - }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" - }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Elasticsearch::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "CustomEndpoint": { - "type": "string" - }, - "CustomEndpointCertificateArn": { - "type": "string" - }, - "CustomEndpointEnabled": { - "type": "boolean" - }, - "EnforceHTTPS": { - "type": "boolean" - }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { - "additionalProperties": false, - "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { - "type": "string" - }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { - "additionalProperties": false, - "properties": { - "MasterUserARN": { - "type": "string" - }, - "MasterUserName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.VPCOptions": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Discoverer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { - "type": "string" - } - }, - "required": [ - "Policy", - "RegistryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "SchemaName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Content", - "RegistryName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::ApiDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "InvocationEndpoint": { - "type": "string" - }, - "InvocationRateLimitPerSecond": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ConnectionArn", - "HttpMethod", - "InvocationEndpoint" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::ApiDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Archive": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArchiveName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "RetentionDays": { - "type": "number" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Archive" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthParameters": { - "type": "object" - }, - "AuthorizationType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "AuthParameters", - "AuthorizationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBus": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EventSourceName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBus" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "Statement": { - "type": "object" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBusPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { - "additionalProperties": false, - "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputTemplate": { - "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { - "type": "string" - } - }, - "required": [ - "PartitionKeyPath" - ], - "type": "object" - }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { - "type": "string" - }, - "WithEvent": { - "type": "boolean" - } - }, - "required": [ - "Database", - "Sql" - ], - "type": "object" - }, - "AWS::Events::Rule.RetryPolicy": { - "additionalProperties": false, - "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" - } - }, - "required": [ - "RunCommandTargets" - ], - "type": "object" - }, - "AWS::Events::Rule.RunCommandTarget": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" - } - }, - "required": [ - "MessageGroupId" - ], - "type": "object" - }, - "AWS::Events::Rule.Target": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" - }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" - }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" - } - }, - "required": [ - "Arn", - "Id" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StopConditions": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" - } - }, - "type": "object" - } - }, - "required": [ - "Description", - "RoleArn", - "StopConditions", - "Tags", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::ExperimentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { - "additionalProperties": false, - "properties": { - "ActionId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "StartAfter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ActionId" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "SelectionMode": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "SelectionMode" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Path", - "Values" - ], - "type": "object" - }, - "AWS::FMS::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SnsRoleName": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "SnsRoleName", - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "PolicyName": { - "type": "string" - }, - "RemediationEnabled": { - "type": "boolean" - }, - "ResourceTags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" - }, - "type": "array" - }, - "ResourceType": { - "type": "string" - }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityServicePolicyData": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" - } - }, - "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy.IEMap": { - "additionalProperties": false, - "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::FMS::Policy.ResourceTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::FSx::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupId": { - "type": "string" - }, - "FileSystemType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" - } - }, - "required": [ - "FileSystemType", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FSx::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.AuditLogConfiguration": { - "additionalProperties": false, - "properties": { - "AuditLogDestination": { - "type": "string" - }, - "FileAccessAuditLogLevel": { - "type": "string" - }, - "FileShareAccessAuditLogLevel": { - "type": "string" - } - }, - "required": [ - "FileAccessAuditLogLevel", - "FileShareAccessAuditLogLevel" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DataCompressionType": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.WindowsConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuditLogConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "PreferredSubnetId": { - "type": "string" - }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "required": [ - "ThroughputCapacity" - ], - "type": "object" - }, - "AWS::FinSpace::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FederationMode": { - "type": "string" - }, - "FederationParameters": { - "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FinSpace::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FinSpace::Environment.FederationParameters": { - "additionalProperties": false, - "properties": { - "ApplicationCallBackURL": { - "type": "string" - }, - "AttributeMap": { - "type": "object" - }, - "FederationProviderName": { - "type": "string" - }, - "FederationURN": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "SamlMetadataURL": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedModels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "DetectorVersionStatus": { - "type": "string" - }, - "EventType": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" - }, - "RuleExecutionMode": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorId", - "EventType", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Detector.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" - }, - "type": "array" - }, - "Inline": { - "type": "boolean" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" - }, - "type": "array" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Model": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Outcome": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Rule": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "Language": { - "type": "string" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Outcomes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" - }, - "type": "array" - }, - "RuleId": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EntityType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EntityType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" - }, - "type": "array" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EntityTypes", - "EventVariables", - "Labels", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EventType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Label": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Label" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Outcome": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Outcome" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Variable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "required": [ - "DataSource", - "DataType", - "DefaultValue", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Variable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" - } - }, - "required": [ - "Name", - "RoutingStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias.RoutingStrategy": { - "additionalProperties": false, - "properties": { - "FleetId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GameLift::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" - }, - "type": "array" - }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "Locations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" - }, - "type": "array" - }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MinSize": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NewGameSessionProtectionPolicy": { - "type": "string" - }, - "PeerVpcAwsAccountId": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "IpRange": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationCapacity": { - "additionalProperties": false, - "properties": { - "DesiredEC2Instances": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "required": [ - "DesiredEC2Instances", - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "LocationCapacity": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { - "additionalProperties": false, - "properties": { - "NewGameSessionsPerCreator": { - "type": "number" - }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" - }, - "MaxConcurrentGameSessionActivations": { - "type": "number" - }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" - }, - "LaunchPath": { - "type": "string" - }, - "Parameters": { - "type": "string" - } - }, - "required": [ - "ConcurrentExecutions", - "LaunchPath" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" - } - }, - "required": [ - "TargetTrackingConfiguration" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomEventData": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" - }, - "type": "array" - }, - "FilterConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "PriorityConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameSessionQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.FilterConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedLocations": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { - "additionalProperties": false, - "properties": { - "LocationOrder": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PriorityOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { - "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" - }, - "type": "array" - }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "RequestTimeoutSeconds": { - "type": "number" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RuleSetBody": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleSetBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "StorageLocation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Accelerator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IpAddressType": { - "type": "string" - }, - "IpAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Accelerator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "number" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "ListenerArn": { - "type": "string" - }, - "PortOverrides": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" - }, - "type": "array" - }, - "ThresholdCount": { - "type": "number" - }, - "TrafficDialPercentage": { - "type": "number" - } - }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" - }, - "EndpointId": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "EndpointId" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { - "additionalProperties": false, - "properties": { - "EndpointPort": { - "type": "number" - }, - "ListenerPort": { - "type": "number" - } - }, - "required": [ - "EndpointPort", - "ListenerPort" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorArn": { - "type": "string" - }, - "ClientAffinity": { - "type": "string" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::Glue::Classifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" - }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" - }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" - }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RowTag": { - "type": "string" - } - }, - "required": [ - "Classification", - "RowTag" - ], - "type": "object" - }, - "AWS::Glue::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" - } - }, - "required": [ - "CatalogId", - "ConnectionInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Connection.ConnectionInput": { - "additionalProperties": false, - "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" - } - }, - "required": [ - "ConnectionType" - ], - "type": "object" - }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" - } - }, - "required": [ - "Role", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Crawler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "type": "string" - }, - "UpdateBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" - } - }, - "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" - } - }, - "required": [ - "CatalogId", - "DatabaseInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Database.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseInput": { - "additionalProperties": false, - "properties": { - "CreateTableDefaultPermissions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "TargetDatabase": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" - } - }, - "type": "object" - }, - "AWS::Glue::Database.PrincipalPrivileges": { - "additionalProperties": false, - "properties": { - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" - } - }, - "type": "object" - }, - "AWS::Glue::DevEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { - "type": "string" - }, - "ExtraJarsS3Path": { - "type": "string" - }, - "ExtraPythonLibsS3Path": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { - "type": "number" - }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DevEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "Command", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "TransformEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "InputRecordTables", - "Role", - "TransformParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::MLTransform" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.MLUserDataEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MLUserDataEncryptionMode": { - "type": "string" - } - }, - "required": [ - "MLUserDataEncryptionMode" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.TransformEncryption": { - "additionalProperties": false, - "properties": { - "MLUserDataEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" - }, - "TaskRunSecurityConfigurationName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" - }, - "TransformType": { - "type": "string" - } - }, - "required": [ - "TransformType" - ], - "type": "object" - }, - "AWS::Glue::Partition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Partition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Partition.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Partition.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Glue::Partition.PartitionInput": { - "additionalProperties": false, - "properties": { - "Parameters": { - "type": "object" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::Glue::Partition.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CheckpointVersion": { - "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" - }, - "Compatibility": { - "type": "string" - }, - "DataFormat": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Registry": { - "$ref": "#/definitions/AWS::Glue::Schema.Registry" - }, - "SchemaDefinition": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Compatibility", - "DataFormat", - "Name", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema.Registry": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Schema.SchemaVersion": { - "additionalProperties": false, - "properties": { - "IsLatest": { - "type": "boolean" - }, - "VersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Schema": { - "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" - }, - "SchemaDefinition": { - "type": "string" - } - }, - "required": [ - "Schema", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SchemaVersion.Schema": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersionMetadata": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "SchemaVersionId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "SchemaVersionId", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersionMetadata" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" - }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { - "additionalProperties": false, - "properties": { - "JobBookmarksEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "S3EncryptionMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "TableInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Table.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Table.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableInput": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Retention": { - "type": "number" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" - }, - "TableType": { - "type": "string" - }, - "TargetTable": { - "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" - }, - "ViewExpandedText": { - "type": "string" - }, - "ViewOriginalText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "WorkflowName": { - "type": "string" - } - }, - "required": [ - "Actions", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Trigger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Trigger.Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Condition": { - "additionalProperties": false, - "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" - }, - "type": "array" - }, - "Logical": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Workflow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultRunProperties": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Workflow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" - }, - "type": "array" - } - }, - "required": [ - "Connectors" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionId": { - "type": "string" - }, - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" - }, - "type": "array" - } - }, - "required": [ - "ConnectorDefinitionId", - "Connectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" - } - }, - "required": [ - "Cores" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CoreDefinitionId": { - "type": "string" - }, - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" - }, - "type": "array" - } - }, - "required": [ - "CoreDefinitionId", - "Cores" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceDefinitionId": { - "type": "string" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" - } - }, - "required": [ - "DeviceDefinitionId", - "Devices" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" - }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" - }, - "FunctionDefinitionId": { - "type": "string" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" - }, - "type": "array" - } - }, - "required": [ - "FunctionDefinitionId", - "Functions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::Group.GroupVersion": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Greengrass::GroupVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::GroupVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" - } - }, - "required": [ - "Loggers" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoggerDefinitionId": { - "type": "string" - }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" - } - }, - "required": [ - "LoggerDefinitionId", - "Loggers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceDefinitionId": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "ResourceDefinitionId", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" - } - }, - "required": [ - "Subscriptions" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubscriptionDefinitionId": { - "type": "string" - }, - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" - }, - "type": "array" - } - }, - "required": [ - "SubscriptionDefinitionId", - "Subscriptions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InlineRecipe": { - "type": "string" - }, - "LambdaFunction": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::ComponentVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { - "additionalProperties": false, - "properties": { - "DependencyType": { - "type": "string" - }, - "VersionRequirement": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" - }, - "type": "array" - }, - "MemorySizeInKB": { - "type": "number" - }, - "MountROSysfs": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "Path": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { - "additionalProperties": false, - "properties": { - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EventSources": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" - }, - "type": "array" - }, - "ExecArgs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InputPayloadEncodingType": { - "type": "string" - }, - "LinuxProcessParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" - }, - "MaxIdleTimeInSeconds": { - "type": "number" - }, - "MaxInstancesCount": { - "type": "number" - }, - "MaxQueueSize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "StatusTimeoutInSeconds": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { - "additionalProperties": false, - "properties": { - "ComponentDependencies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" - } - }, - "type": "object" - }, - "ComponentLambdaParameters": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" - }, - "ComponentName": { - "type": "string" - }, - "ComponentPlatforms": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" - }, - "type": "array" - }, - "ComponentVersion": { - "type": "string" - }, - "LambdaArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { - "additionalProperties": false, - "properties": { - "ContainerParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" - }, - "IsolationMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "DestinationPath": { - "type": "string" - }, - "Permission": { - "type": "string" - }, - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigData": { - "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConfigData", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::Config" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { - "additionalProperties": false, - "properties": { - "DecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" - }, - "DemodulationConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" - }, - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaUplinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" - }, - "TargetEirp": { - "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" - }, - "TransmitDisabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.ConfigData": { - "additionalProperties": false, - "properties": { - "AntennaDownlinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" - }, - "AntennaDownlinkDemodDecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" - }, - "AntennaUplinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" - }, - "DataflowEndpointConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" - }, - "S3RecordingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" - }, - "TrackingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" - }, - "UplinkEchoConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DataflowEndpointConfig": { - "additionalProperties": false, - "properties": { - "DataflowEndpointName": { - "type": "string" - }, - "DataflowEndpointRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DecodeConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DemodulationConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Eirp": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Frequency": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.FrequencyBandwidth": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.S3RecordingConfig": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.SpectrumConfig": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" - }, - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.TrackingConfig": { - "additionalProperties": false, - "properties": { - "Autotrack": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkEchoConfig": { - "additionalProperties": false, - "properties": { - "AntennaUplinkConfigArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkSpectrumConfig": { - "additionalProperties": false, - "properties": { - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointDetails": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::DataflowEndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" - }, - "Mtu": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" - }, - "SecurityDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::MissionProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactPostPassDurationSeconds": { - "type": "number" - }, - "ContactPrePassDurationSeconds": { - "type": "number" - }, - "DataflowEdges": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" - }, - "type": "array" - }, - "MinimumViableContactDurationSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrackingConfigArn": { - "type": "string" - } - }, - "required": [ - "DataflowEdges", - "MinimumViableContactDurationSeconds", - "Name", - "TrackingConfigArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::MissionProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::MissionProfile.DataflowEdge": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" - }, - "Enable": { - "type": "boolean" - }, - "FindingPublishingFrequency": { - "type": "string" - } - }, - "required": [ - "Enable" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Filter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Filter.Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" - }, - "Lte": { - "type": "number" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" - } - }, - "type": "object" - }, - "AWS::GuardDuty::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Master": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::ThreatIntelSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::AccessKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Serial": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::AccessKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::Group.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::InstanceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceProfileName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Roles" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::InstanceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ManagedPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ManagedPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::OIDCProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThumbprintList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ThumbprintList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::OIDCProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" - }, - "RoleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssumeRolePolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Role" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::SAMLProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SamlMetadataDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::SAMLProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ServerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateBody": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - }, - "ServerCertificateName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::ServiceLinkedRole": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AWSServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServiceLinkedRole" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::User.LoginProfile": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::UserToGroupAddition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GroupName", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::UserToGroupAddition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::VirtualMFADevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VirtualMfaDeviceName": { - "type": "string" - } - }, - "required": [ - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::VirtualMFADevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecordingConfigurationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IVS::PlaybackKeyPair": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfiguration": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::RecordingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "ContainerType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DockerfileTemplateData": { - "type": "string" - }, - "DockerfileTemplateUri": { - "type": "string" - }, - "ImageOsVersionOverride": { - "type": "string" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "PlatformOverride": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TargetRepository": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "ContainerType", - "Name", - "ParentImage", - "TargetRepository", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ContainerRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Image": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { - "additionalProperties": false, - "properties": { - "RepositoryName": { - "type": "string" - }, - "Service": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Distributions", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { - "additionalProperties": false, - "properties": { - "AmiDistributionConfiguration": { - "type": "object" - }, - "ContainerDistributionConfiguration": { - "type": "object" - }, - "LaunchTemplateConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" - }, - "type": "array" - }, - "LicenseConfigurationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "LaunchTemplateId": { - "type": "string" - }, - "SetDefaultVersion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImagePipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "Name", - "ParentImage", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImageRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { - "additionalProperties": false, - "properties": { - "SystemsManagerAgent": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" - }, - "UserDataOverride": { - "type": "string" - } - }, - "required": [ - "UserDataOverride" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { - "additionalProperties": false, - "properties": { - "UninstallAfterBuild": { - "type": "boolean" - } - }, - "required": [ - "UninstallAfterBuild" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" - } - }, - "required": [ - "InstanceProfileName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { - "additionalProperties": false, - "properties": { - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::ResourceGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupTags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::ResourceGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "DeviceId", - "Enabled" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Placement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "PlacementTemplate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project.DeviceTemplate": { - "additionalProperties": false, - "properties": { - "CallbackOverrides": { - "type": "object" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT1Click::Project.PlacementTemplate": { - "additionalProperties": false, - "properties": { - "DefaultAttributes": { - "type": "object" - }, - "DeviceTemplates": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "AuditCheckConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" - }, - "AuditNotificationTargetConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AccountId", - "AuditCheckConfigurations", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::AccountAuditConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { - "additionalProperties": false, - "properties": { - "AuthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "ConflictingClientIdsCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateSharedCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotPolicyOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasAllowsAccessToUnusedServicesCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "LoggingDisabledCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedCaCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedDeviceCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" - } - }, - "type": "object" - }, - "AWS::IoT::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "AuthorizerFunctionArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::CustomMetric": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "MetricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MetricType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::CustomMetric" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Dimension": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StringValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "StringValues", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Dimension" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerConfig": { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" - }, - "DomainConfigurationName": { - "type": "string" - }, - "DomainConfigurationStatus": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "ServerCertificateArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationCertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::DomainConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration.AuthorizerConfig": { - "additionalProperties": false, - "properties": { - "AllowAuthorizerOverride": { - "type": "boolean" - }, - "DefaultAuthorizerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { - "additionalProperties": false, - "properties": { - "ServerCertificateArn": { - "type": "string" - }, - "ServerCertificateStatus": { - "type": "string" - }, - "ServerCertificateStatusDetail": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ActionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ActionParams", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::MitigationAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ActionParams": { - "additionalProperties": false, - "properties": { - "AddThingsToThingGroupParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" - }, - "EnableIoTLoggingParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" - }, - "PublishFindingToSnsParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" - }, - "ReplaceDefaultPolicyVersionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" - }, - "UpdateCACertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" - }, - "UpdateDeviceCertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { - "additionalProperties": false, - "properties": { - "OverrideDynamicGroups": { - "type": "boolean" - }, - "ThingGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ThingGroupNames" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - }, - "RoleArnForLogging": { - "type": "string" - } - }, - "required": [ - "LogLevel", - "RoleArnForLogging" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { - "additionalProperties": false, - "properties": { - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateCACertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::PolicyPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "PolicyName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" - }, - "ProvisioningRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ProvisioningRoleArn", - "TemplateBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ProvisioningTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { - "additionalProperties": false, - "properties": { - "PayloadVersion": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::ScheduledAudit": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DayOfMonth": { - "type": "string" - }, - "DayOfWeek": { - "type": "string" - }, - "Frequency": { - "type": "string" - }, - "ScheduledAuditName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetCheckNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Frequency", - "TargetCheckNames" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ScheduledAudit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalMetricsToRetainV2": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" - }, - "type": "array" - }, - "AlertTargets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" - } - }, - "type": "object" - }, - "Behaviors": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" - }, - "type": "array" - }, - "SecurityProfileDescription": { - "type": "string" - }, - "SecurityProfileName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::SecurityProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.AlertTarget": { - "additionalProperties": false, - "properties": { - "AlertTargetArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AlertTargetArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.Behavior": { - "additionalProperties": false, - "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" - }, - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - }, - "Name": { - "type": "string" - }, - "SuppressAlerts": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.BehaviorCriteria": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "ConsecutiveDatapointsToAlarm": { - "type": "number" - }, - "ConsecutiveDatapointsToClear": { - "type": "number" - }, - "DurationSeconds": { - "type": "number" - }, - "MlDetectionConfig": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" - }, - "StatisticalThreshold": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { - "additionalProperties": false, - "properties": { - "ConfidenceLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricDimension": { - "additionalProperties": false, - "properties": { - "DimensionName": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "DimensionName" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricToRetain": { - "additionalProperties": false, - "properties": { - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - } - }, - "required": [ - "Metric" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricValue": { - "additionalProperties": false, - "properties": { - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Count": { - "type": "string" - }, - "Number": { - "type": "number" - }, - "Numbers": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Strings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.StatisticalThreshold": { - "additionalProperties": false, - "properties": { - "Statistic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Thing": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Thing" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::Thing.AttributePayload": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::ThingPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Principal": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "required": [ - "Principal", - "ThingName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ThingPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" - } - }, - "required": [ - "TopicRulePayload" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.Action": { - "additionalProperties": false, - "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchLogs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" - }, - "Http": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" - }, - "IotAnalytics": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" - }, - "Kafka": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" - }, - "Kinesis": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" - }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" - }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" - }, - "Timestream": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" - } - }, - "required": [ - "Timestamp", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateReason": { - "type": "string" - }, - "StateValue": { - "type": "string" - } - }, - "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchLogsAction": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LogGroupName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricTimestamp": { - "type": "string" - }, - "MetricUnit": { - "type": "string" - }, - "MetricValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBAction": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { - "additionalProperties": false, - "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.ElasticsearchAction": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Index": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.FirehoseAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAction": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" - }, - "ConfirmationUrl": { - "type": "string" - }, - "Headers": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpActionHeader": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAuthorization": { - "additionalProperties": false, - "properties": { - "Sigv4": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.IotAnalyticsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ChannelName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotEventsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "InputName": { - "type": "string" - }, - "MessageId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotSiteWiseAction": { - "additionalProperties": false, - "properties": { - "PutAssetPropertyValueEntries": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PutAssetPropertyValueEntries", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KafkaAction": { - "additionalProperties": false, - "properties": { - "ClientProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DestinationArn": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Partition": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "ClientProperties", - "DestinationArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KinesisAction": { - "additionalProperties": false, - "properties": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValues": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" - }, - "type": "array" - } - }, - "required": [ - "PropertyValues" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.PutItemInput": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "CannedAcl": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SigV4Authorization": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "SigningRegion": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "ServiceName", - "SigningRegion" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SnsAction": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SqsAction": { - "additionalProperties": false, - "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DatabaseName": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" - } - }, - "required": [ - "DatabaseName", - "Dimensions", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamTimestamp": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Actions", - "Sql" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HttpUrlProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" - }, - "Status": { - "type": "string" - }, - "VpcProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRuleDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { - "additionalProperties": false, - "properties": { - "ConfirmationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" - }, - "ContentDeliveryRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" - }, - "type": "array" - }, - "DatasetName": { - "type": "string" - }, - "LateDataRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" - }, - "type": "array" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Action": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" - }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" - } - }, - "required": [ - "ActionName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" - }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" - }, - "TimeExpression": { - "type": "string" - } - }, - "required": [ - "OffsetSeconds", - "TimeExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { - "additionalProperties": false, - "properties": { - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutInMinutes" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRule": { - "additionalProperties": false, - "properties": { - "RuleConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "RuleConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { - "additionalProperties": false, - "properties": { - "DeltaTimeSessionWindowConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" - }, - "type": "array" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "required": [ - "NumberOfDays", - "Unlimited" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" - }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" - }, - "DoubleValue": { - "type": "number" - }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" - }, - "StringValue": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "VariableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "DatastorePartitions": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" - }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" - }, - "FileFormatConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Datastore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Column": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartition": { - "additionalProperties": false, - "properties": { - "Partition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" - }, - "TimestampPartition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartitions": { - "additionalProperties": false, - "properties": { - "Partitions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { - "additionalProperties": false, - "properties": { - "JsonConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" - }, - "ParquetConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.JsonConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { - "additionalProperties": false, - "properties": { - "SchemaDefinition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Partition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.SchemaDefinition": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.TimestampPartition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "TimestampFormat": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineActivities": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" - }, - "type": "array" - }, - "PipelineName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineActivities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Activity": { - "additionalProperties": false, - "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" - }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" - }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" - }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" - }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" - }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Channel": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Datastore": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Filter": { - "additionalProperties": false, - "properties": { - "Filter": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "LambdaName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Math": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Math": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SuiteDefinitionConfiguration": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SuiteDefinitionConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" - }, - "DetectorModelDescription": { - "type": "string" - }, - "DetectorModelName": { - "type": "string" - }, - "EvaluationMethod": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorModelDefinition", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::DetectorModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Action": { - "additionalProperties": false, - "properties": { - "ClearTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" - }, - "IotTopicPublish": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ClearTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "required": [ - "InitialStateName", - "States" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDB": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "Operation": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDBv2": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Event": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "required": [ - "EventName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "InputName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotSiteWise": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValue": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" - } - }, - "required": [ - "PropertyValue" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "MqttTopic" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContentExpression", - "Type" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "Value", - "VariableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "TargetArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "required": [ - "StateName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - }, - "NextState": { - "type": "string" - } - }, - "required": [ - "Condition", - "EventName", - "NextState" - ], - "type": "object" - }, - "AWS::IoTEvents::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" - }, - "InputDescription": { - "type": "string" - }, - "InputName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InputDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.Attribute": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.InputDefinition": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" - } - }, - "required": [ - "Attributes" - ], - "type": "object" - }, - "AWS::IoTFleetHub::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTFleetHub::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicyIdentity": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" - } - }, - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AccessPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" - }, - "IamUser": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" - }, - "User": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" - }, - "Project": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Portal": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Project": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.User": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { - "type": "string" - }, - "AssetName": { - "type": "string" - }, - "AssetProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelId", - "AssetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "NotificationState": { - "type": "string" - } - }, - "required": [ - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetModelCompositeModels": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" - }, - "type": "array" - }, - "AssetModelDescription": { - "type": "string" - }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" - }, - "AssetModelName": { - "type": "string" - }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AssetModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { - "additionalProperties": false, - "properties": { - "CompositeModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetModelId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { - "additionalProperties": false, - "properties": { - "DataType": { - "type": "string" - }, - "DataTypeSpec": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" - }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "TypeName" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Transform": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" - }, - "Offset": { - "type": "string" - } - }, - "required": [ - "Interval" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { - "additionalProperties": false, - "properties": { - "HierarchyLogicalId": { - "type": "string" - }, - "PropertyLogicalId": { - "type": "string" - } - }, - "required": [ - "PropertyLogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardDefinition": { - "type": "string" - }, - "DashboardDescription": { - "type": "string" - }, - "DashboardName": { - "type": "string" - }, - "ProjectId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DashboardDefinition", - "DashboardDescription", - "DashboardName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayCapabilitySummaries": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" - }, - "type": "array" - }, - "GatewayName": { - "type": "string" - }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GatewayName", - "GatewayPlatform" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Gateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { - "additionalProperties": false, - "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { - "type": "string" - } - }, - "required": [ - "CapabilityNamespace" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { - "additionalProperties": false, - "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" - } - }, - "required": [ - "Greengrass" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.Greengrass": { - "additionalProperties": false, - "properties": { - "GroupArn": { - "type": "string" - } - }, - "required": [ - "GroupArn" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Portal": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alarms": { - "type": "object" - }, - "NotificationSenderEmail": { - "type": "string" - }, - "PortalAuthMode": { - "type": "string" - }, - "PortalContactEmail": { - "type": "string" - }, - "PortalDescription": { - "type": "string" - }, - "PortalName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalContactEmail", - "PortalName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Portal" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PortalId": { - "type": "string" - }, - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalId", - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleNamespaceVersion": { - "type": "number" - }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" - } - }, - "required": [ - "Definition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { - "additionalProperties": false, - "properties": { - "Language": { - "type": "string" - }, - "Text": { - "type": "string" - } - }, - "required": [ - "Language", - "Text" - ], - "type": "object" - }, - "AWS::IoTWireless::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "ExpressionType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ExpressionType", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::DeviceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { - "additionalProperties": false, - "properties": { - "ClassBTimeout": { - "type": "number" - }, - "ClassCTimeout": { - "type": "number" - }, - "MacVersion": { - "type": "string" - }, - "MaxDutyCycle": { - "type": "number" - }, - "MaxEirp": { - "type": "number" - }, - "PingSlotDr": { - "type": "number" - }, - "PingSlotFreq": { - "type": "number" - }, - "PingSlotPeriod": { - "type": "number" - }, - "RegParamsRevision": { - "type": "string" - }, - "RfRegion": { - "type": "string" - }, - "Supports32BitFCnt": { - "type": "boolean" - }, - "SupportsClassB": { - "type": "boolean" - }, - "SupportsClassC": { - "type": "boolean" - }, - "SupportsJoin": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountLinked": { - "type": "boolean" - }, - "Fingerprint": { - "type": "string" - }, - "PartnerAccountId": { - "type": "string" - }, - "PartnerType": { - "type": "string" - }, - "Sidewalk": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" - }, - "SidewalkUpdate": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::PartnerAccount" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "required": [ - "AppServerPrivateKey" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::ServiceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { - "additionalProperties": false, - "properties": { - "AddGwMetadata": { - "type": "boolean" - }, - "ChannelMask": { - "type": "string" - }, - "DevStatusReqFreq": { - "type": "number" - }, - "DlBucketSize": { - "type": "number" - }, - "DlRate": { - "type": "number" - }, - "DlRatePolicy": { - "type": "string" - }, - "DrMax": { - "type": "number" - }, - "DrMin": { - "type": "number" - }, - "HrAllowed": { - "type": "boolean" - }, - "MinGwDiversity": { - "type": "number" - }, - "NwkGeoLoc": { - "type": "boolean" - }, - "PrAllowed": { - "type": "boolean" - }, - "RaAllowed": { - "type": "boolean" - }, - "ReportDevStatusBattery": { - "type": "boolean" - }, - "ReportDevStatusMargin": { - "type": "boolean" - }, - "TargetPer": { - "type": "number" - }, - "UlBucketSize": { - "type": "number" - }, - "UlRate": { - "type": "number" - }, - "UlRatePolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoCreateTasks": { - "type": "boolean" - }, - "LoRaWANUpdateGatewayTaskEntry": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionType": { - "type": "string" - }, - "Update": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" - } - }, - "required": [ - "AutoCreateTasks" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { - "additionalProperties": false, - "properties": { - "Model": { - "type": "string" - }, - "PackageVersion": { - "type": "string" - }, - "Station": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "SigKeyCrc": { - "type": "number" - }, - "UpdateSignature": { - "type": "string" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" - }, - "UpdateDataRole": { - "type": "string" - }, - "UpdateDataSource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationName": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessDevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV10x": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV11": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { - "additionalProperties": false, - "properties": { - "AbpV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" - }, - "AbpV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" - }, - "DevEui": { - "type": "string" - }, - "DeviceProfileId": { - "type": "string" - }, - "OtaaV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" - }, - "OtaaV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" - }, - "ServiceProfileId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV10x": { - "additionalProperties": false, - "properties": { - "AppEui": { - "type": "string" - }, - "AppKey": { - "type": "string" - } - }, - "required": [ - "AppEui", - "AppKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV11": { - "additionalProperties": false, - "properties": { - "AppKey": { - "type": "string" - }, - "JoinEui": { - "type": "string" - }, - "NwkKey": { - "type": "string" - } - }, - "required": [ - "AppKey", - "JoinEui", - "NwkKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "NwkSKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "NwkSKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "FNwkSIntKey": { - "type": "string" - }, - "NwkSEncKey": { - "type": "string" - }, - "SNwkSIntKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "FNwkSIntKey", - "NwkSEncKey", - "SNwkSIntKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "LoRaWAN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { - "additionalProperties": false, - "properties": { - "GatewayEui": { - "type": "string" - }, - "RfRegion": { - "type": "string" - } - }, - "required": [ - "GatewayEui", - "RfRegion" - ], - "type": "object" - }, - "AWS::KMS::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasName": { - "type": "string" - }, - "TargetKeyId": { - "type": "string" - } - }, - "required": [ - "AliasName", - "TargetKeyId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::Key": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EnableKeyRotation": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "KeySpec": { - "type": "string" - }, - "KeyUsage": { - "type": "string" - }, - "MultiRegion": { - "type": "boolean" - }, - "PendingWindowInDays": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Key" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::ReplicaKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "PendingWindowInDays": { - "type": "number" - }, - "PrimaryKeyArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy", - "PrimaryKeyArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::ReplicaKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "IndexId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { - "additionalProperties": false, - "properties": { - "KeyPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.AclConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedGroupsColumnName": { - "type": "string" - } - }, - "required": [ - "AllowedGroupsColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DocumentDataColumnName": { - "type": "string" - }, - "DocumentIdColumnName": { - "type": "string" - }, - "DocumentTitleColumnName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" - }, - "type": "array" - }, - "CrawlAttachments": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { - "additionalProperties": false, - "properties": { - "BlogFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" - }, - "BlogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PageConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "SpaceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" - }, - "Version": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "ServerUrl", - "Version" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageConfiguration": { - "additionalProperties": false, - "properties": { - "PageFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlArchivedSpaces": { - "type": "boolean" - }, - "CrawlPersonalSpaces": { - "type": "boolean" - }, - "ExcludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpaceFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "SecretArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "ConfluenceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" - }, - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "GoogleDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" - }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { - "additionalProperties": false, - "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" - }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" - }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" - }, - "DatabaseEngineType": { - "type": "string" - }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "S3Prefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.GoogleDriveConfiguration": { - "additionalProperties": false, - "properties": { - "ExcludeMimeTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeSharedDrives": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeUserAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { - "additionalProperties": false, - "properties": { - "DisableLocalGroups": { - "type": "boolean" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" - }, - "SecretArn": { - "type": "string" - }, - "TenantDomain": { - "type": "string" - } - }, - "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" - }, - "BucketName": { - "type": "string" - }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPrefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeFilterTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { - "additionalProperties": false, - "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SecretArn", - "ServerUrl" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" - }, - "type": "array" - }, - "IncludedStates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" - } - }, - "required": [ - "IncludedStates" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { - "type": "string" - } - }, - "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DisableLocalGroups": { - "type": "boolean" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - }, - "SharePointVersion": { - "type": "string" - }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UseChangeLog": { - "type": "boolean" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "SharePointVersion", - "Urls" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SqlConfiguration": { - "additionalProperties": false, - "properties": { - "QueryIdentifiersEnclosingOption": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Faq": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FileFormat": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Faq" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Index": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { - "type": "string" - }, - "DocumentMetadataConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - }, - "Edition": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserContextPolicy": { - "type": "string" - }, - "UserTokenConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Edition", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Index" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "GroupAttributeField", - "UserNameAttributeField" - ], - "type": "object" - }, - "AWS::Kendra::Index.JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "type": "string" - }, - "GroupAttributeField": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "KeyLocation": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "URL": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RetentionPeriodHours": { - "type": "number" - }, - "ShardCount": { - "type": "number" - }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ShardCount" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kinesis::Stream.StreamEncryption": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KeyId": { - "type": "string" - } - }, - "required": [ - "EncryptionType", - "KeyId" - ], - "type": "object" - }, - "AWS::Kinesis::StreamConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerName": { - "type": "string" - }, - "StreamARN": { - "type": "string" - } - }, - "required": [ - "ConsumerName", - "StreamARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::StreamConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationCode": { - "type": "string" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" - }, - "type": "array" - } - }, - "required": [ - "Inputs" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ReferenceRoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationMode": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RuntimeEnvironment": { - "type": "string" - }, - "ServiceExecutionRole": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" - }, - "CodeContentType": { - "type": "string" - } - }, - "required": [ - "CodeContent", - "CodeContentType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "type": "number" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - }, - "TextContent": { - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "BucketARN": { - "type": "string" - } - }, - "required": [ - "BasePath", - "BucketARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" - } - }, - "required": [ - "ApplicationName", - "CloudWatchLoggingOption" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { - "additionalProperties": false, - "properties": { - "CopyOptions": { - "type": "string" - }, - "DataTableColumns": { - "type": "string" - }, - "DataTableName": { - "type": "string" - } - }, - "required": [ - "DataTableName" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" - }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" - }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { - "additionalProperties": false, - "properties": { - "KeyARN": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { - "additionalProperties": false, - "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" - }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "IndexRotationPeriod": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "TypeName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" - } - }, - "required": [ - "IndexName", - "RoleARN", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeValue": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { - "additionalProperties": false, - "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" - }, - "ContentEncoding": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { - "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "KinesisStreamARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { - "additionalProperties": false, - "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { - "type": "string" - }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "number" - }, - "StripeSizeBytes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "number" - }, - "PageSizeBytes": { - "type": "number" - }, - "WriterVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { - "additionalProperties": false, - "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" - }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { - "type": "string" - }, - "HECEndpointType": { - "type": "string" - }, - "HECToken": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "RoleARN": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" - }, - "TrustedResourceOwners": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::DataLakeSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsWithGrantOption": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" - } - }, - "required": [ - "DataLakePrincipal", - "Resource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Permissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { - "additionalProperties": false, - "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLocationResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "S3Resource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DatabaseResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.Resource": { - "additionalProperties": false, - "properties": { - "DataLocationResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" - }, - "DatabaseResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" - }, - "TableResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" - }, - "TableWithColumnsResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseServiceLinkedRole": { - "type": "boolean" - } - }, - "required": [ - "ResourceArn", - "UseServiceLinkedRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" - }, - "type": "array" - } - }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::Lambda::Alias.VersionWeight": { - "additionalProperties": false, - "properties": { - "FunctionVersion": { - "type": "string" - }, - "FunctionWeight": { - "type": "number" - } - }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPublishers": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" - }, - "CodeSigningPolicies": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AllowedPublishers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::CodeSigningConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { - "additionalProperties": false, - "properties": { - "SigningProfileVersionArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SigningProfileVersionArns" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { - "additionalProperties": false, - "properties": { - "UntrustedArtifactOnDeployment": { - "type": "string" - } - }, - "required": [ - "UntrustedArtifactOnDeployment" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" - }, - "FunctionName": { - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "Qualifier": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventInvokeConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" - }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" - } - }, - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "EventSourceArn": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionResponseTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfManagedEventSource": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" - }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" - }, - "StartingPosition": { - "type": "string" - }, - "StartingPositionTimestamp": { - "type": "number" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TumblingWindowInSeconds": { - "type": "number" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventSourceMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.Endpoints": { - "additionalProperties": false, - "properties": { - "KafkaBootstrapServers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { - "additionalProperties": false, - "properties": { - "Endpoints": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "URI": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Function.Code": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "ZipFile": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.Environment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "LocalMountPath": { - "type": "string" - } - }, - "required": [ - "Arn", - "LocalMountPath" - ], - "type": "object" - }, - "AWS::Lambda::Function.ImageConfig": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.TracingConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::LayerVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" - }, - "Description": { - "type": "string" - }, - "LayerName": { - "type": "string" - }, - "LicenseInfo": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersion.Content": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersionPermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" - }, - "OrganizationId": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Action", - "LayerVersionArn", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersionPermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Permission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "SourceAccount": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "Action", - "FunctionName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeSha256": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Version" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::LicenseManager::Grant": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedOperations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "GrantName": { - "type": "string" - }, - "HomeRegion": { - "type": "string" - }, - "LicenseArn": { - "type": "string" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::Grant" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LicenseManager::License": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Beneficiary": { - "type": "string" - }, - "ConsumptionConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" - }, - "Entitlements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" - }, - "type": "array" - }, - "HomeRegion": { - "type": "string" - }, - "Issuer": { - "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" - }, - "LicenseMetadata": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" - }, - "type": "array" - }, - "LicenseName": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProductSKU": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" - } - }, - "required": [ - "ConsumptionConfiguration", - "Entitlements", - "HomeRegion", - "Issuer", - "LicenseName", - "ProductName", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::License" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LicenseManager::License.BorrowConfiguration": { - "additionalProperties": false, - "properties": { - "AllowEarlyCheckIn": { - "type": "boolean" - }, - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "AllowEarlyCheckIn", - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ConsumptionConfiguration": { - "additionalProperties": false, - "properties": { - "BorrowConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" - }, - "ProvisionalConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" - }, - "RenewType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LicenseManager::License.Entitlement": { - "additionalProperties": false, - "properties": { - "AllowCheckIn": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Overage": { - "type": "boolean" - }, - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Unit" - ], - "type": "object" - }, - "AWS::LicenseManager::License.IssuerData": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SignKey": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::LicenseManager::License.Metadata": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ProvisionalConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ValidityDateFormat": { - "additionalProperties": false, - "properties": { - "Begin": { - "type": "string" - }, - "End": { - "type": "string" - } - }, - "required": [ - "Begin", - "End" - ], - "type": "object" - }, - "AWS::Location::GeofenceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - } - }, - "required": [ - "CollectionName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::GeofenceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "Configuration", - "MapName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Map" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "DataSource", - "IndexName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::PlaceIndex" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "IntendedUse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Location::RouteCalculator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CalculatorName": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "CalculatorName", - "DataSource", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::RouteCalculator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Tracker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "PricingPlan", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Tracker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::TrackerConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerArn": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "ConsumerArn", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::TrackerConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::LogGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RetentionInDays": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Logs::LogStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "required": [ - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MetricTransformations": { - "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" - }, - "type": "array" - } - }, - "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::MetricFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter.MetricTransformation": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricValue": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - }, - "AWS::Logs::QueryDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - } - }, - "required": [ - "Name", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::QueryDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::SubscriptionFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::SubscriptionFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutEquipment::InferenceScheduler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataDelayOffsetInMinutes": { - "type": "number" - }, - "DataInputConfiguration": { - "type": "object" - }, - "DataOutputConfiguration": { - "type": "object" - }, - "DataUploadFrequency": { - "type": "string" - }, - "InferenceSchedulerName": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideKmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataInputConfiguration", - "DataOutputConfiguration", - "DataUploadFrequency", - "ModelName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutEquipment::InferenceScheduler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" - }, - "AlertDescription": { - "type": "string" - }, - "AlertName": { - "type": "string" - }, - "AlertSensitivityThreshold": { - "type": "number" - }, - "AnomalyDetectorArn": { - "type": "string" - } - }, - "required": [ - "Action", - "AlertSensitivityThreshold", - "AnomalyDetectorArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::Alert" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.Action": { - "additionalProperties": false, - "properties": { - "LambdaConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" - }, - "SNSConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::Alert.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LambdaArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.SNSConfiguration": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SnsTopicArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" - }, - "AnomalyDetectorDescription": { - "type": "string" - }, - "AnomalyDetectorName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MetricSetList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" - }, - "type": "array" - } - }, - "required": [ - "AnomalyDetectorConfig", - "MetricSetList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorFrequency": { - "type": "string" - } - }, - "required": [ - "AnomalyDetectorFrequency" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { - "additionalProperties": false, - "properties": { - "FlowName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FlowName", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "FileCompression": { - "type": "string" - }, - "HeaderList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { - "additionalProperties": false, - "properties": { - "CsvFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" - }, - "JsonFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "FileCompression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.Metric": { - "additionalProperties": false, - "properties": { - "AggregationFunction": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "AggregationFunction", - "MetricName" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { - "additionalProperties": false, - "properties": { - "DimensionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" - }, - "type": "array" - }, - "MetricSetDescription": { - "type": "string" - }, - "MetricSetFrequency": { - "type": "string" - }, - "MetricSetName": { - "type": "string" - }, - "MetricSource": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" - }, - "Offset": { - "type": "number" - }, - "TimestampColumn": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "MetricList", - "MetricSetName", - "MetricSource" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { - "additionalProperties": false, - "properties": { - "AppFlowConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" - }, - "CloudwatchConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" - }, - "RDSSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" - }, - "RedshiftSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" - }, - "S3SourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { - "additionalProperties": false, - "properties": { - "DBInstanceIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "DBInstanceIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "ClusterIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { - "additionalProperties": false, - "properties": { - "FileFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" - }, - "HistoricalDataPathList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TemplatedPathList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "FileFormatDescriptor", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { - "additionalProperties": false, - "properties": { - "ColumnFormat": { - "type": "string" - }, - "ColumnName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIdList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIdList", - "SubnetIdList" - ], - "type": "object" - }, - "AWS::LookoutVision::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutVision::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { - "type": "string" - }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" - }, - "EnhancedMonitoring": { - "type": "string" - }, - "KafkaVersion": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" - }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MSK::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster.BrokerLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { - "type": "string" - }, - "ClientSubnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InstanceType": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" - } - }, - "required": [ - "ClientSubnets", - "InstanceType" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ClientAuthentication": { - "additionalProperties": false, - "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" - }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { - "type": "string" - }, - "InCluster": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" - }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Iam": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.JmxExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.LoggingInfo": { - "additionalProperties": false, - "properties": { - "BrokerLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" - } - }, - "required": [ - "BrokerLogs" - ], - "type": "object" - }, - "AWS::MSK::Cluster.NodeExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" - }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Iam": { - "$ref": "#/definitions/AWS::MSK::Cluster.Iam" - }, - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AirflowConfigurationOptions": { - "type": "object" - }, - "AirflowVersion": { - "type": "string" - }, - "DagS3Path": { - "type": "string" - }, - "EnvironmentClass": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "KmsKey": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" - }, - "MaxWorkers": { - "type": "number" - }, - "MinWorkers": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" - }, - "PluginsS3ObjectVersion": { - "type": "string" - }, - "PluginsS3Path": { - "type": "string" - }, - "RequirementsS3ObjectVersion": { - "type": "string" - }, - "RequirementsS3Path": { - "type": "string" - }, - "Schedulers": { - "type": "number" - }, - "SourceBucketArn": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" - }, - "WebserverAccessMode": { - "type": "string" - }, - "WeeklyMaintenanceWindowStart": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MWAA::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MWAA::Environment.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DagProcessingLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "SchedulerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "TaskLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WebserverLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WorkerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.ModuleLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.TagMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::CustomDataIdentifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Keywords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" - } - }, - "required": [ - "Name", - "Regex" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::CustomDataIdentifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Position": { - "type": "number" - } - }, - "required": [ - "FindingCriteria", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::FindingsFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter.Criterion": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" - } - }, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Macie::Session": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FindingPublishingFrequency": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { - "additionalProperties": false, - "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { - "type": "string" - }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { - "additionalProperties": false, - "properties": { - "AdminPassword": { - "type": "string" - }, - "AdminUsername": { - "type": "string" - } - }, - "required": [ - "AdminPassword", - "AdminUsername" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { - "type": "string" - } - }, - "required": [ - "Edition" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MemberId": { - "type": "string" - }, - "NetworkId": { - "type": "string" - }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" - } - }, - "required": [ - "NetworkId", - "NodeConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Node" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" - }, - "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" - } - }, - "required": [ - "Name", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.FailoverConfig": { - "additionalProperties": false, - "properties": { - "RecoveryWindow": { - "type": "number" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::Flow.Source": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataTransferSubscriberFeePercent": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" - }, - "EntitlementStatus": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Subscribers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Description", - "FlowArn", - "Name", - "Subscribers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowEntitlement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrAllowList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Destination": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" - }, - "FlowArn": { - "type": "string" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "RemoteId": { - "type": "string" - }, - "SmoothingLatency": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceAttachment": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" - } - }, - "required": [ - "FlowArn", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn", - "SecretArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "VpcInterfaceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "required": [ - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowSource.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowVpcInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FlowArn", - "Name", - "RoleArn", - "SecurityGroupIds", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowVpcInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::JobTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.HopDestination": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "WaitMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaConvert::Preset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Preset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdiInputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" - }, - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel.AacSettings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Ac3Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "MetadataControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AncillarySourceSettings": { - "additionalProperties": false, - "properties": { - "SourceAncillaryChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveCdnSettings": { - "additionalProperties": false, - "properties": { - "ArchiveS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - }, - "RawSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { - "additionalProperties": false, - "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" - }, - "Extension": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioChannelMapping": { - "additionalProperties": false, - "properties": { - "InputChannelLevels": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" - }, - "type": "array" - }, - "OutputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioCodecSettings": { - "additionalProperties": false, - "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" - }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" - }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" - }, - "WavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioDescription": { - "additionalProperties": false, - "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" - }, - "AudioType": { - "type": "string" - }, - "AudioTypeControl": { - "type": "string" - }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageCodeControl": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" - }, - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "AlgorithmControl": { - "type": "string" - }, - "TargetLkfs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioGroupId": { - "type": "string" - }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "AudioTrackType": { - "type": "string" - }, - "SegmentType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioPidSelection": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelector": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { - "additionalProperties": false, - "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" - }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" - }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectorName": { - "type": "string" - }, - "AudioSilenceThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrack": { - "additionalProperties": false, - "properties": { - "Track": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrackSelection": { - "additionalProperties": false, - "properties": { - "Tracks": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { - "additionalProperties": false, - "properties": { - "ErrorClearTimeMsec": { - "type": "number" - }, - "FailoverConditions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" - }, - "type": "array" - }, - "InputPreference": { - "type": "string" - }, - "SecondaryInputId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailBlanking": { - "additionalProperties": false, - "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailConfiguration": { - "additionalProperties": false, - "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailSettings": { - "additionalProperties": false, - "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" - }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BlackoutSlate": { - "additionalProperties": false, - "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkEndBlackout": { - "type": "string" - }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkId": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDescription": { - "additionalProperties": false, - "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { - "additionalProperties": false, - "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" - }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" - }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" - }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" - }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { - "additionalProperties": false, - "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionRectangle": { - "additionalProperties": false, - "properties": { - "Height": { - "type": "number" - }, - "LeftOffset": { - "type": "number" - }, - "TopOffset": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelector": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { - "additionalProperties": false, - "properties": { - "AncillarySourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" - }, - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" - }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" - }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" - }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" - }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CdiInputSpecification": { - "additionalProperties": false, - "properties": { - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { - "additionalProperties": false, - "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSdtSettings": { - "additionalProperties": false, - "properties": { - "OutputSdt": { - "type": "string" - }, - "RepInterval": { - "type": "number" - }, - "ServiceName": { - "type": "string" - }, - "ServiceProviderName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbTdtSettings": { - "additionalProperties": false, - "properties": { - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Eac3Settings": { - "additionalProperties": false, - "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" - }, - "LtRtCenterMixLevel": { - "type": "number" - }, - "LtRtSurroundMixLevel": { - "type": "number" - }, - "MetadataControl": { - "type": "string" - }, - "PassthroughControl": { - "type": "string" - }, - "PhaseControl": { - "type": "string" - }, - "StereoDownmix": { - "type": "string" - }, - "SurroundExMode": { - "type": "string" - }, - "SurroundMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { - "additionalProperties": false, - "properties": { - "CopyrightHolder": { - "type": "string" - }, - "FillLineGap": { - "type": "string" - }, - "FontFamily": { - "type": "string" - }, - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Scte20Detection": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - }, - "Source608TrackNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EncoderSettings": { - "additionalProperties": false, - "properties": { - "AudioDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" - }, - "type": "array" - }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" - }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" - }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" - }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" - }, - "MotionGraphicsConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" - }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" - }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" - }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" - }, - "VideoDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverCondition": { - "additionalProperties": false, - "properties": { - "FailoverConditionSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverConditionSettings": { - "additionalProperties": false, - "properties": { - "AudioSilenceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" - }, - "InputLossSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" - }, - "VideoBlackSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FeatureActivations": { - "additionalProperties": false, - "properties": { - "InputPrepareScheduleActions": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FecOutputSettings": { - "additionalProperties": false, - "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { - "type": "string" - }, - "RowLength": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FrameCaptureCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { - "additionalProperties": false, - "properties": { - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { - "additionalProperties": false, - "properties": { - "CaptureInterval": { - "type": "number" - }, - "CaptureIntervalUnits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.GlobalConfiguration": { - "additionalProperties": false, - "properties": { - "InitialAudioGain": { - "type": "number" - }, - "InputEndAction": { - "type": "string" - }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { - "type": "string" - }, - "OutputTimingSource": { - "type": "string" - }, - "SupportLowFramerateInputs": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufFillPct": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" - }, - "EntropyEncoding": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "ForceFieldPictures": { - "type": "string" - }, - "FramerateControl": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopBReference": { - "type": "string" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { - "type": "string" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QualityLevel": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Softness": { - "type": "number" - }, - "SpatialAq": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "Syntax": { - "type": "string" - }, - "TemporalAq": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Tier": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Hdr10Settings": { - "additionalProperties": false, - "properties": { - "MaxCll": { - "type": "number" - }, - "MaxFall": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsCdnSettings": { - "additionalProperties": false, - "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" - }, - "HlsS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" - }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { - "type": "string" - }, - "BaseUrlManifest": { - "type": "string" - }, - "BaseUrlManifest1": { - "type": "string" - }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" - }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" - }, - "ClientCache": { - "type": "string" - }, - "CodecSpecification": { - "type": "string" - }, - "ConstantIv": { - "type": "string" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { - "type": "string" - }, - "DiscontinuityTags": { - "type": "string" - }, - "EncryptionType": { - "type": "string" - }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { - "type": "string" - }, - "IFrameOnlyPlaylists": { - "type": "string" - }, - "IncompleteSegmentBehavior": { - "type": "string" - }, - "IndexNSegments": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "IvInManifest": { - "type": "string" - }, - "IvSource": { - "type": "string" - }, - "KeepSegments": { - "type": "number" - }, - "KeyFormat": { - "type": "string" - }, - "KeyFormatVersions": { - "type": "string" - }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" - }, - "ManifestCompression": { - "type": "string" - }, - "ManifestDurationFormat": { - "type": "string" - }, - "MinSegmentLength": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "OutputSelection": { - "type": "string" - }, - "ProgramDateTime": { - "type": "string" - }, - "ProgramDateTimePeriod": { - "type": "number" - }, - "RedundantManifest": { - "type": "string" - }, - "SegmentLength": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SegmentsPerSubdirectory": { - "type": "number" - }, - "StreamInfResolution": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - }, - "TimestampDeltaMilliseconds": { - "type": "number" - }, - "TsFileMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsInputSettings": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "type": "number" - }, - "BufferSegments": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "RetryInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" - }, - "NameModifier": { - "type": "string" - }, - "SegmentModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" - }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" - }, - "FrameCaptureHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" - }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.InputAttachment": { - "additionalProperties": false, - "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { - "type": "string" - }, - "InputId": { - "type": "string" - }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputChannelLevel": { - "additionalProperties": false, - "properties": { - "Gain": { - "type": "number" - }, - "InputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLocation": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Uri": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossBehavior": { - "additionalProperties": false, - "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { - "type": "string" - }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "InputLossImageType": { - "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossFailoverSettings": { - "additionalProperties": false, - "properties": { - "InputLossThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { - "type": "string" - }, - "FilterStrength": { - "type": "number" - }, - "InputFilter": { - "type": "string" - }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" - }, - "Smpte2038DataPreference": { - "type": "string" - }, - "SourceEndBehavior": { - "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSpecification": { - "additionalProperties": false, - "properties": { - "Codec": { - "type": "string" - }, - "MaximumBitrate": { - "type": "string" - }, - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.KeyProviderSettings": { - "additionalProperties": false, - "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M2tsSettings": { - "additionalProperties": false, - "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { - "type": "string" - }, - "AribCaptionsPid": { - "type": "string" - }, - "AribCaptionsPidControl": { - "type": "string" - }, - "AudioBufferModel": { - "type": "string" - }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "AudioStreamType": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { - "type": "string" - }, - "FragmentTime": { - "type": "number" - }, - "Klv": { - "type": "string" - }, - "KlvDataPids": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { - "type": "string" - }, - "Scte27Pids": { - "type": "string" - }, - "Scte35Control": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "SegmentationMarkers": { - "type": "string" - }, - "SegmentationStyle": { - "type": "string" - }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M3u8Settings": { - "additionalProperties": false, - "properties": { - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "Scte35Behavior": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { - "additionalProperties": false, - "properties": { - "MotionGraphicsInsertion": { - "type": "string" - }, - "MotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsSettings": { - "additionalProperties": false, - "properties": { - "HtmlMotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mp2Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpace": { - "type": "string" - }, - "DisplayAspectRatio": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { - "additionalProperties": false, - "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "EventId": { - "type": "string" - }, - "EventIdMode": { - "type": "string" - }, - "EventStopBehavior": { - "type": "string" - }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SendDelayMs": { - "type": "number" - }, - "SparseTrackType": { - "type": "string" - }, - "StreamManifestBehavior": { - "type": "string" - }, - "TimestampOffset": { - "type": "string" - }, - "TimestampOffsetMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { - "additionalProperties": false, - "properties": { - "MultiplexId": { - "type": "string" - }, - "ProgramName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NetworkInputSettings": { - "additionalProperties": false, - "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" - }, - "ServerValidation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NielsenConfiguration": { - "additionalProperties": false, - "properties": { - "DistributorId": { - "type": "string" - }, - "NielsenPcmToId3Tagging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Output": { - "additionalProperties": false, - "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CaptionDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OutputName": { - "type": "string" - }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestination": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" - }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" - }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" - }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" - }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" - }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" - }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" - }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" - }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" - }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" - }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputLocationRef": { - "additionalProperties": false, - "properties": { - "DestinationRefId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputSettings": { - "additionalProperties": false, - "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" - }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" - }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RawSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { - "additionalProperties": false, - "properties": { - "ChannelMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" - }, - "type": "array" - }, - "ChannelsIn": { - "type": "number" - }, - "ChannelsOut": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthenticationScheme": { - "type": "string" - }, - "CacheFullBehavior": { - "type": "string" - }, - "CacheLength": { - "type": "number" - }, - "CaptionData": { - "type": "string" - }, - "InputLossAction": { - "type": "string" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { - "additionalProperties": false, - "properties": { - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "NumRetries": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.StaticKeySettings": { - "additionalProperties": false, - "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "StaticKeyValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { - "additionalProperties": false, - "properties": { - "OutputRectangle": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" - }, - "PageNumber": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { - "additionalProperties": false, - "properties": { - "PostFilterSharpening": { - "type": "string" - }, - "Strength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TimecodeConfig": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "SyncThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { - "additionalProperties": false, - "properties": { - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpGroupSettings": { - "additionalProperties": false, - "properties": { - "InputLossAction": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpOutputSettings": { - "additionalProperties": false, - "properties": { - "BufferMsec": { - "type": "number" - }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { - "additionalProperties": false, - "properties": { - "BlackDetectThreshold": { - "type": "number" - }, - "VideoBlackThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoCodecSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" - }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" - }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" - }, - "Mpeg2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoDescription": { - "additionalProperties": false, - "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" - }, - "Height": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RespondToAfd": { - "type": "string" - }, - "ScalingBehavior": { - "type": "string" - }, - "Sharpness": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelector": { - "additionalProperties": false, - "properties": { - "ColorSpace": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" - }, - "ColorSpaceUsage": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorPid": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { - "additionalProperties": false, - "properties": { - "ProgramId": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { - "additionalProperties": false, - "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" - }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VpcOutputSettings": { - "additionalProperties": false, - "properties": { - "PublicAddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WavSettings": { - "additionalProperties": false, - "properties": { - "BitDepth": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "type": "array" - }, - "InputSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceRequest": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceSettings": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - }, - "WhitelistRules": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::InputSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Asset.EgressEndpoint": { - "additionalProperties": false, - "properties": { - "PackagingConfigurationId": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "PackagingConfigurationId", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "IngressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" - }, - "ChannelId": { - "type": "string" - }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { - "type": "string" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" - }, - "Id": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" - }, - "Origination": { - "type": "string" - }, - "StartoverWindowSeconds": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeDelaySeconds": { - "type": "number" - }, - "Whitelist": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ChannelId", - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::OriginEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentPrefix": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { - "additionalProperties": false, - "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { - "type": "string" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" - }, - "UtcTiming": { - "type": "string" - }, - "UtcTimingUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" - }, - "Id": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" - }, - "PackagingGroupId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { - "additionalProperties": false, - "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" - }, - "type": "array" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - } - }, - "required": [ - "DashManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" - }, - "MssManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "MssManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" - }, - "type": "array" - }, - "LifecyclePolicy": { - "type": "string" - }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Neptune::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "FirewallPolicyArn": { - "type": "string" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallName", - "FirewallPolicyArn", - "SubnetMappings", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::Firewall" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall.SubnetMapping": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FirewallPolicy": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" - }, - "FirewallPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirewallPolicy", - "FirewallPolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::FirewallPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { - "additionalProperties": false, - "properties": { - "StatefulRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" - }, - "type": "array" - }, - "StatelessCustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" - }, - "type": "array" - }, - "StatelessDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessFragmentDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" - }, - "type": "array" - } - }, - "required": [ - "StatelessDefaultActions", - "StatelessFragmentDefaultActions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "Priority", - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallArn": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" - } - }, - "required": [ - "FirewallArn", - "LoggingConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::LoggingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { - "additionalProperties": false, - "properties": { - "LogDestination": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LogDestinationType": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "required": [ - "LogDestination", - "LogDestinationType", - "LogType" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "LogDestinationConfigs": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" - }, - "type": "array" - } - }, - "required": [ - "LogDestinationConfigs" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "RuleGroup": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" - }, - "RuleGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Capacity", - "RuleGroupName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Address": { - "additionalProperties": false, - "properties": { - "AddressDefinition": { - "type": "string" - } - }, - "required": [ - "AddressDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Header": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationPort": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourcePort": { - "type": "string" - } - }, - "required": [ - "Destination", - "DestinationPort", - "Direction", - "Protocol", - "Source", - "SourcePort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.IPSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { - "additionalProperties": false, - "properties": { - "DestinationPorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "Protocols": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SourcePorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "TCPFlags": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MatchAttributes": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" - } - }, - "required": [ - "Actions", - "MatchAttributes" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleGroup": { - "additionalProperties": false, - "properties": { - "RuleVariables": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" - }, - "RulesSource": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" - } - }, - "required": [ - "RulesSource" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleOption": { - "additionalProperties": false, - "properties": { - "Keyword": { - "type": "string" - }, - "Settings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Keyword" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleVariables": { - "additionalProperties": false, - "properties": { - "IPSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" - } - }, - "type": "object" - }, - "PortSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSource": { - "additionalProperties": false, - "properties": { - "RulesSourceList": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" - }, - "RulesString": { - "type": "string" - }, - "StatefulRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" - }, - "type": "array" - }, - "StatelessRulesAndCustomActions": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { - "additionalProperties": false, - "properties": { - "GeneratedRulesType": { - "type": "string" - }, - "TargetTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GeneratedRulesType", - "TargetTypes", - "Targets" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatefulRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Header": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" - }, - "RuleOptions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" - }, - "type": "array" - } - }, - "required": [ - "Action", - "Header", - "RuleOptions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRule": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "RuleDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" - } - }, - "required": [ - "Priority", - "RuleDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { - "additionalProperties": false, - "properties": { - "CustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" - }, - "type": "array" - }, - "StatelessRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" - }, - "type": "array" - } - }, - "required": [ - "StatelessRules" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { - "additionalProperties": false, - "properties": { - "Flags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Masks": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Flags" - ], - "type": "object" - }, - "AWS::NetworkManager::CustomerGatewayAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayArn": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "CustomerGatewayArn", - "DeviceId", - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" - }, - "Model": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "Vendor": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::GlobalNetwork": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::GlobalNetwork" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::NetworkManager::Link": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" - }, - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Link" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Link.Bandwidth": { - "additionalProperties": false, - "properties": { - "DownloadSpeed": { - "type": "number" - }, - "UploadSpeed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::NetworkManager::LinkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::LinkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Site" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::TransitGatewayRegistration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GlobalNetworkId": { - "type": "string" - }, - "TransitGatewayArn": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId", - "TransitGatewayArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchProfileProtocolVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "StreamConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" - }, - "StudioComponentIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2SubnetIds", - "LaunchProfileProtocolVersions", - "Name", - "StreamConfiguration", - "StudioComponentIds", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::LaunchProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { - "additionalProperties": false, - "properties": { - "ClipboardMode": { - "type": "string" - }, - "Ec2InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionLengthInMinutes": { - "type": "number" - }, - "StreamingImageIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClipboardMode", - "Ec2InstanceTypes", - "StreamingImageIds" - ], - "type": "object" - }, - "AWS::NimbleStudio::StreamingImage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2ImageId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2ImageId", - "Name", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StreamingImage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminRoleArn": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "StudioEncryptionConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" - }, - "StudioName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UserRoleArn": { - "type": "string" - } - }, - "required": [ - "AdminRoleArn", - "DisplayName", - "StudioName", - "UserRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" - }, - "Description": { - "type": "string" - }, - "Ec2SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InitializationScripts": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScriptParameters": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Subtype": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StudioId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StudioComponent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "ComputerAttributes": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" - }, - "type": "array" - }, - "DirectoryId": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryUser": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "LinuxMountPoint": { - "type": "string" - }, - "ShareName": { - "type": "string" - }, - "WindowsMountDrive": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" - }, - "ComputeFarmConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" - }, - "LicenseServiceConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" - }, - "SharedFileSystemConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { - "additionalProperties": false, - "properties": { - "LaunchProfileProtocolVersion": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "RunContext": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DataSources": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableSsl": { - "type": "boolean" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Shortname": { - "type": "string" - }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::App.DataSource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Secure": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::OpsWorks::App.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.SslConfiguration": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ElasticLoadBalancerName": { - "type": "string" - }, - "LayerId": { - "type": "string" - } - }, - "required": [ - "ElasticLoadBalancerName", - "LayerId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tenancy": { - "type": "string" - }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { - "type": "string" - }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { - "type": "string" - }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { - "type": "string" - }, - "Packages": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shortname": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" - }, - "type": "array" - } - }, - "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Layer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { - "additionalProperties": false, - "properties": { - "Configure": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Setup": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Undeploy": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "MountPoint": { - "type": "string" - }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" - }, - "CloneAppIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClonePermissions": { - "type": "boolean" - }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" - }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" - }, - "CustomJson": { - "type": "object" - }, - "DefaultAvailabilityZone": { - "type": "string" - }, - "DefaultInstanceProfileArn": { - "type": "string" - }, - "DefaultOs": { - "type": "string" - }, - "DefaultRootDeviceType": { - "type": "string" - }, - "DefaultSshKeyName": { - "type": "string" - }, - "DefaultSubnetId": { - "type": "string" - }, - "EcsClusterArn": { - "type": "string" - }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" - }, - "HostnameTheme": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SourceStackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.ChefConfiguration": { - "additionalProperties": false, - "properties": { - "BerkshelfVersion": { - "type": "string" - }, - "ManageBerkshelf": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.ElasticIp": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.RdsDbInstance": { - "additionalProperties": false, - "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "RdsDbInstanceArn": { - "type": "string" - } - }, - "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { - "type": "string" - }, - "SshPublicKey": { - "type": "string" - }, - "SshUsername": { - "type": "string" - } - }, - "required": [ - "IamUserArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2VolumeId": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StackId": { - "type": "string" - } - }, - "required": [ - "Ec2VolumeId", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BackupId": { - "type": "string" - }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { - "type": "string" - }, - "CustomDomain": { - "type": "string" - }, - "CustomPrivateKey": { - "type": "string" - }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" - }, - "EngineModel": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "InstanceProfileArn": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KeyPair": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServerName": { - "type": "string" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorksCM::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server.EngineAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ADMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ADMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ApplicationSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::BaiduChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::BaiduChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" - }, - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" - }, - "Description": { - "type": "string" - }, - "HoldoutPercent": { - "type": "number" - }, - "IsPaused": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" - }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SegmentId": { - "type": "string" - }, - "SegmentVersion": { - "type": "number" - }, - "Tags": { - "type": "object" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "MessageConfiguration", - "Name", - "Schedule", - "SegmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Campaign" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { - "type": "string" - }, - "HtmlBody": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" - }, - "FilterType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "EntityId": { - "type": "string" - }, - "MessageType": { - "type": "string" - }, - "OriginationNumber": { - "type": "string" - }, - "SenderId": { - "type": "string" - }, - "TemplateId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.EventDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" - }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageSmallIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "JsonBody": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "RawContent": { - "type": "string" - }, - "SilentPush": { - "type": "boolean" - }, - "TimeToLive": { - "type": "number" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { - "additionalProperties": false, - "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" - }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.Schedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" - }, - "IsLocalTime": { - "type": "boolean" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" - }, - "StartTime": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SizePercent": { - "type": "number" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::EmailChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationSet": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "FromAddress", - "Identity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EmailTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultSubstitutions": { - "type": "string" - }, - "HtmlPart": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "required": [ - "Subject", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EventStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "DestinationStreamArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EventStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::GCMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" - }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::PushTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "SmallImageIconUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::SMSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Behavior": { - "additionalProperties": false, - "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Coordinates": { - "additionalProperties": false, - "properties": { - "Latitude": { - "type": "number" - }, - "Longitude": { - "type": "number" - } - }, - "required": [ - "Latitude", - "Longitude" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Demographic": { - "additionalProperties": false, - "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.GPSPoint": { - "additionalProperties": false, - "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" - }, - "RangeInKilometers": { - "type": "number" - } - }, - "required": [ - "Coordinates", - "RangeInKilometers" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Groups": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "type": "array" - }, - "SourceSegments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Location": { - "additionalProperties": false, - "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Recency": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "RecencyType": { - "type": "string" - } - }, - "required": [ - "Duration", - "RecencyType" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" - }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" - }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" - }, - "Metrics": { - "type": "object" - }, - "UserAttributes": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentGroups": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" - }, - "Include": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SourceSegments": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Pinpoint::SmsTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::VoiceChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" - }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamArn": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::Identity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { - "additionalProperties": false, - "properties": { - "BehaviorOnMxFailure": { - "type": "string" - }, - "MailFromDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QLDB::Ledger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "KmsKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PermissionsMode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream.KinesisConfiguration": { - "additionalProperties": false, - "properties": { - "AggregationEnabled": { - "type": "boolean" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalysisId": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "Errors": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - } - }, - "required": [ - "AnalysisId", - "AwsAccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Analysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisError": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Sheet": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SheetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "DashboardId": { - "type": "string" - }, - "DashboardPublishOptions": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "DashboardId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.AdHocFilteringOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardPublishOptions": { - "additionalProperties": false, - "properties": { - "AdHocFilteringOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" - }, - "ExportToCSVOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" - }, - "SheetControlsOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.ExportToCSVOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.SheetControlsOption": { - "additionalProperties": false, - "properties": { - "VisibilityState": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "ColumnGroups": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" - }, - "type": "array" - }, - "ColumnLevelPermissionRules": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" - }, - "type": "array" - }, - "DataSetId": { - "type": "string" - }, - "FieldFolders": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" - } - }, - "type": "object" - }, - "ImportMode": { - "type": "string" - }, - "IngestionWaitPolicy": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" - }, - "LogicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" - }, - "type": "array" - }, - "PhysicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" - } - }, - "type": "object" - }, - "RowLevelPermissionDataSet": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CalculatedColumn": { - "additionalProperties": false, - "properties": { - "ColumnId": { - "type": "string" - }, - "ColumnName": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "ColumnId", - "ColumnName", - "Expression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CastColumnTypeOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "NewColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnType" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnDescription": { - "additionalProperties": false, - "properties": { - "Text": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnGroup": { - "additionalProperties": false, - "properties": { - "GeoSpatialColumnGroup": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnTag": { - "additionalProperties": false, - "properties": { - "ColumnDescription": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" - }, - "ColumnGeographicRole": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.CreateColumnsOperation": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" - }, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CustomSql": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "DataSourceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "Columns", - "DataSourceArn", - "Name", - "SqlQuery" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.FieldFolder": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.FilterOperation": { - "additionalProperties": false, - "properties": { - "ConditionExpression": { - "type": "string" - } - }, - "required": [ - "ConditionExpression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CountryCode": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Columns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.IngestionWaitPolicy": { - "additionalProperties": false, - "properties": { - "IngestionWaitTimeInHours": { - "type": "number" - }, - "WaitForSpiceIngestion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.InputColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinInstruction": { - "additionalProperties": false, - "properties": { - "LeftJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "LeftOperand": { - "type": "string" - }, - "OnClause": { - "type": "string" - }, - "RightJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "RightOperand": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "LeftOperand", - "OnClause", - "RightOperand", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinKeyProperties": { - "additionalProperties": false, - "properties": { - "UniqueKey": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTable": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DataTransforms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" - }, - "type": "array" - }, - "Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" - } - }, - "required": [ - "Alias", - "Source" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTableSource": { - "additionalProperties": false, - "properties": { - "JoinInstruction": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" - }, - "PhysicalTableId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.OutputColumn": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.PhysicalTable": { - "additionalProperties": false, - "properties": { - "CustomSql": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" - }, - "RelationalTable": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" - }, - "S3Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ProjectOperation": { - "additionalProperties": false, - "properties": { - "ProjectedColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ProjectedColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RelationalTable": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "InputColumns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RenameColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "NewColumnName": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnName" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FormatVersion": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "PermissionPolicy": { - "type": "string" - } - }, - "required": [ - "Arn", - "PermissionPolicy" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.S3Source": { - "additionalProperties": false, - "properties": { - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "UploadSettings": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" - } - }, - "required": [ - "DataSourceArn", - "InputColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" - }, - "type": "array" - } - }, - "required": [ - "ColumnName", - "Tags" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TransformOperation": { - "additionalProperties": false, - "properties": { - "CastColumnTypeOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" - }, - "CreateColumnsOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" - }, - "FilterOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" - }, - "ProjectOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" - }, - "RenameColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" - }, - "TagColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.UploadSettings": { - "additionalProperties": false, - "properties": { - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "StartFromRow": { - "type": "number" - }, - "TextQualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "AwsAccountId": { - "type": "string" - }, - "Credentials": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" - }, - "DataSourceId": { - "type": "string" - }, - "DataSourceParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "ErrorInfo": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" - }, - "type": "array" - }, - "SslProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "VpcConnectionProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - } - }, - "required": [ - "Domain" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AthenaParameters": { - "additionalProperties": false, - "properties": { - "WorkGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.CredentialPair": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceCredentials": { - "additionalProperties": false, - "properties": { - "CopySourceArn": { - "type": "string" - }, - "CredentialPair": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceErrorInfo": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceParameters": { - "additionalProperties": false, - "properties": { - "AmazonElasticsearchParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" - }, - "AthenaParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" - }, - "AuroraParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" - }, - "AuroraPostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" - }, - "MariaDbParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" - }, - "MySqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" - }, - "OracleParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" - }, - "PostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" - }, - "PrestoParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" - }, - "RdsParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" - }, - "RedshiftParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" - }, - "S3Parameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" - }, - "SnowflakeParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" - }, - "SparkParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" - }, - "SqlServerParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" - }, - "TeradataParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.ManifestFileLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MariaDbParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MySqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.OracleParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PrestoParameters": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Catalog", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RdsParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "InstanceId": { - "type": "string" - } - }, - "required": [ - "Database", - "InstanceId" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RedshiftParameters": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.S3Parameters": { - "additionalProperties": false, - "properties": { - "ManifestFileLocation": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" - } - }, - "required": [ - "ManifestFileLocation" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SnowflakeParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "Database", - "Host", - "Warehouse" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SparkParameters": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SqlServerParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SslProperties": { - "additionalProperties": false, - "properties": { - "DisableSsl": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.TeradataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.VpcConnectionProperties": { - "additionalProperties": false, - "properties": { - "VpcConnectionArn": { - "type": "string" - } - }, - "required": [ - "VpcConnectionArn" - ], - "type": "object" - }, - "AWS::QuickSight::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "TemplateId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Template.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Template.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceAnalysis": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceAnalysis": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" - }, - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::QuickSight::Theme": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "BaseThemeId": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "ThemeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Theme" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.BorderStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.DataColorPalette": { - "additionalProperties": false, - "properties": { - "Colors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmptyFillColor": { - "type": "string" - }, - "MinMaxGradient": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Font": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.GutterStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.MarginStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.SheetStyle": { - "additionalProperties": false, - "properties": { - "Tile": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" - }, - "TileLayout": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeConfiguration": { - "additionalProperties": false, - "properties": { - "DataColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" - }, - "Sheet": { - "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" - }, - "Typography": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" - }, - "UIColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileLayoutStyle": { - "additionalProperties": false, - "properties": { - "Gutter": { - "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" - }, - "Margin": { - "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileStyle": { - "additionalProperties": false, - "properties": { - "Border": { - "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Typography": { - "additionalProperties": false, - "properties": { - "FontFamilies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Font" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.UIColorPalette": { - "additionalProperties": false, - "properties": { - "Accent": { - "type": "string" - }, - "AccentForeground": { - "type": "string" - }, - "Danger": { - "type": "string" - }, - "DangerForeground": { - "type": "string" - }, - "Dimension": { - "type": "string" - }, - "DimensionForeground": { - "type": "string" - }, - "Measure": { - "type": "string" - }, - "MeasureForeground": { - "type": "string" - }, - "PrimaryBackground": { - "type": "string" - }, - "PrimaryForeground": { - "type": "string" - }, - "SecondaryBackground": { - "type": "string" - }, - "SecondaryForeground": { - "type": "string" - }, - "Success": { - "type": "string" - }, - "SuccessForeground": { - "type": "string" - }, - "Warning": { - "type": "string" - }, - "WarningForeground": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RAM::ResourceShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::RDS::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" - }, - "type": "array" - }, - "PromotionTier": { - "type": "number" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SourceDBInstanceIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "DebugLogging": { - "type": "boolean" - }, - "EngineFamily": { - "type": "string" - }, - "IdleClientTimeout": { - "type": "number" - }, - "RequireTLS": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Auth", - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy.AuthFormat": { - "additionalProperties": false, - "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxy.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBProxyEndpointName": { - "type": "string" - }, - "DBProxyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" - }, - "type": "array" - }, - "TargetRole": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBProxyEndpointName", - "DBProxyName", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "TargetGroupName": { - "type": "string" - } - }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { - "additionalProperties": false, - "properties": { - "ConnectionBorrowTimeout": { - "type": "number" - }, - "InitQuery": { - "type": "string" - }, - "MaxConnectionsPercent": { - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "type": "number" - }, - "SessionPinningFilters": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::GlobalCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::OptionGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "type": "boolean" - }, - "AutomatedSnapshotRetentionPeriod": { - "type": "number" - }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" - }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "OwnerAccount": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Cluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster.LoggingProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupFamily": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceGroups::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationItem": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.Query": { - "additionalProperties": false, - "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackIdentifier": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ResourceQuery": { - "additionalProperties": false, - "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RoboMaker::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RoboMaker::Robot": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "Fleet": { - "type": "string" - }, - "GreengrassGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Architecture", - "GreengrassGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Robot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RobotSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::DNSSEC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "HostedZoneId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::DNSSEC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckConfig": { - "type": "object" - }, - "HealthCheckTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" - }, - "type": "array" - } - }, - "required": [ - "HealthCheckConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HealthCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" - }, - "VPCs": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HostedZone" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - }, - "AWS::Route53::KeySigningKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - }, - "KeyManagementServiceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::KeySigningKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryControl::ControlPanel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::RoutingControl": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "ControlPanelArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssertionRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" - }, - "ControlPanelArn": { - "type": "string" - }, - "GatingRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" - }, - "Name": { - "type": "string" - }, - "RuleConfig": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" - } - }, - "required": [ - "ControlPanelArn", - "Name", - "RuleConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { - "additionalProperties": false, - "properties": { - "AssertedControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "AssertedControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { - "additionalProperties": false, - "properties": { - "GatingControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TargetControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "GatingControls", - "TargetControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { - "additionalProperties": false, - "properties": { - "Inverted": { - "type": "boolean" - }, - "Threshold": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Inverted", - "Threshold", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::Cell": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CellName": { - "type": "string" - }, - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CellName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::Cell" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ReadinessCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReadinessCheckName": { - "type": "string" - }, - "ResourceSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReadinessCheckName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::RecoveryGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RecoveryGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RecoveryGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceSetName": { - "type": "string" - }, - "ResourceSetType": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceSetName", - "ResourceSetType", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneArn": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - }, - "RecordType": { - "type": "string" - }, - "TargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { - "additionalProperties": false, - "properties": { - "ComponentId": { - "type": "string" - }, - "DnsTargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" - }, - "ReadinessScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { - "additionalProperties": false, - "properties": { - "NLBResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" - }, - "R53Resource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::FirewallDomainList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainFileUrl": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallDomainList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRules": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "BlockOverrideDnsType": { - "type": "string" - }, - "BlockOverrideDomain": { - "type": "string" - }, - "BlockOverrideTtl": { - "type": "number" - }, - "BlockResponse": { - "type": "string" - }, - "FirewallDomainListId": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Action", - "FirewallDomainListId", - "Priority" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRuleGroupId": { - "type": "string" - }, - "MutationProtection": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallRuleGroupId", - "Priority", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Direction": { - "type": "string" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResolverQueryLogConfigId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RuleType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ResolverRuleId": { - "type": "string" - }, - "VPCId": { - "type": "string" - } - }, - "required": [ - "ResolverRuleId", - "VPCId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "PolicyStatus": { - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" - }, - "AccessControl": { - "type": "string" - }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { - "type": "string" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "IntelligentTieringConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" - }, - "type": "array" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "type": "boolean" - }, - "OwnershipControls": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "MaxAge": { - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "OutputSchemaVersion": { - "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" - }, - "BucketArn": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { - "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.IntelligentTieringConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Tierings": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Tiering" - }, - "type": "array" - } - }, - "required": [ - "Id", - "Status", - "Tierings" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "IncludedObjectVersions": { - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "ScheduleFrequency": { - "type": "string" - } - }, - "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3::Bucket.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Function": { - "type": "string" - } - }, - "required": [ - "Event", - "Function" - ], - "type": "object" - }, - "AWS::S3::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationBucketName": { - "type": "string" - }, - "LogFilePrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Metrics": { - "additionalProperties": false, - "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.MetricsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass", - "TransitionInDays" - ], - "type": "object" - }, - "AWS::S3::Bucket.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" - }, - "QueueConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" - }, - "type": "array" - }, - "TopicConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockConfiguration": { - "additionalProperties": false, - "properties": { - "ObjectLockEnabled": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockRule": { - "additionalProperties": false, - "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControls": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControlsRule": { - "additionalProperties": false, - "properties": { - "ObjectOwnership": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Queue": { - "type": "string" - } - }, - "required": [ - "Event", - "Queue" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "HostName" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectRule": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "HttpRedirectCode": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ReplaceKeyPrefixWith": { - "type": "string" - }, - "ReplaceKeyWith": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Role": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Role", - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { - "type": "string" - }, - "Bucket": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" - }, - "StorageClass": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRule": { - "additionalProperties": false, - "properties": { - "DeleteMarkerReplication": { - "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" - }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" - }, - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Destination", - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { - "additionalProperties": false, - "properties": { - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleFilter": { - "additionalProperties": false, - "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" - }, - "Prefix": { - "type": "string" - }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTime": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - } - }, - "required": [ - "Status", - "Time" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTimeValue": { - "additionalProperties": false, - "properties": { - "Minutes": { - "type": "number" - } - }, - "required": [ - "Minutes" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRule": { - "additionalProperties": false, - "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" - }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" - } - }, - "required": [ - "RedirectRule" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRuleCondition": { - "additionalProperties": false, - "properties": { - "HttpErrorCodeReturnedEquals": { - "type": "string" - }, - "KeyPrefixEquals": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "ExpiredObjectDeleteMarker": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "NoncurrentVersionExpirationInDays": { - "type": "number" - }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.S3KeyFilter": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyID": { - "type": "string" - }, - "SSEAlgorithm": { - "type": "string" - } - }, - "required": [ - "SSEAlgorithm" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "BucketKeyEnabled": { - "type": "boolean" - }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SourceSelectionCriteria": { - "additionalProperties": false, - "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.Tiering": { - "additionalProperties": false, - "properties": { - "AccessTier": { - "type": "string" - }, - "Days": { - "type": "number" - } - }, - "required": [ - "AccessTier", - "Days" - ], - "type": "object" - }, - "AWS::S3::Bucket.TopicConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "Event", - "Topic" - ], - "type": "object" - }, - "AWS::S3::Bucket.Transition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionDate": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass" - ], - "type": "object" - }, - "AWS::S3::Bucket.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.WebsiteConfiguration": { - "additionalProperties": false, - "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" - }, - "RoutingRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StorageLensConfiguration": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StorageLensConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::StorageLens" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens.AccountLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "BucketLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" - } - }, - "required": [ - "BucketLevel" - ], - "type": "object" - }, - "AWS::S3::StorageLens.ActivityMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AwsOrg": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::S3::StorageLens.BucketLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "PrefixLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.BucketsAndRegions": { - "additionalProperties": false, - "properties": { - "Buckets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.DataExport": { - "additionalProperties": false, - "properties": { - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" - } - }, - "required": [ - "S3BucketDestination" - ], - "type": "object" - }, - "AWS::S3::StorageLens.Encryption": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevel": { - "additionalProperties": false, - "properties": { - "StorageMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" - } - }, - "required": [ - "StorageMetrics" - ], - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - }, - "SelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.S3BucketDestination": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "Arn": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" - }, - "Format": { - "type": "string" - }, - "OutputSchemaVersion": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "AccountId", - "Arn", - "Format", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SelectionCriteria": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "MaxDepth": { - "type": "number" - }, - "MinStorageBytesPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensConfiguration": { - "additionalProperties": false, - "properties": { - "AccountLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" - }, - "AwsOrg": { - "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" - }, - "DataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" - }, - "Exclude": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "Id": { - "type": "string" - }, - "Include": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "IsEnabled": { - "type": "boolean" - }, - "StorageLensArn": { - "type": "string" - } - }, - "required": [ - "AccountLevel", - "Id", - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectLambdaConfiguration": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedFeatures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "SupportingAccessPoint": { - "type": "string" - }, - "TransformationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SupportingAccessPoint", - "TransformationConfigurations" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentTransformation": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPointPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ObjectLambdaAccessPoint": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "ObjectLambdaAccessPoint", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket", - "Name", - "VpcConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" - }, - "OutpostId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BucketName", - "OutpostId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "Filter": { - "type": "object" - }, - "Id": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessType": { - "type": "string" - }, - "CustomerOwnedIpv4Pool": { - "type": "string" - }, - "OutpostId": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "OutpostId", - "SecurityGroupId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint.NetworkInterface": { - "additionalProperties": false, - "properties": { - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "NetworkInterfaceId" - ], - "type": "object" - }, - "AWS::SDB::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SDB::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamARN", - "IAMRoleARN" - ], - "type": "object" - }, - "AWS::SES::ContactList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactListName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Topics": { - "items": { - "$ref": "#/definitions/AWS::SES::ContactList.Topic" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ContactList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ContactList.Topic": { - "additionalProperties": false, - "properties": { - "DefaultSubscriptionStatus": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "TopicName": { - "type": "string" - } - }, - "required": [ - "DefaultSubscriptionStatus", - "DisplayName", - "TopicName" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" - } - }, - "required": [ - "Filter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.Filter": { - "additionalProperties": false, - "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Policy": { - "type": "string" - } - }, - "required": [ - "Cidr", - "Policy" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "After": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "Rule", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Action": { - "additionalProperties": false, - "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" - }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.AddHeaderAction": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.BounceAction": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Sender": { - "type": "string" - }, - "SmtpReplyCode": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Message", - "Sender", - "SmtpReplyCode" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "InvocationType": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Rule": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScanEnabled": { - "type": "boolean" - }, - "TlsPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "ObjectKeyPrefix": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.SNSAction": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { - "additionalProperties": false, - "properties": { - "Scope": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Scope" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.WorkmailAction": { - "additionalProperties": false, - "properties": { - "OrganizationArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "OrganizationArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template.Template": { - "additionalProperties": false, - "properties": { - "HtmlPart": { - "type": "string" - }, - "SubjectPart": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SNS::Subscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SNS::Topic": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { - "type": "string" - }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Topic" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SNS::Topic.Subscription": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Protocol" - ], - "type": "object" - }, - "AWS::SNS::TopicPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Topics" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::TopicPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SQS::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DeduplicationScope": { - "type": "string" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "FifoThroughputLimit": { - "type": "string" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { - "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SQS::QueuePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Queues" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::QueuePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" - }, - "AssociationName": { - "type": "string" - }, - "AutomationTargetParameterName": { - "type": "string" - }, - "CalendarNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ComplianceSeverity": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "ScheduleExpression": { - "type": "string" - }, - "SyncCompliance": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Association" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" - } - }, - "type": "object" - }, - "AWS::SSM::Association.S3OutputLocation": { - "additionalProperties": false, - "properties": { - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "OutputS3Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::Association.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::Document": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attachments": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" - }, - "type": "array" - }, - "Content": { - "type": "object" - }, - "DocumentFormat": { - "type": "string" - }, - "DocumentType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Requires": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "VersionName": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Document" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Document.AttachmentsSource": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::Document.DocumentRequires": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Duration": { - "type": "number" - }, - "EndDate": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleTimezone": { - "type": "string" - }, - "StartDate": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerInformation": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" - }, - "type": "array" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "Targets", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" - }, - "type": "array" - }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { - "type": "string" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "Priority", - "TaskArn", - "TaskType", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - } - }, - "required": [ - "Region", - "S3Bucket" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { - "additionalProperties": false, - "properties": { - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { - "additionalProperties": false, - "properties": { - "ClientContext": { - "type": "string" - }, - "Payload": { - "type": "string" - }, - "Qualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" - }, - "DocumentHashType": { - "type": "string" - }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" - }, - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TimeoutSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { - "additionalProperties": false, - "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NotificationType": { - "type": "string" - } - }, - "required": [ - "NotificationArn" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" - }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" - } - }, - "type": "object" - }, - "AWS::SSM::Parameter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - }, - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatchesAction": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::PatchBaseline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { - "additionalProperties": false, - "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchSource": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchStringDate": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SSM::PatchBaseline.Rule": { - "additionalProperties": false, - "properties": { - "ApproveAfterDays": { - "type": "number" - }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" - }, - "ComplianceLevel": { - "type": "string" - }, - "EnableNonSecurity": { - "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.RuleGroup": { - "additionalProperties": false, - "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::ResourceDataSync": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" - }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" - }, - "SyncType": { - "type": "string" - } - }, - "required": [ - "SyncName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::ResourceDataSync" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { - "additionalProperties": false, - "properties": { - "OrganizationSourceType": { - "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OrganizationSourceType" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "SyncFormat": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.SyncSource": { - "additionalProperties": false, - "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SourceRegions", - "SourceType" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "Plan": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Alias", - "DisplayName", - "Plan", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::Contact" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ChannelTargetInfo": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - }, - "RetryIntervalInMinutes": { - "type": "number" - } - }, - "required": [ - "ChannelId", - "RetryIntervalInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ContactTargetInfo": { - "additionalProperties": false, - "properties": { - "ContactId": { - "type": "string" - }, - "IsEssential": { - "type": "boolean" - } - }, - "required": [ - "ContactId", - "IsEssential" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Stage": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "type": "number" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" - }, - "type": "array" - } - }, - "required": [ - "DurationInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Targets": { - "additionalProperties": false, - "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" - }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" - } - }, - "type": "object" - }, - "AWS::SSMContacts::ContactChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelAddress": { - "type": "string" - }, - "ChannelName": { - "type": "string" - }, - "ChannelType": { - "type": "string" - }, - "ContactId": { - "type": "string" - }, - "DeferActivation": { - "type": "boolean" - } - }, - "required": [ - "ChannelAddress", - "ChannelName", - "ChannelType", - "ContactId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::ContactChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtected": { - "type": "boolean" - }, - "Regions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" - }, - "type": "array" - } - }, - "required": [ - "Regions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ReplicationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { - "additionalProperties": false, - "properties": { - "SseKmsKeyId": { - "type": "string" - } - }, - "required": [ - "SseKmsKeyId" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { - "additionalProperties": false, - "properties": { - "RegionConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" - }, - "RegionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" - }, - "type": "array" - }, - "ChatChannel": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" - }, - "DisplayName": { - "type": "string" - }, - "Engagements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncidentTemplate": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IncidentTemplate", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ResponsePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.Action": { - "additionalProperties": false, - "properties": { - "SsmAutomation": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.ChatChannel": { - "additionalProperties": false, - "properties": { - "ChatbotSns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { - "additionalProperties": false, - "properties": { - "DedupeString": { - "type": "string" - }, - "Impact": { - "type": "number" - }, - "NotificationTargets": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" - }, - "type": "array" - }, - "Summary": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "required": [ - "Impact", - "Title" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { - "additionalProperties": false, - "properties": { - "SnsTopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { - "additionalProperties": false, - "properties": { - "DocumentName": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TargetAccount": { - "type": "string" - } - }, - "required": [ - "DocumentName", - "RoleArn" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSO::Assignment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceArn": { - "type": "string" - }, - "PermissionSetArn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::Assignment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessControlAttributes": { - "items": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" - }, - "type": "array" - }, - "InstanceArn": { - "type": "string" - } - }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { - "additionalProperties": false, - "properties": { - "Source": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::SSO::PermissionSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InlinePolicy": { - "type": "object" - }, - "InstanceArn": { - "type": "string" - }, - "ManagedPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::PermissionSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppName": { - "type": "string" - }, - "AppType": { - "type": "string" - }, - "DomainId": { - "type": "string" - }, - "ResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - } - }, - "required": [ - "AppName", - "AppType", - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "KernelGatewayImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppImageConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::AppImageConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "DefaultGid": { - "type": "number" - }, - "DefaultUid": { - "type": "number" - }, - "MountPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { - "additionalProperties": false, - "properties": { - "FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" - }, - "KernelSpecs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" - }, - "type": "array" - } - }, - "required": [ - "KernelSpecs" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelSpec": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeRepositoryName": { - "type": "string" - }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GitConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::CodeRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" - }, - "DataQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" - }, - "DataQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" - }, - "DataQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" - }, - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataQualityAppSpecification", - "DataQualityJobInput", - "DataQualityJobOutputConfig", - "JobResources", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "object" - }, - "DeviceFleetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Device.Device": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceName": { - "type": "string" - }, - "IotThingName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceFleetName": { - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName", - "OutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DeviceFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3OutputLocation": { - "type": "string" - } - }, - "required": [ - "S3OutputLocation" - ], - "type": "object" - }, - "AWS::SageMaker::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppNetworkAccessType": { - "type": "string" - }, - "AuthMode": { - "type": "string" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" - }, - "DomainName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.AutoRollbackConfig": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" - }, - "type": "array" - } - }, - "required": [ - "Alarms" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { - "additionalProperties": false, - "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "number" - }, - "TerminationWaitInSeconds": { - "type": "number" - }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" - } - }, - "required": [ - "TrafficRoutingConfiguration" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.CapacitySize": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.DeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" - }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" - } - }, - "required": [ - "BlueGreenUpdatePolicy" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { - "additionalProperties": false, - "properties": { - "CanarySize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" - }, - "Type": { - "type": "string" - }, - "WaitIntervalInSeconds": { - "type": "number" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProductionVariants" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::EndpointConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { - "additionalProperties": false, - "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { - "additionalProperties": false, - "properties": { - "CaptureMode": { - "type": "string" - } - }, - "required": [ - "CaptureMode" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { - "additionalProperties": false, - "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" - }, - "type": "array" - }, - "DestinationS3Uri": { - "type": "string" - }, - "EnableCapture": { - "type": "boolean" - }, - "InitialSamplingPercentage": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - } - }, - "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { - "additionalProperties": false, - "properties": { - "AcceleratorType": { - "type": "string" - }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "VariantName": { - "type": "string" - } - }, - "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventTimeFeatureName": { - "type": "string" - }, - "FeatureDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" - }, - "type": "array" - }, - "FeatureGroupName": { - "type": "string" - }, - "OfflineStoreConfig": { - "type": "object" - }, - "OnlineStoreConfig": { - "type": "object" - }, - "RecordIdentifierFeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventTimeFeatureName", - "FeatureDefinitions", - "FeatureGroupName", - "RecordIdentifierFeatureName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::FeatureGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.FeatureDefinition": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "FeatureType": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "FeatureType" - ], - "type": "object" - }, - "AWS::SageMaker::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImageDescription": { - "type": "string" - }, - "ImageDisplayName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ImageName", - "ImageRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ImageVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaseImage": { - "type": "string" - }, - "ImageName": { - "type": "string" - } - }, - "required": [ - "BaseImage", - "ImageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ImageVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "type": "array" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" - } - }, - "required": [ - "ExecutionRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { - "type": "string" - }, - "ModelDataUrl": { - "type": "string" - }, - "ModelPackageName": { - "type": "string" - }, - "MultiModelConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.ImageConfig": { - "additionalProperties": false, - "properties": { - "RepositoryAccessMode": { - "type": "string" - }, - "RepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" - } - }, - "required": [ - "RepositoryAccessMode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.MultiModelConfig": { - "additionalProperties": false, - "properties": { - "ModelCacheSetting": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.RepositoryAuthConfig": { - "additionalProperties": false, - "properties": { - "RepositoryCredentialsProviderArn": { - "type": "string" - } - }, - "required": [ - "RepositoryCredentialsProviderArn" - ], - "type": "object" - }, - "AWS::SageMaker::Model.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" - }, - "ModelBiasAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" - }, - "ModelBiasBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" - }, - "ModelBiasJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" - }, - "ModelBiasJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelBiasAppSpecification", - "ModelBiasJobInput", - "ModelBiasJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" - }, - "ModelExplainabilityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" - }, - "ModelExplainabilityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" - }, - "ModelExplainabilityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" - }, - "ModelExplainabilityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelExplainabilityAppSpecification", - "ModelExplainabilityJobInput", - "ModelExplainabilityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelPackageGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModelPackageGroupDescription": { - "type": "string" - }, - "ModelPackageGroupName": { - "type": "string" - }, - "ModelPackageGroupPolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ModelPackageGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelPackageGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" - }, - "ModelQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" - }, - "ModelQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" - }, - "ModelQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" - }, - "ModelQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelQualityAppSpecification", - "ModelQualityJobInput", - "ModelQualityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "ProblemType": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri", - "ProblemType" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" - }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "MonitoringScheduleStatus": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::MonitoringSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { - "additionalProperties": false, - "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { - "additionalProperties": false, - "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastModifiedTime": { - "type": "string" - }, - "MonitoringExecutionStatus": { - "type": "string" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "ProcessingJobArn": { - "type": "string" - }, - "ScheduledTime": { - "type": "string" - } - }, - "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { - "additionalProperties": false, - "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" - }, - "MonitoringJobDefinitionName": { - "type": "string" - }, - "MonitoringType": { - "type": "string" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineDefinition": { - "type": "object" - }, - "PipelineDescription": { - "type": "string" - }, - "PipelineDisplayName": { - "type": "string" - }, - "PipelineName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineDefinition", - "PipelineName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "ServiceCatalogProvisioningDetails": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProjectName", - "ServiceCatalogProvisioningDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainId": { - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "type": "string" - }, - "SingleSignOnUserValue": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" - } - }, - "required": [ - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlockPublicPolicy": { - "type": "boolean" - }, - "ResourcePolicy": { - "type": "object" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "ResourcePolicy", - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "SecretId", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Api": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::Api.Auth" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" - }, - "Cors": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" - } - ] - }, - "DefinitionBody": { - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" - }, - "GatewayResponses": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MethodSettings": { - "items": { - "type": "object" - }, - "type": "array" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "Models": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "OpenApiVersion": { - "type": "string" - }, - "StageName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "StageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::Api" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Api.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Api.Auth": { - "additionalProperties": false, - "properties": { - "Authorizers": { - "type": "object" - }, - "DefaultAuthorizer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Api.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::Serverless::Api.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "type": "string" - }, - "AllowMethods": { - "type": "string" - }, - "AllowOrigin": { - "type": "string" - }, - "MaxAge": { - "type": "string" - } - }, - "required": [ - "AllowOrigin" - ], - "type": "object" - }, - "AWS::Serverless::Api.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "VpcEndpointIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Serverless::Api.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key", - "Version" - ], - "type": "object" - }, - "AWS::Serverless::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Location": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Application.ApplicationLocation" - } - ] - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Serverless::Application.ApplicationLocation": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "SemanticVersion": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "SemanticVersion" - ], - "type": "object" - }, - "AWS::Serverless::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "AutoPublishAlias": { - "type": "string" - }, - "AutoPublishCodeSha256": { - "type": "string" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "CodeUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Location" - } - ] - }, - "DeadLetterQueue": { - "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" - }, - "DeploymentPreference": { - "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" - }, - "EventInvokeConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::Function.EventSource" - } - }, - "type": "object" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" - }, - "ImageUri": { - "type": "string" - }, - "InlineCode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ProvisionedConcurrencyConfig" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "Tracing": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Function.AlexaSkillEvent": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.ApiEvent": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::Serverless::Function.Auth" - }, - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::Function.Auth": { - "additionalProperties": false, - "properties": { - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Authorizer": { - "type": "string" - }, - "ResourcePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.AuthResourcePolicy" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.AuthResourcePolicy": { - "additionalProperties": false, - "properties": { - "AwsAccountBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AwsAccountWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomStatements": { - "items": { - "type": "object" - }, - "type": "array" - }, - "IntrinsicVpcBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IntrinsicVpcWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IntrinsicVpceBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IntrinsicVpceWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IpRangeBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IpRangeWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceVpcBlacklist": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceVpcWhitelist": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.BucketSAMPT": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.CloudWatchLogsEvent": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - } - }, - "required": [ - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Serverless::Function.CollectionSAMPT": { - "additionalProperties": false, - "properties": { - "CollectionId": { - "type": "string" - } - }, - "required": [ - "CollectionId" - ], - "type": "object" - }, - "AWS::Serverless::Function.DeadLetterQueue": { - "additionalProperties": false, - "properties": { - "TargetArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "TargetArn", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Function.DeploymentPreference": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Hooks": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Role": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.Destination": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Serverless::Function.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Serverless::Function.Destination" - }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Serverless::Function.Destination" - } - }, - "required": [ - "OnFailure", - "OnSuccess" - ], - "type": "object" - }, - "AWS::Serverless::Function.DomainSAMPT": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "AWS::Serverless::Function.DynamoDBEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "StartingPosition": { - "type": "string" - }, - "Stream": { - "type": "string" - } - }, - "required": [ - "StartingPosition", - "Stream" - ], - "type": "object" - }, - "AWS::Serverless::Function.EmptySAMPT": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Serverless::Function.EventBridgeRuleEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::Function.EventInvokeConfig": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.DestinationConfig" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Event" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.SNSEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.SQSEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.KinesisEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.DynamoDBEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ApiEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.ScheduleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchEventEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.CloudWatchLogsEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.IoTRuleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.AlexaSkillEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.EventBridgeRuleEvent" - } - ] - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Properties", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::Function.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "LocalMountPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.FunctionEnvironment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Variables" - ], - "type": "object" - }, - "AWS::Serverless::Function.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::Function.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { - "type": "object" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::Serverless::Function.IdentitySAMPT": { - "additionalProperties": false, - "properties": { - "IdentityName": { - "type": "string" - } - }, - "required": [ - "IdentityName" - ], - "type": "object" - }, - "AWS::Serverless::Function.ImageConfig": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.IoTRuleEvent": { - "additionalProperties": false, - "properties": { - "AwsIotSqlVersion": { - "type": "string" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Sql" - ], - "type": "object" - }, - "AWS::Serverless::Function.KeySAMPT": { - "additionalProperties": false, - "properties": { - "KeyId": { - "type": "string" - } - }, - "required": [ - "KeyId" - ], - "type": "object" - }, - "AWS::Serverless::Function.KinesisEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "StartingPosition": { - "type": "string" - }, - "Stream": { - "type": "string" - } - }, - "required": [ - "StartingPosition", - "Stream" - ], - "type": "object" - }, - "AWS::Serverless::Function.LogGroupSAMPT": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "required": [ - "LogGroupName" - ], - "type": "object" - }, - "AWS::Serverless::Function.ProvisionedConcurrencyConfig": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "string" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::Serverless::Function.QueueSAMPT": { - "additionalProperties": false, - "properties": { - "QueueName": { - "type": "string" - } - }, - "required": [ - "QueueName" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3Event": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Events": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - }, - "Filter": { - "$ref": "#/definitions/AWS::Serverless::Function.S3NotificationFilter" - } - }, - "required": [ - "Bucket", - "Events" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3KeyFilter": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3KeyFilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::Function.S3NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::Serverless::Function.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::Serverless::Function.SAMPolicyTemplate": { - "additionalProperties": false, - "properties": { - "AMIDescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudFormationDescribeStacksPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "CloudWatchPutMetricPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "DynamoDBCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableSAMPT" - }, - "DynamoDBStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TableStreamSAMPT" - }, - "EC2DescribePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "ElasticsearchHttpPostPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.DomainSAMPT" - }, - "FilterLogEventsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.LogGroupSAMPT" - }, - "KMSDecryptPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.KeySAMPT" - }, - "KinesisCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, - "KinesisStreamReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StreamSAMPT" - }, - "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionSAMPT" - }, - "RekognitionDetectOnlyPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionLabelsPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "RekognitionNoDataAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "RekognitionWriteOnlyAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.CollectionSAMPT" - }, - "S3CrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "S3ReadPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.BucketSAMPT" - }, - "SESBulkTemplatedCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SESEmailTemplateCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - }, - "SESSendBouncePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.IdentitySAMPT" - }, - "SNSCrudPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SNSPublishMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.TopicSAMPT" - }, - "SQSPollerPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" - }, - "SQSSendMessagePolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.QueueSAMPT" - }, - "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.StateMachineSAMPT" - }, - "VPCAccessPolicy": { - "$ref": "#/definitions/AWS::Serverless::Function.EmptySAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::Function.SNSEvent": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - } - }, - "required": [ - "Topic" - ], - "type": "object" - }, - "AWS::Serverless::Function.SQSEvent": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "Queue": { - "type": "string" - } - }, - "required": [ - "Queue" - ], - "type": "object" - }, - "AWS::Serverless::Function.ScheduleEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Schedule": { - "type": "string" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::Serverless::Function.StateMachineSAMPT": { - "additionalProperties": false, - "properties": { - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "StateMachineName" - ], - "type": "object" - }, - "AWS::Serverless::Function.StreamSAMPT": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "required": [ - "StreamName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TableSAMPT": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TableStreamSAMPT": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "StreamName", - "TableName" - ], - "type": "object" - }, - "AWS::Serverless::Function.TopicSAMPT": { - "additionalProperties": false, - "properties": { - "TopicName": { - "type": "string" - } - }, - "required": [ - "TopicName" - ], - "type": "object" - }, - "AWS::Serverless::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Serverless::HttpApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" - }, - "CorsConfiguration": { - "anyOf": [ - { - "type": [ - "boolean" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" - } - ] - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "DefinitionBody": { - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "Domain": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "RouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "StageName": { - "type": "string" - }, - "StageVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::HttpApi" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::HttpApi.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.CorsConfigurationObject": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "type": "string" - }, - "AllowMethods": { - "type": "string" - }, - "AllowOrigin": { - "type": "string" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAge": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.HttpApiAuth": { - "additionalProperties": false, - "properties": { - "Authorizers": { - "type": "object" - }, - "DefaultAuthorizer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.HttpApiDomainConfiguration": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "type": "string" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.MutualTlsAuthentication" - }, - "Route53": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.Route53Configuration" - }, - "SecurityPolicy": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "DomainName" - ], - "type": "object" - }, - "AWS::Serverless::HttpApi.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.Route53Configuration": { - "additionalProperties": false, - "properties": { - "DistributedDomainName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "IpV6": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Serverless::HttpApi.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key", - "Version" - ], - "type": "object" - }, - "AWS::Serverless::LayerVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::LayerVersion.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "LayerName": { - "type": "string" - }, - "LicenseInfo": { - "type": "string" - }, - "RetentionPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::LayerVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::LayerVersion.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PrimaryKey": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.PrimaryKey" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::SimpleTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.PrimaryKey": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::Serverless::SimpleTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Serverless::StateMachine": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Definition": { - "type": "object" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.S3Location" - } - ] - }, - "Events": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventSource" - } - }, - "type": "object" - }, - "Logging": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LoggingConfiguration" - }, - "Name": { - "type": "string" - }, - "PermissionsBoundaries": { - "type": "string" - }, - "Policies": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.IAMPolicyDocument" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.SAMPolicyTemplate" - }, - "type": "array" - } - ] - }, - "Role": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tracing": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.TracingConfiguration" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Serverless::StateMachine" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.ApiEvent": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Method", - "Path" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchEventEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "required": [ - "LogGroupArn" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.EventBridgeRuleEvent": { - "additionalProperties": false, - "properties": { - "EventBusName": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "Pattern": { - "type": "object" - } - }, - "required": [ - "Pattern" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.EventSource": { - "additionalProperties": false, - "properties": { - "Properties": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchEventEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.EventBridgeRuleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ScheduleEvent" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine.ApiEvent" - } - ] - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Properties", - "Type" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.FunctionSAMPT": { - "additionalProperties": false, - "properties": { - "FunctionName": { - "type": "string" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.IAMPolicyDocument": { - "additionalProperties": false, - "properties": { - "Statement": { - "type": "object" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.CloudWatchLogsLogGroup" - } - }, - "required": [ - "CloudWatchLogsLogGroup" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "required": [ - "Destinations", - "IncludeExecutionData", - "Level" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.SAMPolicyTemplate": { - "additionalProperties": false, - "properties": { - "LambdaInvokePolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.FunctionSAMPT" - }, - "StepFunctionsExecutionPolicy": { - "$ref": "#/definitions/AWS::Serverless::StateMachine.StateMachineSAMPT" - } - }, - "type": "object" - }, - "AWS::Serverless::StateMachine.ScheduleEvent": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Schedule": { - "type": "string" - } - }, - "required": [ - "Schedule" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.StateMachineSAMPT": { - "additionalProperties": false, - "properties": { - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "StateMachineName" - ], - "type": "object" - }, - "AWS::Serverless::StateMachine.TracingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { - "type": "string" - }, - "SupportUrl": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ProvisioningArtifactName": { - "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - } - }, - "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocalRoleName": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::Portfolio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DisplayName", - "ProviderName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::Portfolio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "SourcePortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountId": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ShareTagOptions": { - "type": "boolean" - } - }, - "required": [ - "AccountId", - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "TagUpdateOnProvisionedProduct": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Definition": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" - }, - "type": "array" - }, - "DefinitionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Definition", - "DefinitionType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceActionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProductId": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ServiceActionId": { - "type": "string" - } - }, - "required": [ - "ProductId", - "ProvisioningArtifactId", - "ServiceActionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceActionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::StackSetConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { - "type": "string" - } - }, - "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Active": { - "type": "boolean" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOptionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - }, - "TagOptionId": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "TagOptionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Attributes", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "AttributeGroup": { - "type": "string" - } - }, - "required": [ - "Application", - "AttributeGroup" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "Application", - "Resource", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::ResourceAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::HttpNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { - "type": "string" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "InstanceAttributes", - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Vpc": { - "type": "string" - } - }, - "required": [ - "Name", - "Vpc" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { - "type": "string" - }, - "NamespaceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsConfig": { - "additionalProperties": false, - "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Signer::ProfilePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "Action", - "Principal", - "ProfileName", - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::ProfilePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PlatformId": { - "type": "string" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PlatformId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::SigningProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile.SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::StepFunctions::Activity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::Activity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::Activity.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Definition": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" - }, - "DefinitionS3Location": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" - }, - "DefinitionString": { - "type": "string" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - }, - "StateMachineType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" - }, - "type": "array" - }, - "TracingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::StateMachine" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.Definition": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TracingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactS3Location": { - "type": "string" - }, - "Code": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Code" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FailureRetentionPeriod": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RunConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" - }, - "RuntimeVersion": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" - }, - "StartCanaryAfterCreation": { - "type": "boolean" - }, - "SuccessRetentionPeriod": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" - }, - "VisualReference": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" - } - }, - "required": [ - "ArtifactS3Location", - "Code", - "ExecutionRoleArn", - "Name", - "RuntimeVersion", - "Schedule", - "StartCanaryAfterCreation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Synthetics::Canary" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.BaseScreenshot": { - "additionalProperties": false, - "properties": { - "IgnoreCoordinates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScreenshotName": { - "type": "string" - } - }, - "required": [ - "ScreenshotName" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.Code": { - "additionalProperties": false, - "properties": { - "Handler": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "required": [ - "Handler" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.RunConfig": { - "additionalProperties": false, - "properties": { - "ActiveTracing": { - "type": "boolean" - }, - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MemoryInMB": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary.Schedule": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VPCConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VisualReference": { - "additionalProperties": false, - "properties": { - "BaseCanaryRunId": { - "type": "string" - }, - "BaseScreenshots": { - "items": { - "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" - }, - "type": "array" - } - }, - "required": [ - "BaseCanaryRunId" - ], - "type": "object" - }, - "AWS::Timestream::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Timestream::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "RetentionProperties": { - "type": "object" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Domain": { - "type": "string" - }, - "EndpointDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" - }, - "EndpointType": { - "type": "string" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" - }, - "IdentityProviderType": { - "type": "string" - }, - "LoggingRole": { - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" - }, - "Protocols": { - "items": { - "$ref": "#/definitions/AWS::Transfer::Server.Protocol" - }, - "type": "array" - }, - "SecurityPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Transfer::Server.EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - }, - "InvocationRole": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.Protocol": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Transfer::Server.ProtocolDetails": { - "additionalProperties": false, - "properties": { - "PassiveIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HomeDirectory": { - "type": "string" - }, - "HomeDirectoryMappings": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" - }, - "type": "array" - }, - "HomeDirectoryType": { - "type": "string" - }, - "Policy": { - "type": "string" - }, - "PosixProfile": { - "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" - }, - "Role": { - "type": "string" - }, - "ServerId": { - "type": "string" - }, - "SshPublicKeys": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Role", - "ServerId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::User.HomeDirectoryMapEntry": { - "additionalProperties": false, - "properties": { - "Entry": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Entry", - "Target" - ], - "type": "object" - }, - "AWS::Transfer::User.PosixProfile": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "SecondaryGids": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Uid": { - "type": "number" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::Transfer::User.SshPublicKey": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::WAF::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAF::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAF::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name", - "SizeConstraints" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::WebACL.ActivatedRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAF::WebACL.WafAction": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name", - "XssMatchTuples" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeoMatchConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::GeoMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MatchPredicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RateKey": { - "type": "string" - }, - "RateLimit": { - "type": "number" - } - }, - "required": [ - "MetricName", - "Name", - "RateKey", - "RateLimit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RateBasedRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RegexPatternStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "RegexPatternStrings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Action": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Action", - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFv2::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "IPAddressVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Addresses", - "IPAddressVersion", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RegularExpressionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RegularExpressionList", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Capacity", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelSummary": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "type": "object" - }, - "Block": { - "type": "object" - }, - "Count": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" - } - }, - "type": "object" - }, - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "DefaultAction", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.AllowAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.BlockAction": { - "additionalProperties": false, - "properties": { - "CustomResponse": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CountAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomHTTPHeader": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomRequestHandling": { - "additionalProperties": false, - "properties": { - "InsertHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "InsertHeaders" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponse": { - "additionalProperties": false, - "properties": { - "CustomResponseBodyKey": { - "type": "string" - }, - "ResponseCode": { - "type": "number" - }, - "ResponseHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "ResponseCode" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.DefaultAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ExcludedRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { - "additionalProperties": false, - "properties": { - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VendorName": { - "type": "string" - } - }, - "required": [ - "Name", - "VendorName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OverrideAction": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "object" - }, - "None": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" - }, - "Name": { - "type": "string" - }, - "OverrideAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - }, - "Count": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" - }, - "ManagedRuleGroupStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" - }, - "RuleGroupReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::ConnectionAlias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { - "additionalProperties": false, - "properties": { - "AssociatedAccountId": { - "type": "string" - }, - "AssociationStatus": { - "type": "string" - }, - "ConnectionIdentifier": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WorkSpaces::Workspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BundleId": { - "type": "string" - }, - "DirectoryId": { - "type": "string" - }, - "RootVolumeEncryptionEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - }, - "UserVolumeEncryptionEnabled": { - "type": "boolean" - }, - "VolumeEncryptionKey": { - "type": "string" - }, - "WorkspaceProperties": { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" - } - }, - "required": [ - "BundleId", - "DirectoryId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::Workspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::Workspace.WorkspaceProperties": { - "additionalProperties": false, - "properties": { - "ComputeTypeName": { - "type": "string" - }, - "RootVolumeSizeGib": { - "type": "number" - }, - "RunningMode": { - "type": "string" - }, - "RunningModeAutoStopTimeoutInMinutes": { - "type": "number" - }, - "UserVolumeSizeGib": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterExpression": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "InsightsConfiguration": { - "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::Group.InsightsConfiguration": { - "additionalProperties": false, - "properties": { - "InsightsEnabled": { - "type": "boolean" - }, - "NotificationsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::SamplingRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRule": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" - }, - "SkillPackage": { - "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" - }, - "VendorId": { - "type": "string" - } - }, - "required": [ - "AuthenticationConfiguration", - "SkillPackage", - "VendorId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "Alexa::ASK::Skill" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "Alexa::ASK::Skill.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret", - "RefreshToken" - ], - "type": "object" - }, - "Alexa::ASK::Skill.Overrides": { - "additionalProperties": false, - "properties": { - "Manifest": { - "type": "object" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill.SkillPackage": { - "additionalProperties": false, - "properties": { - "Overrides": { - "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" - }, - "S3Bucket": { - "type": "string" - }, - "S3BucketRole": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "Parameter": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "AllowedValues": { - "type": "array" - }, - "ConstraintDescription": { - "type": "string" - }, - "Default": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MaxLength": { - "type": "string" - }, - "MaxValue": { - "type": "string" - }, - "MinLength": { - "type": "string" - }, - "MinValue": { - "type": "string" - }, - "NoEcho": { - "type": [ - "string", - "boolean" - ] - }, - "Type": { - "enum": [ - "String", - "Number", - "List\u003cNumber\u003e", - "CommaDelimitedList", - "AWS::EC2::AvailabilityZone::Name", - "AWS::EC2::Image::Id", - "AWS::EC2::Instance::Id", - "AWS::EC2::KeyPair::KeyName", - "AWS::EC2::SecurityGroup::GroupName", - "AWS::EC2::SecurityGroup::Id", - "AWS::EC2::Subnet::Id", - "AWS::EC2::Volume::Id", - "AWS::EC2::VPC::Id", - "AWS::Route53::HostedZone::Id", - "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "List\u003cAWS::EC2::Image::Id\u003e", - "List\u003cAWS::EC2::Instance::Id\u003e", - "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "List\u003cAWS::EC2::SecurityGroup::Id\u003e", - "List\u003cAWS::EC2::Subnet::Id\u003e", - "List\u003cAWS::EC2::Volume::Id\u003e", - "List\u003cAWS::EC2::VPC::Id\u003e", - "List\u003cAWS::Route53::HostedZone::Id\u003e", - "List\u003cString\u003e", - "AWS::SSM::Parameter::Name", - "AWS::SSM::Parameter::Value\u003cString\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "properties": { - "AWSTemplateFormatVersion": { - "enum": [ - "2010-09-09" - ], - "type": "string" - }, - "Conditions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Description": { - "description": "Template description", - "maxLength": 1024, - "type": "string" - }, - "Globals": { - "additionalProperties": false, - "properties": { - "Api": { - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::Api.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::Api.Auth" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::Serverless::Api.CanarySetting" - }, - "Cors": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.CorsConfiguration" - } - ] - }, - "DefinitionUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Api.S3Location" - } - ] - }, - "Description": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::Serverless::Api.EndpointConfiguration" - }, - "GatewayResponses": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MethodSettings": { - "items": { - "type": "object" - }, - "type": "array" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "Models": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "OpenApiVersion": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - } - }, - "Function": { - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "AutoPublishAlias": { - "type": "string" - }, - "AutoPublishCodeSha256": { - "type": "string" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "CodeUri": { - "anyOf": [ - { - "type": [ - "string" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::Function.S3Location" - } - ] - }, - "DeadLetterQueue": { - "$ref": "#/definitions/AWS::Serverless::Function.DeadLetterQueue" - }, - "DeploymentPreference": { - "$ref": "#/definitions/AWS::Serverless::Function.DeploymentPreference" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Serverless::Function.FunctionEnvironment" - }, - "EventInvokeConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.EventInvokeConfig" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.ImageConfig" - }, - "ImageUri": { - "type": "string" - }, - "InlineCode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "Tracing": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Serverless::Function.VpcConfig" - } - } - }, - "HttpApi": { - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.AccessLogSetting" - }, - "Auth": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiAuth" - }, - "CorsConfiguration": { - "anyOf": [ - { - "type": [ - "boolean" - ] - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi.CorsConfigurationObject" - } - ] - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "Domain": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.HttpApiDomainConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "RouteSettings": { - "$ref": "#/definitions/AWS::Serverless::HttpApi.RouteSettings" - }, - "StageVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - } - }, - "SimpleTable": { - "properties": { - "SSESpecification": { - "$ref": "#/definitions/AWS::Serverless::SimpleTable.SSESpecification" - } - } - } - }, - "type": "object" - }, - "Mappings": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Metadata": { - "type": "object" - }, - "Outputs": { - "additionalProperties": false, - "maxProperties": 60, - "minProperties": 1, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Parameters": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/Parameter" - } - }, - "type": "object" - }, - "Resources": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::ACMPCA::Certificate" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" - }, - { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Broker" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" - }, - { - "$ref": "#/definitions/AWS::Amplify::App" - }, - { - "$ref": "#/definitions/AWS::Amplify::Branch" - }, - { - "$ref": "#/definitions/AWS::Amplify::Domain" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Account" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Method" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Resource" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RestApi" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::VpcLink" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Route" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Application" - }, - { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Deployment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Environment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" - }, - { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" - }, - { - "$ref": "#/definitions/AWS::AppFlow::Flow" - }, - { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" - }, - { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Mesh" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Route" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualService" - }, - { - "$ref": "#/definitions/AWS::AppRunner::Service" - }, - { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" - }, - { - "$ref": "#/definitions/AWS::AppStream::Fleet" - }, - { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder" - }, - { - "$ref": "#/definitions/AWS::AppStream::Stack" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::User" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiCache" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiKey" - }, - { - "$ref": "#/definitions/AWS::AppSync::DataSource" - }, - { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" - }, - { - "$ref": "#/definitions/AWS::AppSync::Resolver" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::ApplicationInsights::Application" - }, - { - "$ref": "#/definitions/AWS::Athena::DataCatalog" - }, - { - "$ref": "#/definitions/AWS::Athena::NamedQuery" - }, - { - "$ref": "#/definitions/AWS::Athena::PreparedStatement" - }, - { - "$ref": "#/definitions/AWS::Athena::WorkGroup" - }, - { - "$ref": "#/definitions/AWS::AuditManager::Assessment" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::WarmPool" - }, - { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupSelection" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupVault" - }, - { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" - }, - { - "$ref": "#/definitions/AWS::Batch::JobDefinition" - }, - { - "$ref": "#/definitions/AWS::Batch::JobQueue" - }, - { - "$ref": "#/definitions/AWS::Budgets::Budget" - }, - { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalyMonitor" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalySubscription" - }, - { - "$ref": "#/definitions/AWS::CE::CostCategory" - }, - { - "$ref": "#/definitions/AWS::CUR::ReportDefinition" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Keyspace" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Table" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Account" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Certificate" - }, - { - "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" - }, - { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::CustomResource" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Macro" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Publisher" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Stack" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::StackSet" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Distribution" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Function" - }, - { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup" - }, - { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::PublicKey" - }, - { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" - }, - { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" - }, - { - "$ref": "#/definitions/AWS::CloudTrail::Trail" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Alarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Dashboard" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Domain" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::Project" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" - }, - { - "$ref": "#/definitions/AWS::CodeCommit::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::Application" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Webhook" - }, - { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" - }, - { - "$ref": "#/definitions/AWS::CodeStarConnections::Connection" - }, - { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" - }, - { - "$ref": "#/definitions/AWS::Config::AggregationAuthorization" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" - }, - { - "$ref": "#/definitions/AWS::Config::ConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::DeliveryChannel" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration" - }, - { - "$ref": "#/definitions/AWS::Config::StoredQuery" - }, - { - "$ref": "#/definitions/AWS::Connect::QuickConnect" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" - }, - { - "$ref": "#/definitions/AWS::DAX::Cluster" - }, - { - "$ref": "#/definitions/AWS::DAX::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DAX::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" - }, - { - "$ref": "#/definitions/AWS::DMS::Certificate" - }, - { - "$ref": "#/definitions/AWS::DMS::Endpoint" - }, - { - "$ref": "#/definitions/AWS::DMS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationInstance" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationTask" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Dataset" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Job" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Project" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Recipe" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Schedule" - }, - { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::DataSync::Agent" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationEFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationNFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationS3" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationSMB" - }, - { - "$ref": "#/definitions/AWS::DataSync::Task" - }, - { - "$ref": "#/definitions/AWS::Detective::Graph" - }, - { - "$ref": "#/definitions/AWS::Detective::MemberInvitation" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBCluster" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBInstance" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::Table" - }, - { - "$ref": "#/definitions/AWS::EC2::CapacityReservation" - }, - { - "$ref": "#/definitions/AWS::EC2::CarrierGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::CustomerGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::DHCPOptions" - }, - { - "$ref": "#/definitions/AWS::EC2::EC2Fleet" - }, - { - "$ref": "#/definitions/AWS::EC2::EIP" - }, - { - "$ref": "#/definitions/AWS::EC2::EIPAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::FlowLog" - }, - { - "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::Host" - }, - { - "$ref": "#/definitions/AWS::EC2::Instance" - }, - { - "$ref": "#/definitions/AWS::EC2::InternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::NatGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAcl" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterface" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" - }, - { - "$ref": "#/definitions/AWS::EC2::PlacementGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::PrefixList" - }, - { - "$ref": "#/definitions/AWS::EC2::Route" - }, - { - "$ref": "#/definitions/AWS::EC2::RouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::EC2::SpotFleet" - }, - { - "$ref": "#/definitions/AWS::EC2::Subnet" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPC" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::Volume" - }, - { - "$ref": "#/definitions/AWS::EC2::VolumeAttachment" - }, - { - "$ref": "#/definitions/AWS::ECR::PublicRepository" - }, - { - "$ref": "#/definitions/AWS::ECR::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" - }, - { - "$ref": "#/definitions/AWS::ECR::Repository" - }, - { - "$ref": "#/definitions/AWS::ECS::CapacityProvider" - }, - { - "$ref": "#/definitions/AWS::ECS::Cluster" - }, - { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" - }, - { - "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" - }, - { - "$ref": "#/definitions/AWS::ECS::Service" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskSet" - }, - { - "$ref": "#/definitions/AWS::EFS::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::EFS::FileSystem" - }, - { - "$ref": "#/definitions/AWS::EFS::MountTarget" - }, - { - "$ref": "#/definitions/AWS::EKS::Addon" - }, - { - "$ref": "#/definitions/AWS::EKS::Cluster" - }, - { - "$ref": "#/definitions/AWS::EKS::FargateProfile" - }, - { - "$ref": "#/definitions/AWS::EKS::Nodegroup" - }, - { - "$ref": "#/definitions/AWS::EMR::Cluster" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::EMR::Step" - }, - { - "$ref": "#/definitions/AWS::EMR::Studio" - }, - { - "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" - }, - { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::User" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::UserGroup" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" - }, - { - "$ref": "#/definitions/AWS::Elasticsearch::Domain" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Registry" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Schema" - }, - { - "$ref": "#/definitions/AWS::Events::ApiDestination" - }, - { - "$ref": "#/definitions/AWS::Events::Archive" - }, - { - "$ref": "#/definitions/AWS::Events::Connection" - }, - { - "$ref": "#/definitions/AWS::Events::EventBus" - }, - { - "$ref": "#/definitions/AWS::Events::EventBusPolicy" - }, - { - "$ref": "#/definitions/AWS::Events::Rule" - }, - { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" - }, - { - "$ref": "#/definitions/AWS::FMS::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::FMS::Policy" - }, - { - "$ref": "#/definitions/AWS::FSx::FileSystem" - }, - { - "$ref": "#/definitions/AWS::FinSpace::Environment" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Detector" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EntityType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EventType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Label" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Outcome" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Variable" - }, - { - "$ref": "#/definitions/AWS::GameLift::Alias" - }, - { - "$ref": "#/definitions/AWS::GameLift::Build" - }, - { - "$ref": "#/definitions/AWS::GameLift::Fleet" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" - }, - { - "$ref": "#/definitions/AWS::GameLift::Script" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" - }, - { - "$ref": "#/definitions/AWS::Glue::Classifier" - }, - { - "$ref": "#/definitions/AWS::Glue::Connection" - }, - { - "$ref": "#/definitions/AWS::Glue::Crawler" - }, - { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" - }, - { - "$ref": "#/definitions/AWS::Glue::Database" - }, - { - "$ref": "#/definitions/AWS::Glue::DevEndpoint" - }, - { - "$ref": "#/definitions/AWS::Glue::Job" - }, - { - "$ref": "#/definitions/AWS::Glue::MLTransform" - }, - { - "$ref": "#/definitions/AWS::Glue::Partition" - }, - { - "$ref": "#/definitions/AWS::Glue::Registry" - }, - { - "$ref": "#/definitions/AWS::Glue::Schema" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersion" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" - }, - { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::Glue::Table" - }, - { - "$ref": "#/definitions/AWS::Glue::Trigger" - }, - { - "$ref": "#/definitions/AWS::Glue::Workflow" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::Group" - }, - { - "$ref": "#/definitions/AWS::Greengrass::GroupVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" - }, - { - "$ref": "#/definitions/AWS::GroundStation::Config" - }, - { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Detector" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Filter" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::IPSet" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Master" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Member" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" - }, - { - "$ref": "#/definitions/AWS::IAM::AccessKey" - }, - { - "$ref": "#/definitions/AWS::IAM::Group" - }, - { - "$ref": "#/definitions/AWS::IAM::InstanceProfile" - }, - { - "$ref": "#/definitions/AWS::IAM::ManagedPolicy" - }, - { - "$ref": "#/definitions/AWS::IAM::OIDCProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::Policy" - }, - { - "$ref": "#/definitions/AWS::IAM::Role" - }, - { - "$ref": "#/definitions/AWS::IAM::SAMLProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::ServerCertificate" - }, - { - "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" - }, - { - "$ref": "#/definitions/AWS::IAM::User" - }, - { - "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" - }, - { - "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" - }, - { - "$ref": "#/definitions/AWS::IVS::Channel" - }, - { - "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" - }, - { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" - }, - { - "$ref": "#/definitions/AWS::IVS::StreamKey" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Component" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Image" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" - }, - { - "$ref": "#/definitions/AWS::Inspector::ResourceGroup" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Device" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Placement" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Project" - }, - { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::Authorizer" - }, - { - "$ref": "#/definitions/AWS::IoT::Certificate" - }, - { - "$ref": "#/definitions/AWS::IoT::CustomMetric" - }, - { - "$ref": "#/definitions/AWS::IoT::Dimension" - }, - { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::MitigationAction" - }, - { - "$ref": "#/definitions/AWS::IoT::Policy" - }, - { - "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" - }, - { - "$ref": "#/definitions/AWS::IoT::ScheduledAudit" - }, - { - "$ref": "#/definitions/AWS::IoT::SecurityProfile" - }, - { - "$ref": "#/definitions/AWS::IoT::Thing" - }, - { - "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRule" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" - }, - { - "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::Input" - }, - { - "$ref": "#/definitions/AWS::IoTFleetHub::Application" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Portal" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Project" - }, - { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::Destination" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" - }, - { - "$ref": "#/definitions/AWS::KMS::Alias" - }, - { - "$ref": "#/definitions/AWS::KMS::Key" - }, - { - "$ref": "#/definitions/AWS::KMS::ReplicaKey" - }, - { - "$ref": "#/definitions/AWS::Kendra::DataSource" - }, - { - "$ref": "#/definitions/AWS::Kendra::Faq" - }, - { - "$ref": "#/definitions/AWS::Kendra::Index" - }, - { - "$ref": "#/definitions/AWS::Kinesis::Stream" - }, - { - "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Permissions" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Resource" - }, - { - "$ref": "#/definitions/AWS::Lambda::Alias" - }, - { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" - }, - { - "$ref": "#/definitions/AWS::Lambda::Function" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersion" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Permission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Version" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::Grant" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::License" - }, - { - "$ref": "#/definitions/AWS::Location::GeofenceCollection" - }, - { - "$ref": "#/definitions/AWS::Location::Map" - }, - { - "$ref": "#/definitions/AWS::Location::PlaceIndex" - }, - { - "$ref": "#/definitions/AWS::Location::RouteCalculator" - }, - { - "$ref": "#/definitions/AWS::Location::Tracker" - }, - { - "$ref": "#/definitions/AWS::Location::TrackerConsumer" - }, - { - "$ref": "#/definitions/AWS::Logs::Destination" - }, - { - "$ref": "#/definitions/AWS::Logs::LogGroup" - }, - { - "$ref": "#/definitions/AWS::Logs::LogStream" - }, - { - "$ref": "#/definitions/AWS::Logs::MetricFilter" - }, - { - "$ref": "#/definitions/AWS::Logs::QueryDefinition" - }, - { - "$ref": "#/definitions/AWS::Logs::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" - }, - { - "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::LookoutVision::Project" - }, - { - "$ref": "#/definitions/AWS::MSK::Cluster" - }, - { - "$ref": "#/definitions/AWS::MWAA::Environment" - }, - { - "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" - }, - { - "$ref": "#/definitions/AWS::Macie::FindingsFilter" - }, - { - "$ref": "#/definitions/AWS::Macie::Session" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::Flow" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Preset" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Queue" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Input" - }, - { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Asset" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" - }, - { - "$ref": "#/definitions/AWS::MediaStore::Container" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBCluster" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBInstance" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Device" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Link" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Site" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::Studio" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::App" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Instance" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Layer" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Stack" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::UserProfile" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Volume" - }, - { - "$ref": "#/definitions/AWS::OpsWorksCM::Server" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::App" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Campaign" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EventStream" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Segment" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::Identity" - }, - { - "$ref": "#/definitions/AWS::QLDB::Ledger" - }, - { - "$ref": "#/definitions/AWS::QLDB::Stream" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Analysis" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Dashboard" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSet" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSource" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Template" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Theme" - }, - { - "$ref": "#/definitions/AWS::RAM::ResourceShare" - }, - { - "$ref": "#/definitions/AWS::RDS::DBCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBInstance" - }, - { - "$ref": "#/definitions/AWS::RDS::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxy" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::RDS::GlobalCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::OptionGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::Cluster" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ResourceGroups::Group" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Fleet" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Robot" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::Route53::DNSSEC" - }, - { - "$ref": "#/definitions/AWS::Route53::HealthCheck" - }, - { - "$ref": "#/definitions/AWS::Route53::HostedZone" - }, - { - "$ref": "#/definitions/AWS::Route53::KeySigningKey" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSet" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" - }, - { - "$ref": "#/definitions/AWS::S3::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3::StorageLens" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SDB::Domain" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::SES::ContactList" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptFilter" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRule" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" - }, - { - "$ref": "#/definitions/AWS::SES::Template" - }, - { - "$ref": "#/definitions/AWS::SNS::Subscription" - }, - { - "$ref": "#/definitions/AWS::SNS::Topic" - }, - { - "$ref": "#/definitions/AWS::SNS::TopicPolicy" - }, - { - "$ref": "#/definitions/AWS::SQS::Queue" - }, - { - "$ref": "#/definitions/AWS::SQS::QueuePolicy" - }, - { - "$ref": "#/definitions/AWS::SSM::Association" - }, - { - "$ref": "#/definitions/AWS::SSM::Document" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" - }, - { - "$ref": "#/definitions/AWS::SSM::Parameter" - }, - { - "$ref": "#/definitions/AWS::SSM::PatchBaseline" - }, - { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::Contact" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" - }, - { - "$ref": "#/definitions/AWS::SSO::Assignment" - }, - { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" - }, - { - "$ref": "#/definitions/AWS::SSO::PermissionSet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::App" - }, - { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Device" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Domain" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Image" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ImageVersion" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Model" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Pipeline" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Project" - }, - { - "$ref": "#/definitions/AWS::SageMaker::UserProfile" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Workteam" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::Secret" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" - }, - { - "$ref": "#/definitions/AWS::SecurityHub::Hub" - }, - { - "$ref": "#/definitions/AWS::Serverless::Api" - }, - { - "$ref": "#/definitions/AWS::Serverless::Application" - }, - { - "$ref": "#/definitions/AWS::Serverless::Function" - }, - { - "$ref": "#/definitions/AWS::Serverless::HttpApi" - }, - { - "$ref": "#/definitions/AWS::Serverless::LayerVersion" - }, - { - "$ref": "#/definitions/AWS::Serverless::SimpleTable" - }, - { - "$ref": "#/definitions/AWS::Serverless::StateMachine" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service" - }, - { - "$ref": "#/definitions/AWS::Signer::ProfilePermission" - }, - { - "$ref": "#/definitions/AWS::Signer::SigningProfile" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::Activity" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine" - }, - { - "$ref": "#/definitions/AWS::Synthetics::Canary" - }, - { - "$ref": "#/definitions/AWS::Timestream::Database" - }, - { - "$ref": "#/definitions/AWS::Timestream::Table" - }, - { - "$ref": "#/definitions/AWS::Transfer::Server" - }, - { - "$ref": "#/definitions/AWS::Transfer::User" - }, - { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAF::Rule" - }, - { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAF::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::Rule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace" - }, - { - "$ref": "#/definitions/AWS::XRay::Group" - }, - { - "$ref": "#/definitions/AWS::XRay::SamplingRule" - }, - { - "$ref": "#/definitions/Alexa::ASK::Skill" - } - ] - } - }, - "type": "object" - }, - "Transform": { - "enum": [ - "AWS::Serverless-2016-10-31" - ], - "type": "string" - } - }, - "required": [ - "Transform", - "Resources" - ], - "type": "object" -} \ No newline at end of file From ab446d7f97d6eb2f6383110760f822c2bfc0e809 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Tue, 24 Aug 2021 10:50:10 -0700 Subject: [PATCH 29/64] Delete cloudformation.schema.json --- .../cloudformation.schema.json | 113079 --------------- 1 file changed, 113079 deletions(-) delete mode 100644 file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json diff --git a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json b/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json deleted file mode 100644 index 136501c9e4c..00000000000 --- a/file:/Users/sundersc/Library/Application Support/Code/User/globalStorage/amazonwebservices.aws-toolkit-vscode/cloudformation.schema.json +++ /dev/null @@ -1,113079 +0,0 @@ -{ - "$id": "http://json-schema.org/draft-04/schema#", - "additionalProperties": false, - "definitions": { - "AWS::ACMPCA::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiPassthrough": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ApiPassthrough" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "SigningAlgorithm": { - "type": "string" - }, - "TemplateArn": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - }, - "ValidityNotBefore": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Validity" - } - }, - "required": [ - "CertificateAuthorityArn", - "CertificateSigningRequest", - "SigningAlgorithm", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ApiPassthrough": { - "additionalProperties": false, - "properties": { - "Extensions": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Extensions" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.ExtendedKeyUsage": { - "additionalProperties": false, - "properties": { - "ExtendedKeyUsageObjectIdentifier": { - "type": "string" - }, - "ExtendedKeyUsageType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Extensions": { - "additionalProperties": false, - "properties": { - "CertificatePolicies": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyInformation" - }, - "type": "array" - }, - "ExtendedKeyUsage": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.ExtendedKeyUsage" - }, - "type": "array" - }, - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.KeyUsage" - }, - "SubjectAlternativeNames": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.GeneralName" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyInformation": { - "additionalProperties": false, - "properties": { - "CertPolicyId": { - "type": "string" - }, - "PolicyQualifiers": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.PolicyQualifierInfo" - }, - "type": "array" - } - }, - "required": [ - "CertPolicyId" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.PolicyQualifierInfo": { - "additionalProperties": false, - "properties": { - "PolicyQualifierId": { - "type": "string" - }, - "Qualifier": { - "$ref": "#/definitions/AWS::ACMPCA::Certificate.Qualifier" - } - }, - "required": [ - "PolicyQualifierId", - "Qualifier" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Qualifier": { - "additionalProperties": false, - "properties": { - "CpsUri": { - "type": "string" - } - }, - "required": [ - "CpsUri" - ], - "type": "object" - }, - "AWS::ACMPCA::Certificate.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::Certificate.Validity": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsrExtensions": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CsrExtensions" - }, - "KeyAlgorithm": { - "type": "string" - }, - "KeyStorageSecurityStandard": { - "type": "string" - }, - "RevocationConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.RevocationConfiguration" - }, - "SigningAlgorithm": { - "type": "string" - }, - "Subject": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "KeyAlgorithm", - "SigningAlgorithm", - "Subject", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthority" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessDescription": { - "additionalProperties": false, - "properties": { - "AccessLocation": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.GeneralName" - }, - "AccessMethod": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessMethod" - } - }, - "required": [ - "AccessLocation", - "AccessMethod" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.AccessMethod": { - "additionalProperties": false, - "properties": { - "AccessMethodType": { - "type": "string" - }, - "CustomObjectIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CrlConfiguration": { - "additionalProperties": false, - "properties": { - "CustomCname": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "ExpirationInDays": { - "type": "number" - }, - "S3BucketName": { - "type": "string" - }, - "S3ObjectAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.CsrExtensions": { - "additionalProperties": false, - "properties": { - "KeyUsage": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.KeyUsage" - }, - "SubjectInformationAccess": { - "items": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.AccessDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.EdiPartyName": { - "additionalProperties": false, - "properties": { - "NameAssigner": { - "type": "string" - }, - "PartyName": { - "type": "string" - } - }, - "required": [ - "NameAssigner", - "PartyName" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.GeneralName": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.Subject" - }, - "DnsName": { - "type": "string" - }, - "EdiPartyName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.EdiPartyName" - }, - "IpAddress": { - "type": "string" - }, - "OtherName": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.OtherName" - }, - "RegisteredId": { - "type": "string" - }, - "Rfc822Name": { - "type": "string" - }, - "UniformResourceIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.KeyUsage": { - "additionalProperties": false, - "properties": { - "CRLSign": { - "type": "boolean" - }, - "DataEncipherment": { - "type": "boolean" - }, - "DecipherOnly": { - "type": "boolean" - }, - "DigitalSignature": { - "type": "boolean" - }, - "EncipherOnly": { - "type": "boolean" - }, - "KeyAgreement": { - "type": "boolean" - }, - "KeyCertSign": { - "type": "boolean" - }, - "KeyEncipherment": { - "type": "boolean" - }, - "NonRepudiation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.OtherName": { - "additionalProperties": false, - "properties": { - "TypeId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "TypeId", - "Value" - ], - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.RevocationConfiguration": { - "additionalProperties": false, - "properties": { - "CrlConfiguration": { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority.CrlConfiguration" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthority.Subject": { - "additionalProperties": false, - "properties": { - "CommonName": { - "type": "string" - }, - "Country": { - "type": "string" - }, - "DistinguishedNameQualifier": { - "type": "string" - }, - "GenerationQualifier": { - "type": "string" - }, - "GivenName": { - "type": "string" - }, - "Initials": { - "type": "string" - }, - "Locality": { - "type": "string" - }, - "Organization": { - "type": "string" - }, - "OrganizationalUnit": { - "type": "string" - }, - "Pseudonym": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Surname": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ACMPCA::CertificateAuthorityActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Certificate", - "CertificateAuthorityArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ACMPCA::CertificateAuthorityActivation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalyzerName": { - "type": "string" - }, - "ArchiveRules": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.ArchiveRule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AccessAnalyzer::Analyzer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.ArchiveRule": { - "additionalProperties": false, - "properties": { - "Filter": { - "items": { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer.Filter" - }, - "type": "array" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "Filter", - "RuleName" - ], - "type": "object" - }, - "AWS::AccessAnalyzer::Analyzer.Filter": { - "additionalProperties": false, - "properties": { - "Contains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Exists": { - "type": "boolean" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "Property" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "BrokerName": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.ConfigurationId" - }, - "DeploymentMode": { - "type": "string" - }, - "EncryptionOptions": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.EncryptionOptions" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "HostInstanceType": { - "type": "string" - }, - "LdapServerMetadata": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LdapServerMetadata" - }, - "Logs": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.LogList" - }, - "MaintenanceWindowStartTime": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.MaintenanceWindow" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.TagsEntry" - }, - "type": "array" - }, - "Users": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Broker.User" - }, - "type": "array" - } - }, - "required": [ - "AutoMinorVersionUpgrade", - "BrokerName", - "DeploymentMode", - "EngineType", - "EngineVersion", - "HostInstanceType", - "PubliclyAccessible", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Broker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.EncryptionOptions": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "UseAwsOwnedKey": { - "type": "boolean" - } - }, - "required": [ - "UseAwsOwnedKey" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LdapServerMetadata": { - "additionalProperties": false, - "properties": { - "Hosts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleBase": { - "type": "string" - }, - "RoleName": { - "type": "string" - }, - "RoleSearchMatching": { - "type": "string" - }, - "RoleSearchSubtree": { - "type": "boolean" - }, - "ServiceAccountPassword": { - "type": "string" - }, - "ServiceAccountUsername": { - "type": "string" - }, - "UserBase": { - "type": "string" - }, - "UserRoleName": { - "type": "string" - }, - "UserSearchMatching": { - "type": "string" - }, - "UserSearchSubtree": { - "type": "boolean" - } - }, - "required": [ - "Hosts", - "RoleBase", - "RoleSearchMatching", - "ServiceAccountPassword", - "ServiceAccountUsername", - "UserBase", - "UserSearchMatching" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.LogList": { - "additionalProperties": false, - "properties": { - "Audit": { - "type": "boolean" - }, - "General": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AmazonMQ::Broker.MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DayOfWeek": { - "type": "string" - }, - "TimeOfDay": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "DayOfWeek", - "TimeOfDay", - "TimeZone" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::Broker.User": { - "additionalProperties": false, - "properties": { - "ConsoleAccess": { - "type": "boolean" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationStrategy": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineType": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Data", - "EngineType", - "EngineVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::Configuration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::Configuration.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId" - } - }, - "required": [ - "Broker", - "Configuration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AmazonMQ::ConfigurationAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Id", - "Revision" - ], - "type": "object" - }, - "AWS::Amplify::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "AutoBranchCreationConfig": { - "$ref": "#/definitions/AWS::Amplify::App.AutoBranchCreationConfig" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "CustomHeaders": { - "type": "string" - }, - "CustomRules": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.CustomRule" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "EnableBranchAutoDeletion": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "IAMServiceRole": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OauthToken": { - "type": "string" - }, - "Repository": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::App.AutoBranchCreationConfig": { - "additionalProperties": false, - "properties": { - "AutoBranchCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::App.BasicAuthConfig" - }, - "BuildSpec": { - "type": "string" - }, - "EnableAutoBranchCreation": { - "type": "boolean" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::App.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Amplify::App.CustomRule": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Source", - "Target" - ], - "type": "object" - }, - "AWS::Amplify::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Branch": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "BasicAuthConfig": { - "$ref": "#/definitions/AWS::Amplify::Branch.BasicAuthConfig" - }, - "BranchName": { - "type": "string" - }, - "BuildSpec": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnableAutoBuild": { - "type": "boolean" - }, - "EnablePerformanceMode": { - "type": "boolean" - }, - "EnablePullRequestPreview": { - "type": "boolean" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Branch.EnvironmentVariable" - }, - "type": "array" - }, - "PullRequestEnvironmentName": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "BranchName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Branch" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Branch.BasicAuthConfig": { - "additionalProperties": false, - "properties": { - "EnableBasicAuth": { - "type": "boolean" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::Amplify::Branch.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::Amplify::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppId": { - "type": "string" - }, - "AutoSubDomainCreationPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoSubDomainIAMRole": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EnableAutoSubDomain": { - "type": "boolean" - }, - "SubDomainSettings": { - "items": { - "$ref": "#/definitions/AWS::Amplify::Domain.SubDomainSetting" - }, - "type": "array" - } - }, - "required": [ - "AppId", - "DomainName", - "SubDomainSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Amplify::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Amplify::Domain.SubDomainSetting": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BranchName", - "Prefix" - ], - "type": "object" - }, - "AWS::ApiGateway::Account": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "GenerateDistinctId": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "StageKeys": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey.StageKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::ApiKey.StageKey": { - "additionalProperties": false, - "properties": { - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "AuthorizerCredentials": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerUri": { - "type": "string" - }, - "IdentitySource": { - "type": "string" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "RestApiId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::BasePathMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::BasePathMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::ClientCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::ClientCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentCanarySettings": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.DeploymentCanarySettings" - }, - "Description": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StageDescription": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.StageDescription" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Deployment.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.CanarySetting": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.DeploymentCanarySettings": { - "additionalProperties": false, - "properties": { - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Deployment.StageDescription": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Deployment.MethodSetting" - }, - "type": "array" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Location": { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart.Location" - }, - "Properties": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "Location", - "Properties", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationPart" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DocumentationPart.Location": { - "additionalProperties": false, - "properties": { - "Method": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DocumentationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "DocumentationVersion", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DocumentationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.EndpointConfiguration" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGateway::DomainName.MutualTlsAuthentication" - }, - "RegionalCertificateArn": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::DomainName.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "Types": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGateway::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::GatewayResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseType": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "ResponseType", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::GatewayResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGateway::Method.Integration" - }, - "MethodResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.MethodResponse" - }, - "type": "array" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "RequestValidatorId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "HttpMethod", - "ResourceId", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Method" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.Integration": { - "additionalProperties": false, - "properties": { - "CacheKeyParameters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheNamespace": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandling": { - "type": "string" - }, - "Credentials": { - "type": "string" - }, - "IntegrationHttpMethod": { - "type": "string" - }, - "IntegrationResponses": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Method.IntegrationResponse" - }, - "type": "array" - }, - "PassthroughBehavior": { - "type": "string" - }, - "RequestParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RequestTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TimeoutInMillis": { - "type": "number" - }, - "Type": { - "type": "string" - }, - "Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Method.IntegrationResponse": { - "additionalProperties": false, - "properties": { - "ContentHandling": { - "type": "string" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseTemplates": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SelectionPattern": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Method.MethodResponse": { - "additionalProperties": false, - "properties": { - "ResponseModels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResponseParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "boolean" - } - }, - "type": "object" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ApiGateway::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RequestValidator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RestApiId": { - "type": "string" - }, - "ValidateRequestBody": { - "type": "boolean" - }, - "ValidateRequestParameters": { - "type": "boolean" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::RequestValidator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ParentId": { - "type": "string" - }, - "PathPart": { - "type": "string" - }, - "RestApiId": { - "type": "string" - } - }, - "required": [ - "ParentId", - "PathPart", - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::RestApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySourceType": { - "type": "string" - }, - "BinaryMediaTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.S3Location" - }, - "CloneFrom": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::ApiGateway::RestApi.EndpointConfiguration" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "MinimumCompressionSize": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.AccessLogSetting" - }, - "CacheClusterEnabled": { - "type": "boolean" - }, - "CacheClusterSize": { - "type": "string" - }, - "CanarySetting": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.CanarySetting" - }, - "ClientCertificateId": { - "type": "string" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DocumentationVersion": { - "type": "string" - }, - "MethodSettings": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::Stage.MethodSetting" - }, - "type": "array" - }, - "RestApiId": { - "type": "string" - }, - "StageName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TracingEnabled": { - "type": "boolean" - }, - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "RestApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::Stage.AccessLogSetting": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.CanarySetting": { - "additionalProperties": false, - "properties": { - "DeploymentId": { - "type": "string" - }, - "PercentTraffic": { - "type": "number" - }, - "StageVariableOverrides": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UseStageCache": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ApiGateway::Stage.MethodSetting": { - "additionalProperties": false, - "properties": { - "CacheDataEncrypted": { - "type": "boolean" - }, - "CacheTtlInSeconds": { - "type": "number" - }, - "CachingEnabled": { - "type": "boolean" - }, - "DataTraceEnabled": { - "type": "boolean" - }, - "HttpMethod": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "MetricsEnabled": { - "type": "boolean" - }, - "ResourcePath": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiStages": { - "items": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ApiStage" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Quota": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.QuotaSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throttle": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - }, - "UsagePlanName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ApiStage": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Throttle": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan.ThrottleSettings" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.QuotaSettings": { - "additionalProperties": false, - "properties": { - "Limit": { - "type": "number" - }, - "Offset": { - "type": "number" - }, - "Period": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlan.ThrottleSettings": { - "additionalProperties": false, - "properties": { - "BurstLimit": { - "type": "number" - }, - "RateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGateway::UsagePlanKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "UsagePlanId": { - "type": "string" - } - }, - "required": [ - "KeyId", - "KeyType", - "UsagePlanId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::UsagePlanKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGateway::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "TargetArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGateway::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKeySelectionExpression": { - "type": "string" - }, - "BasePath": { - "type": "string" - }, - "Body": { - "type": "object" - }, - "BodyS3Location": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.BodyS3Location" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api.Cors" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisableExecuteApiEndpoint": { - "type": "boolean" - }, - "DisableSchemaValidation": { - "type": "boolean" - }, - "FailOnWarnings": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "ProtocolType": { - "type": "string" - }, - "RouteKey": { - "type": "string" - }, - "RouteSelectionExpression": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Target": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Api" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Api.BodyS3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Etag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Api.Cors": { - "additionalProperties": false, - "properties": { - "AllowCredentials": { - "type": "boolean" - }, - "AllowHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAge": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Integration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides" - }, - "Route": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides" - }, - "Stage": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.IntegrationOverrides": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteOverrides": { - "additionalProperties": false, - "properties": { - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiGatewayManagedOverrides.StageOverrides": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.AccessLogSettings" - }, - "AutoDeploy": { - "type": "boolean" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides.RouteSettings" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageVariables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::ApiMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiMappingKey": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "Stage": { - "type": "string" - } - }, - "required": [ - "ApiId", - "DomainName", - "Stage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::ApiMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "AuthorizerCredentialsArn": { - "type": "string" - }, - "AuthorizerPayloadFormatVersion": { - "type": "string" - }, - "AuthorizerResultTtlInSeconds": { - "type": "number" - }, - "AuthorizerType": { - "type": "string" - }, - "AuthorizerUri": { - "type": "string" - }, - "EnableSimpleResponses": { - "type": "boolean" - }, - "IdentitySource": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IdentityValidationExpression": { - "type": "string" - }, - "JwtConfiguration": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer.JWTConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ApiId", - "AuthorizerType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": { - "additionalProperties": false, - "properties": { - "Audience": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Issuer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.DomainNameConfiguration" - }, - "type": "array" - }, - "MutualTlsAuthentication": { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::DomainName" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "CertificateName": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "SecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::DomainName.MutualTlsAuthentication": { - "additionalProperties": false, - "properties": { - "TruststoreUri": { - "type": "string" - }, - "TruststoreVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ConnectionId": { - "type": "string" - }, - "ConnectionType": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "CredentialsArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IntegrationMethod": { - "type": "string" - }, - "IntegrationSubtype": { - "type": "string" - }, - "IntegrationType": { - "type": "string" - }, - "IntegrationUri": { - "type": "string" - }, - "PassthroughBehavior": { - "type": "string" - }, - "PayloadFormatVersion": { - "type": "string" - }, - "RequestParameters": { - "type": "object" - }, - "RequestTemplates": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - }, - "TimeoutInMillis": { - "type": "number" - }, - "TlsConfig": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.TlsConfig" - } - }, - "required": [ - "ApiId", - "IntegrationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameter": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "required": [ - "Destination", - "Source" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.ResponseParameterList": { - "additionalProperties": false, - "properties": { - "ResponseParameters": { - "items": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration.ResponseParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Integration.TlsConfig": { - "additionalProperties": false, - "properties": { - "ServerNameToVerify": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::IntegrationResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentHandlingStrategy": { - "type": "string" - }, - "IntegrationId": { - "type": "string" - }, - "IntegrationResponseKey": { - "type": "string" - }, - "ResponseParameters": { - "type": "object" - }, - "ResponseTemplates": { - "type": "object" - }, - "TemplateSelectionExpression": { - "type": "string" - } - }, - "required": [ - "ApiId", - "IntegrationId", - "IntegrationResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::IntegrationResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "object" - } - }, - "required": [ - "ApiId", - "Name", - "Schema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyRequired": { - "type": "boolean" - }, - "AuthorizationScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthorizationType": { - "type": "string" - }, - "AuthorizerId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "OperationName": { - "type": "string" - }, - "RequestModels": { - "type": "object" - }, - "RequestParameters": { - "type": "object" - }, - "RouteKey": { - "type": "string" - }, - "RouteResponseSelectionExpression": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Route.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ModelSelectionExpression": { - "type": "string" - }, - "ResponseModels": { - "type": "object" - }, - "ResponseParameters": { - "type": "object" - }, - "RouteId": { - "type": "string" - }, - "RouteResponseKey": { - "type": "string" - } - }, - "required": [ - "ApiId", - "RouteId", - "RouteResponseKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::RouteResponse" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": { - "additionalProperties": false, - "properties": { - "Required": { - "type": "boolean" - } - }, - "required": [ - "Required" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLogSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.AccessLogSettings" - }, - "AccessPolicyId": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AutoDeploy": { - "type": "boolean" - }, - "ClientCertificateId": { - "type": "string" - }, - "DefaultRouteSettings": { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage.RouteSettings" - }, - "DeploymentId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RouteSettings": { - "type": "object" - }, - "StageName": { - "type": "string" - }, - "StageVariables": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApiId", - "StageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::Stage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.AccessLogSettings": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Format": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::Stage.RouteSettings": { - "additionalProperties": false, - "properties": { - "DataTraceEnabled": { - "type": "boolean" - }, - "DetailedMetricsEnabled": { - "type": "boolean" - }, - "LoggingLevel": { - "type": "string" - }, - "ThrottlingBurstLimit": { - "type": "number" - }, - "ThrottlingRateLimit": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApiGatewayV2::VpcLink": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApiGatewayV2::VpcLink" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Application.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Application.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RetrievalRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Tags" - }, - "type": "array" - }, - "Validators": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile.Validators" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "LocationUri", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::ConfigurationProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::ConfigurationProfile.Validators": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Deployment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "ConfigurationVersion": { - "type": "string" - }, - "DeploymentStrategyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Deployment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "ConfigurationVersion", - "DeploymentStrategyId", - "EnvironmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Deployment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Deployment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentDurationInMinutes": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "FinalBakeTimeInMinutes": { - "type": "number" - }, - "GrowthFactor": { - "type": "number" - }, - "GrowthType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicateTo": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy.Tags" - }, - "type": "array" - } - }, - "required": [ - "DeploymentDurationInMinutes", - "GrowthFactor", - "Name", - "ReplicateTo" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::DeploymentStrategy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::DeploymentStrategy.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Monitors": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Monitors" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AppConfig::Environment.Tags" - }, - "type": "array" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppConfig::Environment.Monitors": { - "additionalProperties": false, - "properties": { - "AlarmArn": { - "type": "string" - }, - "AlarmRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::Environment.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppConfig::HostedConfigurationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationProfileId": { - "type": "string" - }, - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LatestVersionNumber": { - "type": "number" - } - }, - "required": [ - "ApplicationId", - "ConfigurationProfileId", - "Content", - "ContentType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppConfig::HostedConfigurationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionMode": { - "type": "string" - }, - "ConnectorProfileConfig": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig" - }, - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "KMSArn": { - "type": "string" - } - }, - "required": [ - "ConnectionMode", - "ConnectorProfileName", - "ConnectorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::ConnectorProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "SecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest": { - "additionalProperties": false, - "properties": { - "AuthCode": { - "type": "string" - }, - "RedirectUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileCredentials": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials" - }, - "ConnectorProfileProperties": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties" - } - }, - "required": [ - "ConnectorProfileCredentials" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.AmplitudeConnectorProfileCredentials" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DatadogConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiToken": { - "type": "string" - } - }, - "required": [ - "ApiToken" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.DynatraceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.GoogleAnalyticsConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessKeyId": { - "type": "string" - }, - "Datakey": { - "type": "string" - }, - "SecretAccessKey": { - "type": "string" - }, - "UserId": { - "type": "string" - } - }, - "required": [ - "AccessKeyId", - "Datakey", - "SecretAccessKey", - "UserId" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.InforNexusConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.MarketoConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.RedshiftConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "DatabaseUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "DatabaseUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientCredentialsArn": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - }, - "RefreshToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SalesforceConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - }, - "isSandboxEnvironment": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ServiceNowConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SingularConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - } - }, - "required": [ - "ApiKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SlackConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.SnowflakeConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "PrivateLinkServiceName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "Stage": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Stage", - "Warehouse" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.TrendmicroConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "ApiSecretKey": { - "type": "string" - } - }, - "required": [ - "ApiSecretKey" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.VeevaConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileCredentials": { - "additionalProperties": false, - "properties": { - "AccessToken": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "ConnectorOAuthRequest": { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile.ConnectorOAuthRequest" - } - }, - "required": [ - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "AWS::AppFlow::ConnectorProfile.ZendeskConnectorProfileProperties": { - "additionalProperties": false, - "properties": { - "InstanceUrl": { - "type": "string" - } - }, - "required": [ - "InstanceUrl" - ], - "type": "object" - }, - "AWS::AppFlow::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationFlowConfigList": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationFlowConfig" - }, - "type": "array" - }, - "FlowName": { - "type": "string" - }, - "KMSArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceFlowConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TriggerConfig" - } - }, - "required": [ - "DestinationFlowConfigList", - "FlowName", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppFlow::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.AggregationConfig": { - "additionalProperties": false, - "properties": { - "AggregationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.AmplitudeSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "type": "string" - }, - "Datadog": { - "type": "string" - }, - "Dynatrace": { - "type": "string" - }, - "GoogleAnalytics": { - "type": "string" - }, - "InforNexus": { - "type": "string" - }, - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Singular": { - "type": "string" - }, - "Slack": { - "type": "string" - }, - "Trendmicro": { - "type": "string" - }, - "Veeva": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DatadogSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationConnectorProperties": { - "additionalProperties": false, - "properties": { - "EventBridge": { - "$ref": "#/definitions/AWS::AppFlow::Flow.EventBridgeDestinationProperties" - }, - "LookoutMetrics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.LookoutMetricsDestinationProperties" - }, - "Redshift": { - "$ref": "#/definitions/AWS::AppFlow::Flow.RedshiftDestinationProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3DestinationProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceDestinationProperties" - }, - "Snowflake": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SnowflakeDestinationProperties" - }, - "Upsolver": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverDestinationProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskDestinationProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.DestinationFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "DestinationConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DestinationConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "DestinationConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.DynatraceSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ErrorHandlingConfig": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "FailOnFirstError": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.EventBridgeDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.InforNexusSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.LookoutMetricsDestinationProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.PrefixConfig": { - "additionalProperties": false, - "properties": { - "PrefixFormat": { - "type": "string" - }, - "PrefixType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.RedshiftDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3DestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3OutputFormatConfig" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.S3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketPrefix" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleStartTime": { - "type": "number" - }, - "TimeZone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SingularSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SlackSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SnowflakeDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketPrefix": { - "type": "string" - }, - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IntermediateBucketName": { - "type": "string" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "IntermediateBucketName", - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Amplitude": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AmplitudeSourceProperties" - }, - "Datadog": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DatadogSourceProperties" - }, - "Dynatrace": { - "$ref": "#/definitions/AWS::AppFlow::Flow.DynatraceSourceProperties" - }, - "GoogleAnalytics": { - "$ref": "#/definitions/AWS::AppFlow::Flow.GoogleAnalyticsSourceProperties" - }, - "InforNexus": { - "$ref": "#/definitions/AWS::AppFlow::Flow.InforNexusSourceProperties" - }, - "Marketo": { - "$ref": "#/definitions/AWS::AppFlow::Flow.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::AppFlow::Flow.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ServiceNowSourceProperties" - }, - "Singular": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SingularSourceProperties" - }, - "Slack": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SlackSourceProperties" - }, - "Trendmicro": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TrendmicroSourceProperties" - }, - "Veeva": { - "$ref": "#/definitions/AWS::AppFlow::Flow.VeevaSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::AppFlow::Flow.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::AppFlow::Flow.TaskPropertiesObject" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TaskPropertiesObject": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TrendmicroSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ScheduledTriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverDestinationProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "S3OutputFormatConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig" - } - }, - "required": [ - "BucketName", - "S3OutputFormatConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.UpsolverS3OutputFormatConfig": { - "additionalProperties": false, - "properties": { - "AggregationConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.AggregationConfig" - }, - "FileType": { - "type": "string" - }, - "PrefixConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.PrefixConfig" - } - }, - "required": [ - "PrefixConfig" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.VeevaSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskDestinationProperties": { - "additionalProperties": false, - "properties": { - "ErrorHandlingConfig": { - "$ref": "#/definitions/AWS::AppFlow::Flow.ErrorHandlingConfig" - }, - "IdFieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Object": { - "type": "string" - }, - "WriteOperationType": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppFlow::Flow.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBridgeBus": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.EventFilter" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventBridgeBus", - "EventFilter", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppIntegrations::EventIntegration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventFilter": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.EventIntegrationAssociation": { - "additionalProperties": false, - "properties": { - "ClientAssociationMetadata": { - "items": { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration.Metadata" - }, - "type": "array" - }, - "ClientId": { - "type": "string" - }, - "EventBridgeRuleName": { - "type": "string" - }, - "EventIntegrationAssociationArn": { - "type": "string" - }, - "EventIntegrationAssociationId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppIntegrations::EventIntegration.Metadata": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayRouteName": { - "type": "string" - }, - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualGatewayName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::GatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.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" - } - }, - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteTarget": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService" - } - }, - "required": [ - "VirtualService" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GatewayRouteVirtualService": { - "additionalProperties": false, - "properties": { - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute.GrpcGatewayRouteMatch" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::GatewayRoute.GrpcGatewayRouteAction": { - "additionalProperties": false, - "properties": { - "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" - }, - "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" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.MeshSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Mesh" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.EgressFilter": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppMesh::Mesh.MeshSpec": { - "additionalProperties": false, - "properties": { - "EgressFilter": { - "$ref": "#/definitions/AWS::AppMesh::Mesh.EgressFilter" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "RouteName": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::Route.RouteSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualRouterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::Route.Duration": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRetryPolicy": { - "additionalProperties": false, - "properties": { - "GrpcRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "HttpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxRetries": { - "type": "number" - }, - "PerRetryTimeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "TcpRetryEvents": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxRetries", - "PerRetryTimeout" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRoute": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteAction" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMatch" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRetryPolicy" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcTimeout" - } - }, - "required": [ - "Action", - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMatch": { - "additionalProperties": false, - "properties": { - "Metadata": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadata" - }, - "type": "array" - }, - "MethodName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadata": { - "additionalProperties": false, - "properties": { - "Invert": { - "type": "boolean" - }, - "Match": { - "$ref": "#/definitions/AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.HeaderMatchMethod": { - "additionalProperties": false, - "properties": { - "Exact": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Range": { - "$ref": "#/definitions/AWS::AppMesh::Route.MatchRange" - }, - "Regex": { - "type": "string" - }, - "Suffix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.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" - }, - "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" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::Route.TcpTimeout" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpRouteAction": { - "additionalProperties": false, - "properties": { - "WeightedTargets": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::Route.WeightedTarget" - }, - "type": "array" - } - }, - "required": [ - "WeightedTargets" - ], - "type": "object" - }, - "AWS::AppMesh::Route.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::Route.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::Route.WeightedTarget": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "VirtualNode", - "Weight" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewaySpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualGatewayName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayFileAccessLog": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayHealthCheckPolicy" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayLogging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayPortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewaySpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayBackendDefaults" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayListener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayLogging" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway.VirtualGatewayTlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualNode" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AccessLog": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.FileAccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute" - }, - "type": "array" - }, - "NamespaceName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - } - }, - "required": [ - "NamespaceName", - "ServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Backend": { - "additionalProperties": false, - "properties": { - "VirtualService": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualServiceBackend" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.BackendDefaults": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicy": { - "additionalProperties": false, - "properties": { - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicyTls" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientPolicyTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientTlsCertificate" - }, - "Enforce": { - "type": "boolean" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContext" - } - }, - "required": [ - "Validation" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ClientTlsCertificate": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "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": { - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.GrpcTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "IntervalMillis": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "TimeoutMillis": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "required": [ - "HealthyThreshold", - "IntervalMillis", - "Protocol", - "TimeoutMillis", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.HttpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "PerRequest": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Listener": { - "additionalProperties": false, - "properties": { - "ConnectionPool": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HealthCheck" - }, - "OutlierDetection": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.OutlierDetection" - }, - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.PortMapping" - }, - "TLS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTls" - }, - "Timeout": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTimeout" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTimeout": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.GrpcTimeout" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.HttpTimeout" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TcpTimeout" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTls": { - "additionalProperties": false, - "properties": { - "Certificate": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsCertificate" - }, - "Mode": { - "type": "string" - }, - "Validation": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContext" - } - }, - "required": [ - "Certificate", - "Mode" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsCertificate": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsAcmCertificate" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsFileCertificate": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "required": [ - "CertificateChain", - "PrivateKey" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsSdsCertificate": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ListenerTlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.Logging": { - "additionalProperties": false, - "properties": { - "AccessLog": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AccessLog" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.OutlierDetection": { - "additionalProperties": false, - "properties": { - "BaseEjectionDuration": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "Interval": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - }, - "MaxEjectionPercent": { - "type": "number" - }, - "MaxServerErrors": { - "type": "number" - } - }, - "required": [ - "BaseEjectionDuration", - "Interval", - "MaxEjectionPercent", - "MaxServerErrors" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.ServiceDiscovery": { - "additionalProperties": false, - "properties": { - "AWSCloudMap": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery" - }, - "DNS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.DnsServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers": { - "additionalProperties": false, - "properties": { - "Exact": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.SubjectAlternativeNames": { - "additionalProperties": false, - "properties": { - "Match": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNameMatchers" - } - }, - "required": [ - "Match" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TcpTimeout": { - "additionalProperties": false, - "properties": { - "Idle": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Duration" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContext": { - "additionalProperties": false, - "properties": { - "SubjectAlternativeNames": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.SubjectAlternativeNames" - }, - "Trust": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextTrust" - } - }, - "required": [ - "Trust" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CertificateAuthorityArns" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust": { - "additionalProperties": false, - "properties": { - "CertificateChain": { - "type": "string" - } - }, - "required": [ - "CertificateChain" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust": { - "additionalProperties": false, - "properties": { - "SecretName": { - "type": "string" - } - }, - "required": [ - "SecretName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.TlsValidationContextTrust": { - "additionalProperties": false, - "properties": { - "ACM": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextAcmTrust" - }, - "File": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextFileTrust" - }, - "SDS": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.TlsValidationContextSdsTrust" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeConnectionPool": { - "additionalProperties": false, - "properties": { - "GRPC": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool" - }, - "HTTP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool" - }, - "HTTP2": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool" - }, - "TCP": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeGrpcConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttp2ConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxRequests": { - "type": "number" - } - }, - "required": [ - "MaxRequests" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeHttpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - }, - "MaxPendingRequests": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeSpec": { - "additionalProperties": false, - "properties": { - "BackendDefaults": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.BackendDefaults" - }, - "Backends": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Backend" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Listener" - }, - "type": "array" - }, - "Logging": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.Logging" - }, - "ServiceDiscovery": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ServiceDiscovery" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualNodeTcpConnectionPool": { - "additionalProperties": false, - "properties": { - "MaxConnections": { - "type": "number" - } - }, - "required": [ - "MaxConnections" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualNode.VirtualServiceBackend": { - "additionalProperties": false, - "properties": { - "ClientPolicy": { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode.ClientPolicy" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "VirtualServiceName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualRouter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.PortMapping": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Port", - "Protocol" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterListener": { - "additionalProperties": false, - "properties": { - "PortMapping": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.PortMapping" - } - }, - "required": [ - "PortMapping" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": { - "additionalProperties": false, - "properties": { - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter.VirtualRouterListener" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MeshName": { - "type": "string" - }, - "MeshOwner": { - "type": "string" - }, - "Spec": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VirtualServiceName": { - "type": "string" - } - }, - "required": [ - "MeshName", - "Spec", - "VirtualServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppMesh::VirtualService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNodeName": { - "type": "string" - } - }, - "required": [ - "VirtualNodeName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualRouterName": { - "type": "string" - } - }, - "required": [ - "VirtualRouterName" - ], - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceProvider": { - "additionalProperties": false, - "properties": { - "VirtualNode": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualNodeServiceProvider" - }, - "VirtualRouter": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualRouterServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppMesh::VirtualService.VirtualServiceSpec": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::AppMesh::VirtualService.VirtualServiceProvider" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingConfigurationArn": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.EncryptionConfiguration" - }, - "HealthCheckConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.HealthCheckConfiguration" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.InstanceConfiguration" - }, - "ServiceName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SourceConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppRunner::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppRunner::Service.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "AccessRoleArn": { - "type": "string" - }, - "ConnectionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeConfigurationValues": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfigurationValues" - }, - "ConfigurationSource": { - "type": "string" - } - }, - "required": [ - "ConfigurationSource" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeConfigurationValues": { - "additionalProperties": false, - "properties": { - "BuildCommand": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "required": [ - "Runtime" - ], - "type": "object" - }, - "AWS::AppRunner::Service.CodeRepository": { - "additionalProperties": false, - "properties": { - "CodeConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeConfiguration" - }, - "RepositoryUrl": { - "type": "string" - }, - "SourceCodeVersion": { - "$ref": "#/definitions/AWS::AppRunner::Service.SourceCodeVersion" - } - }, - "required": [ - "RepositoryUrl", - "SourceCodeVersion" - ], - "type": "object" - }, - "AWS::AppRunner::Service.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKey": { - "type": "string" - } - }, - "required": [ - "KmsKey" - ], - "type": "object" - }, - "AWS::AppRunner::Service.HealthCheckConfiguration": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Timeout": { - "type": "number" - }, - "UnhealthyThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageConfiguration": { - "additionalProperties": false, - "properties": { - "Port": { - "type": "string" - }, - "RuntimeEnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::AppRunner::Service.KeyValuePair" - }, - "type": "array" - }, - "StartCommand": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.ImageRepository": { - "additionalProperties": false, - "properties": { - "ImageConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageConfiguration" - }, - "ImageIdentifier": { - "type": "string" - }, - "ImageRepositoryType": { - "type": "string" - } - }, - "required": [ - "ImageIdentifier", - "ImageRepositoryType" - ], - "type": "object" - }, - "AWS::AppRunner::Service.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "Cpu": { - "type": "string" - }, - "InstanceRoleArn": { - "type": "string" - }, - "Memory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppRunner::Service.SourceCodeVersion": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::AppRunner::Service.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::AppRunner::Service.AuthenticationConfiguration" - }, - "AutoDeploymentsEnabled": { - "type": "boolean" - }, - "CodeRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.CodeRepository" - }, - "ImageRepository": { - "$ref": "#/definitions/AWS::AppRunner::Service.ImageRepository" - } - }, - "type": "object" - }, - "AWS::AppStream::DirectoryConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceAccountCredentials": { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig.ServiceAccountCredentials" - } - }, - "required": [ - "DirectoryName", - "OrganizationalUnitDistinguishedNames", - "ServiceAccountCredentials" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::DirectoryConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": { - "additionalProperties": false, - "properties": { - "AccountName": { - "type": "string" - }, - "AccountPassword": { - "type": "string" - } - }, - "required": [ - "AccountName", - "AccountPassword" - ], - "type": "object" - }, - "AWS::AppStream::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeCapacity": { - "$ref": "#/definitions/AWS::AppStream::Fleet.ComputeCapacity" - }, - "Description": { - "type": "string" - }, - "DisconnectTimeoutInSeconds": { - "type": "number" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::Fleet.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "FleetType": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "IdleDisconnectTimeoutInSeconds": { - "type": "number" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxUserDurationInSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "StreamView": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::Fleet.VpcConfig" - } - }, - "required": [ - "ComputeCapacity", - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.ComputeCapacity": { - "additionalProperties": false, - "properties": { - "DesiredInstances": { - "type": "number" - } - }, - "required": [ - "DesiredInstances" - ], - "type": "object" - }, - "AWS::AppStream::Fleet.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::Fleet.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.AccessEndpoint" - }, - "type": "array" - }, - "AppstreamAgentVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "DomainJoinInfo": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.DomainJoinInfo" - }, - "EnableDefaultInternetAccess": { - "type": "boolean" - }, - "IamRoleArn": { - "type": "string" - }, - "ImageArn": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder.VpcConfig" - } - }, - "required": [ - "InstanceType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::ImageBuilder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::ImageBuilder.DomainJoinInfo": { - "additionalProperties": false, - "properties": { - "DirectoryName": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppStream::ImageBuilder.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppStream::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessEndpoints": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.AccessEndpoint" - }, - "type": "array" - }, - "ApplicationSettings": { - "$ref": "#/definitions/AWS::AppStream::Stack.ApplicationSettings" - }, - "AttributesToDelete": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeleteStorageConnectors": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "EmbedHostDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FeedbackURL": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RedirectURL": { - "type": "string" - }, - "StorageConnectors": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.StorageConnector" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserSettings": { - "items": { - "$ref": "#/definitions/AWS::AppStream::Stack.UserSetting" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AppStream::Stack.AccessEndpoint": { - "additionalProperties": false, - "properties": { - "EndpointType": { - "type": "string" - }, - "VpceId": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "VpceId" - ], - "type": "object" - }, - "AWS::AppStream::Stack.ApplicationSettings": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "SettingsGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::AppStream::Stack.StorageConnector": { - "additionalProperties": false, - "properties": { - "ConnectorType": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdentifier": { - "type": "string" - } - }, - "required": [ - "ConnectorType" - ], - "type": "object" - }, - "AWS::AppStream::Stack.UserSetting": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "Action", - "Permission" - ], - "type": "object" - }, - "AWS::AppStream::StackFleetAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FleetName": { - "type": "string" - }, - "StackName": { - "type": "string" - } - }, - "required": [ - "FleetName", - "StackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackFleetAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::StackUserAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "SendEmailNotification": { - "type": "boolean" - }, - "StackName": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "StackName", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::StackUserAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppStream::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "FirstName": { - "type": "string" - }, - "LastName": { - "type": "string" - }, - "MessageAction": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "AuthenticationType", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppStream::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiCache": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiCachingBehavior": { - "type": "string" - }, - "ApiId": { - "type": "string" - }, - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "Ttl": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiCachingBehavior", - "ApiId", - "Ttl", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiCache" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::ApiKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "ApiKeyId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Expires": { - "type": "number" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::ApiKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DynamoDBConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DynamoDBConfig" - }, - "ElasticsearchConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.ElasticsearchConfig" - }, - "HttpConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.HttpConfig" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.LambdaConfig" - }, - "Name": { - "type": "string" - }, - "RelationalDatabaseConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RelationalDatabaseConfig" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ApiId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationType": { - "type": "string" - }, - "AwsIamConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AwsIamConfig" - } - }, - "required": [ - "AuthorizationType" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.AwsIamConfig": { - "additionalProperties": false, - "properties": { - "SigningRegion": { - "type": "string" - }, - "SigningServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::DataSource.DeltaSyncConfig": { - "additionalProperties": false, - "properties": { - "BaseTableTTL": { - "type": "string" - }, - "DeltaSyncTableName": { - "type": "string" - }, - "DeltaSyncTableTTL": { - "type": "string" - } - }, - "required": [ - "BaseTableTTL", - "DeltaSyncTableName", - "DeltaSyncTableTTL" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.DynamoDBConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "DeltaSyncConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.DeltaSyncConfig" - }, - "TableName": { - "type": "string" - }, - "UseCallerCredentials": { - "type": "boolean" - }, - "Versioned": { - "type": "boolean" - } - }, - "required": [ - "AwsRegion", - "TableName" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.ElasticsearchConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.HttpConfig": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.AuthorizationConfig" - }, - "Endpoint": { - "type": "string" - } - }, - "required": [ - "Endpoint" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.LambdaConfig": { - "additionalProperties": false, - "properties": { - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RdsHttpEndpointConfig": { - "additionalProperties": false, - "properties": { - "AwsRegion": { - "type": "string" - }, - "AwsSecretStoreArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DbClusterIdentifier": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "AwsRegion", - "AwsSecretStoreArn", - "DbClusterIdentifier" - ], - "type": "object" - }, - "AWS::AppSync::DataSource.RelationalDatabaseConfig": { - "additionalProperties": false, - "properties": { - "RdsHttpEndpointConfig": { - "$ref": "#/definitions/AWS::AppSync::DataSource.RdsHttpEndpointConfig" - }, - "RelationalDatabaseSourceType": { - "type": "string" - } - }, - "required": [ - "RelationalDatabaseSourceType" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "DataSourceName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.SyncConfig" - } - }, - "required": [ - "ApiId", - "DataSourceName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::FunctionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::FunctionConfiguration.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalAuthenticationProviders": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders" - }, - "AuthenticationType": { - "type": "string" - }, - "LambdaAuthorizerConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig" - }, - "LogConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.LogConfig" - }, - "Name": { - "type": "string" - }, - "OpenIDConnectConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.OpenIDConnectConfig" - }, - "Tags": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.Tags" - }, - "UserPoolConfig": { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi.UserPoolConfig" - }, - "XrayEnabled": { - "type": "boolean" - } - }, - "required": [ - "AuthenticationType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLApi" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": { - "additionalProperties": false, - "properties": { - "AuthenticationType": { - "type": "string" - }, - "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.AdditionalAuthenticationProviders": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.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.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::AppSync::GraphQLApi.UserPoolConfig": { - "additionalProperties": false, - "properties": { - "AppIdClientRegex": { - "type": "string" - }, - "AwsRegion": { - "type": "string" - }, - "DefaultAction": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::GraphQLSchema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "Definition": { - "type": "string" - }, - "DefinitionS3Location": { - "type": "string" - } - }, - "required": [ - "ApiId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::GraphQLSchema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiId": { - "type": "string" - }, - "CachingConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.CachingConfig" - }, - "DataSourceName": { - "type": "string" - }, - "FieldName": { - "type": "string" - }, - "Kind": { - "type": "string" - }, - "PipelineConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.PipelineConfig" - }, - "RequestMappingTemplate": { - "type": "string" - }, - "RequestMappingTemplateS3Location": { - "type": "string" - }, - "ResponseMappingTemplate": { - "type": "string" - }, - "ResponseMappingTemplateS3Location": { - "type": "string" - }, - "SyncConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.SyncConfig" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "ApiId", - "FieldName", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AppSync::Resolver" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AppSync::Resolver.CachingConfig": { - "additionalProperties": false, - "properties": { - "CachingKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ttl": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": { - "additionalProperties": false, - "properties": { - "LambdaConflictHandlerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.PipelineConfig": { - "additionalProperties": false, - "properties": { - "Functions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AppSync::Resolver.SyncConfig": { - "additionalProperties": false, - "properties": { - "ConflictDetection": { - "type": "string" - }, - "ConflictHandler": { - "type": "string" - }, - "LambdaConflictHandlerConfig": { - "$ref": "#/definitions/AWS::AppSync::Resolver.LambdaConflictHandlerConfig" - } - }, - "required": [ - "ConflictDetection" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScheduledActions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction" - }, - "type": "array" - }, - "ServiceNamespace": { - "type": "string" - }, - "SuspendedState": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "RoleARN", - "ScalableDimension", - "ServiceNamespace" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalableTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "ScalableTargetAction": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction" - }, - "Schedule": { - "type": "string" - }, - "ScheduledActionName": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingTargetId": { - "type": "string" - }, - "ServiceNamespace": { - "type": "string" - }, - "StepScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationAutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "Cooldown": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoConfigurationEnabled": { - "type": "boolean" - }, - "CWEMonitorEnabled": { - "type": "boolean" - }, - "ComponentMonitoringSettings": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentMonitoringSetting" - }, - "type": "array" - }, - "CustomComponents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.CustomComponent" - }, - "type": "array" - }, - "LogPatternSets": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPatternSet" - }, - "type": "array" - }, - "OpsCenterEnabled": { - "type": "boolean" - }, - "OpsItemSNSTopicArn": { - "type": "string" - }, - "ResourceGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ApplicationInsights::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "Severity": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.AlarmMetric": { - "additionalProperties": false, - "properties": { - "AlarmMetricName": { - "type": "string" - } - }, - "required": [ - "AlarmMetricName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ConfigurationDetails" - }, - "SubComponentTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentTypeConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.ComponentMonitoringSetting": { - "additionalProperties": false, - "properties": { - "ComponentARN": { - "type": "string" - }, - "ComponentConfigurationMode": { - "type": "string" - }, - "ComponentName": { - "type": "string" - }, - "CustomComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "DefaultOverwriteComponentConfiguration": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.ComponentConfiguration" - }, - "Tier": { - "type": "string" - } - }, - "required": [ - "ComponentConfigurationMode", - "Tier" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.ConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Alarm" - }, - "type": "array" - }, - "JMXPrometheusExporter": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.JMXPrometheusExporter" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.CustomComponent": { - "additionalProperties": false, - "properties": { - "ComponentName": { - "type": "string" - }, - "ResourceList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ComponentName", - "ResourceList" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.JMXPrometheusExporter": { - "additionalProperties": false, - "properties": { - "HostPort": { - "type": "string" - }, - "JMXURL": { - "type": "string" - }, - "PrometheusPort": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.Log": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogPath": { - "type": "string" - }, - "LogType": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "LogType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPattern": { - "additionalProperties": false, - "properties": { - "Pattern": { - "type": "string" - }, - "PatternName": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Pattern", - "PatternName", - "Rank" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.LogPatternSet": { - "additionalProperties": false, - "properties": { - "LogPatterns": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.LogPattern" - }, - "type": "array" - }, - "PatternSetName": { - "type": "string" - } - }, - "required": [ - "LogPatterns", - "PatternSetName" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentConfigurationDetails": { - "additionalProperties": false, - "properties": { - "AlarmMetrics": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.AlarmMetric" - }, - "type": "array" - }, - "Logs": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.Log" - }, - "type": "array" - }, - "WindowsEvents": { - "items": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.WindowsEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ApplicationInsights::Application.SubComponentTypeConfiguration": { - "additionalProperties": false, - "properties": { - "SubComponentConfigurationDetails": { - "$ref": "#/definitions/AWS::ApplicationInsights::Application.SubComponentConfigurationDetails" - }, - "SubComponentType": { - "type": "string" - } - }, - "required": [ - "SubComponentConfigurationDetails", - "SubComponentType" - ], - "type": "object" - }, - "AWS::ApplicationInsights::Application.WindowsEvent": { - "additionalProperties": false, - "properties": { - "EventLevels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EventName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "PatternSet": { - "type": "string" - } - }, - "required": [ - "EventLevels", - "EventName", - "LogGroupName" - ], - "type": "object" - }, - "AWS::Athena::DataCatalog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::DataCatalog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::NamedQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - }, - "WorkGroup": { - "type": "string" - } - }, - "required": [ - "Database", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::NamedQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::PreparedStatement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecursiveDeleteOption": { - "type": "boolean" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkGroupConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfiguration" - }, - "WorkGroupConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Athena::WorkGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionOption": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionOption" - ], - "type": "object" - }, - "AWS::Athena::WorkGroup.EngineVersion": { - "additionalProperties": false, - "properties": { - "EffectiveEngineVersion": { - "type": "string" - }, - "SelectedEngineVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.ResultConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EncryptionConfiguration" - }, - "OutputLocation": { - "type": "string" - }, - "RemoveEncryptionConfiguration": { - "type": "boolean" - }, - "RemoveOutputLocation": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfiguration": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfiguration": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfiguration" - } - }, - "type": "object" - }, - "AWS::Athena::WorkGroup.WorkGroupConfigurationUpdates": { - "additionalProperties": false, - "properties": { - "BytesScannedCutoffPerQuery": { - "type": "number" - }, - "EnforceWorkGroupConfiguration": { - "type": "boolean" - }, - "EngineVersion": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.EngineVersion" - }, - "PublishCloudWatchMetricsEnabled": { - "type": "boolean" - }, - "RemoveBytesScannedCutoffPerQuery": { - "type": "boolean" - }, - "RequesterPaysEnabled": { - "type": "boolean" - }, - "ResultConfigurationUpdates": { - "$ref": "#/definitions/AWS::Athena::WorkGroup.ResultConfigurationUpdates" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentReportsDestination": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AssessmentReportsDestination" - }, - "AwsAccount": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "Description": { - "type": "string" - }, - "FrameworkId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Roles": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Role" - }, - "type": "array" - }, - "Scope": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.Scope" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AuditManager::Assessment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSAccount": { - "additionalProperties": false, - "properties": { - "EmailAddress": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AWSService": { - "additionalProperties": false, - "properties": { - "ServiceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.AssessmentReportsDestination": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Delegation": { - "additionalProperties": false, - "properties": { - "AssessmentId": { - "type": "string" - }, - "AssessmentName": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "ControlSetId": { - "type": "string" - }, - "CreatedBy": { - "type": "string" - }, - "CreationTime": { - "type": "number" - }, - "Id": { - "type": "string" - }, - "LastUpdated": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Role": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "RoleType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AuditManager::Assessment.Scope": { - "additionalProperties": false, - "properties": { - "AwsAccounts": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSAccount" - }, - "type": "array" - }, - "AwsServices": { - "items": { - "$ref": "#/definitions/AWS::AuditManager::Assessment.AWSService" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CapacityRebalance": { - "type": "boolean" - }, - "Context": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "DesiredCapacity": { - "type": "string" - }, - "HealthCheckGracePeriod": { - "type": "number" - }, - "HealthCheckType": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "LifecycleHookSpecificationList": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification" - }, - "type": "array" - }, - "LoadBalancerNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxInstanceLifetime": { - "type": "number" - }, - "MaxSize": { - "type": "string" - }, - "MetricsCollection": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MetricsCollection" - }, - "type": "array" - }, - "MinSize": { - "type": "string" - }, - "MixedInstancesPolicy": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy" - }, - "NewInstancesProtectedFromScaleIn": { - "type": "boolean" - }, - "NotificationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration" - }, - "type": "array" - }, - "PlacementGroup": { - "type": "string" - }, - "ServiceLinkedRoleARN": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.TagProperty" - }, - "type": "array" - }, - "TargetGroupARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TerminationPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VPCZoneIdentifier": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::AutoScalingGroup" - ], - "type": "string" - }, - "UpdatePolicy": { - "type": "object" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": { - "additionalProperties": false, - "properties": { - "OnDemandAllocationStrategy": { - "type": "string" - }, - "OnDemandBaseCapacity": { - "type": "number" - }, - "OnDemandPercentageAboveBaseCapacity": { - "type": "number" - }, - "SpotAllocationStrategy": { - "type": "string" - }, - "SpotInstancePools": { - "type": "number" - }, - "SpotMaxPrice": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "required": [ - "LaunchTemplateSpecification" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": { - "additionalProperties": false, - "properties": { - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "LifecycleHookName", - "LifecycleTransition" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": { - "additionalProperties": false, - "properties": { - "Granularity": { - "type": "string" - }, - "Metrics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Granularity" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": { - "additionalProperties": false, - "properties": { - "InstancesDistribution": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.InstancesDistribution" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup.LaunchTemplate" - } - }, - "required": [ - "LaunchTemplate" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TopicARN": { - "type": "string" - } - }, - "required": [ - "TopicARN" - ], - "type": "object" - }, - "AWS::AutoScaling::AutoScalingGroup.TagProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "PropagateAtLaunch": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "PropagateAtLaunch", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping" - }, - "type": "array" - }, - "ClassicLinkVPCId": { - "type": "string" - }, - "ClassicLinkVPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "InstanceMonitoring": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchConfigurationName": { - "type": "string" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration.MetadataOptions" - }, - "PlacementTenancy": { - "type": "string" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "UserData": { - "type": "string" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LaunchConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::LaunchConfiguration.BlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DefaultResult": { - "type": "string" - }, - "HeartbeatTimeout": { - "type": "number" - }, - "LifecycleHookName": { - "type": "string" - }, - "LifecycleTransition": { - "type": "string" - }, - "NotificationMetadata": { - "type": "string" - }, - "NotificationTargetARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName", - "LifecycleTransition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::LifecycleHook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "AutoScalingGroupName": { - "type": "string" - }, - "Cooldown": { - "type": "string" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "MetricAggregationType": { - "type": "string" - }, - "MinAdjustmentMagnitude": { - "type": "number" - }, - "PolicyType": { - "type": "string" - }, - "ScalingAdjustment": { - "type": "number" - }, - "StepAdjustments": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.StepAdjustment" - }, - "type": "array" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::ScalingPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedMetricType" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.StepAdjustment": { - "additionalProperties": false, - "properties": { - "MetricIntervalLowerBound": { - "type": "number" - }, - "MetricIntervalUpperBound": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.CustomizedMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "PredefinedMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::AutoScaling::ScheduledAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "DesiredCapacity": { - "type": "number" - }, - "EndTime": { - "type": "string" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "Recurrence": { - "type": "string" - }, - "StartTime": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupName": { - "type": "string" - }, - "MaxGroupPreparedCapacity": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "PoolState": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScaling::WarmPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationSource": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ApplicationSource" - }, - "ScalingInstructions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction" - }, - "type": "array" - } - }, - "required": [ - "ApplicationSource", - "ScalingInstructions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::AutoScalingPlans::ScalingPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": { - "additionalProperties": false, - "properties": { - "CloudFormationStackARN": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.MetricDimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Statistic": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Statistic" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedLoadMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedLoadMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": { - "additionalProperties": false, - "properties": { - "PredefinedScalingMetricType": { - "type": "string" - }, - "ResourceLabel": { - "type": "string" - } - }, - "required": [ - "PredefinedScalingMetricType" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": { - "additionalProperties": false, - "properties": { - "CustomizedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification" - }, - "DisableDynamicScaling": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "PredefinedLoadMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification" - }, - "PredictiveScalingMaxCapacityBehavior": { - "type": "string" - }, - "PredictiveScalingMaxCapacityBuffer": { - "type": "number" - }, - "PredictiveScalingMode": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "ScalableDimension": { - "type": "string" - }, - "ScalingPolicyUpdateBehavior": { - "type": "string" - }, - "ScheduledActionBufferTime": { - "type": "number" - }, - "ServiceNamespace": { - "type": "string" - }, - "TargetTrackingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration" - }, - "type": "array" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "ResourceId", - "ScalableDimension", - "ServiceNamespace", - "TargetTrackingConfigurations" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "CustomizedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification" - }, - "DisableScaleIn": { - "type": "boolean" - }, - "EstimatedInstanceWarmup": { - "type": "number" - }, - "PredefinedScalingMetricSpecification": { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlan": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupPlanResourceType" - }, - "BackupPlanTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "BackupPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupPlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType": { - "additionalProperties": false, - "properties": { - "BackupOptions": { - "type": "object" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "BackupOptions", - "ResourceType" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupPlanResourceType": { - "additionalProperties": false, - "properties": { - "AdvancedBackupSettings": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.AdvancedBackupSettingResourceType" - }, - "type": "array" - }, - "BackupPlanName": { - "type": "string" - }, - "BackupPlanRule": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.BackupRuleResourceType" - }, - "type": "array" - } - }, - "required": [ - "BackupPlanName", - "BackupPlanRule" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.BackupRuleResourceType": { - "additionalProperties": false, - "properties": { - "CompletionWindowMinutes": { - "type": "number" - }, - "CopyActions": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.CopyActionResourceType" - }, - "type": "array" - }, - "EnableContinuousBackup": { - "type": "boolean" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - }, - "RecoveryPointTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "RuleName": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "StartWindowMinutes": { - "type": "number" - }, - "TargetBackupVault": { - "type": "string" - } - }, - "required": [ - "RuleName", - "TargetBackupVault" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.CopyActionResourceType": { - "additionalProperties": false, - "properties": { - "DestinationBackupVaultArn": { - "type": "string" - }, - "Lifecycle": { - "$ref": "#/definitions/AWS::Backup::BackupPlan.LifecycleResourceType" - } - }, - "required": [ - "DestinationBackupVaultArn" - ], - "type": "object" - }, - "AWS::Backup::BackupPlan.LifecycleResourceType": { - "additionalProperties": false, - "properties": { - "DeleteAfterDays": { - "type": "number" - }, - "MoveToColdStorageAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Backup::BackupSelection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupPlanId": { - "type": "string" - }, - "BackupSelection": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.BackupSelectionResourceType" - } - }, - "required": [ - "BackupPlanId", - "BackupSelection" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupSelection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.BackupSelectionResourceType": { - "additionalProperties": false, - "properties": { - "IamRoleArn": { - "type": "string" - }, - "ListOfTags": { - "items": { - "$ref": "#/definitions/AWS::Backup::BackupSelection.ConditionResourceType" - }, - "type": "array" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelectionName": { - "type": "string" - } - }, - "required": [ - "IamRoleArn", - "SelectionName" - ], - "type": "object" - }, - "AWS::Backup::BackupSelection.ConditionResourceType": { - "additionalProperties": false, - "properties": { - "ConditionKey": { - "type": "string" - }, - "ConditionType": { - "type": "string" - }, - "ConditionValue": { - "type": "string" - } - }, - "required": [ - "ConditionKey", - "ConditionType", - "ConditionValue" - ], - "type": "object" - }, - "AWS::Backup::BackupVault": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicy": { - "type": "object" - }, - "BackupVaultName": { - "type": "string" - }, - "BackupVaultTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EncryptionKeyArn": { - "type": "string" - }, - "Notifications": { - "$ref": "#/definitions/AWS::Backup::BackupVault.NotificationObjectType" - } - }, - "required": [ - "BackupVaultName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Backup::BackupVault" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Backup::BackupVault.NotificationObjectType": { - "additionalProperties": false, - "properties": { - "BackupVaultEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SNSTopicArn": { - "type": "string" - } - }, - "required": [ - "BackupVaultEvents", - "SNSTopicArn" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentName": { - "type": "string" - }, - "ComputeResources": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.ComputeResources" - }, - "ServiceRole": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::ComputeEnvironment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.ComputeResources": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BidPercentage": { - "type": "number" - }, - "DesiredvCpus": { - "type": "number" - }, - "Ec2Configuration": { - "items": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject" - }, - "type": "array" - }, - "Ec2KeyPair": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification" - }, - "MaxvCpus": { - "type": "number" - }, - "MinvCpus": { - "type": "number" - }, - "PlacementGroup": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpotIamFleetRole": { - "type": "string" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "MaxvCpus", - "Subnets", - "Type" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.Ec2ConfigurationObject": { - "additionalProperties": false, - "properties": { - "ImageIdOverride": { - "type": "string" - }, - "ImageType": { - "type": "string" - } - }, - "required": [ - "ImageType" - ], - "type": "object" - }, - "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "JobDefinitionName": { - "type": "string" - }, - "NodeProperties": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeProperties" - }, - "Parameters": { - "type": "object" - }, - "PlatformCapabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PropagateTags": { - "type": "boolean" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.RetryStrategy" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Timeout" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "Iam": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.ContainerProperties": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Environment" - }, - "type": "array" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FargatePlatformConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.FargatePlatformConfiguration" - }, - "Image": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobRoleArn": { - "type": "string" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.MountPoints" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NetworkConfiguration" - }, - "Privileged": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "Vcpus": { - "type": "number" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Volumes" - }, - "type": "array" - } - }, - "required": [ - "Image" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EfsVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.AuthorizationConfig" - }, - "FileSystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Environment": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.EvaluateOnExit": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "OnExitCode": { - "type": "string" - }, - "OnReason": { - "type": "string" - }, - "OnStatusReason": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.FargatePlatformConfiguration": { - "additionalProperties": false, - "properties": { - "PlatformVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.MountPoints": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeProperties": { - "additionalProperties": false, - "properties": { - "MainNode": { - "type": "number" - }, - "NodeRangeProperties": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.NodeRangeProperty" - }, - "type": "array" - }, - "NumNodes": { - "type": "number" - } - }, - "required": [ - "MainNode", - "NodeRangeProperties", - "NumNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.NodeRangeProperty": { - "additionalProperties": false, - "properties": { - "Container": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.ContainerProperties" - }, - "TargetNodes": { - "type": "string" - } - }, - "required": [ - "TargetNodes" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.RetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - }, - "EvaluateOnExit": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EvaluateOnExit" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Timeout": { - "additionalProperties": false, - "properties": { - "AttemptDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "ContainerPath", - "Size" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::Batch::JobDefinition.Volumes": { - "additionalProperties": false, - "properties": { - "EfsVolumeConfiguration": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.EfsVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::Batch::JobDefinition.VolumesHost" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobDefinition.VolumesHost": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Batch::JobQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ComputeEnvironmentOrder": { - "items": { - "$ref": "#/definitions/AWS::Batch::JobQueue.ComputeEnvironmentOrder" - }, - "type": "array" - }, - "JobQueueName": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "State": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ComputeEnvironmentOrder", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Batch::JobQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Batch::JobQueue.ComputeEnvironmentOrder": { - "additionalProperties": false, - "properties": { - "ComputeEnvironment": { - "type": "string" - }, - "Order": { - "type": "number" - } - }, - "required": [ - "ComputeEnvironment", - "Order" - ], - "type": "object" - }, - "AWS::Budgets::Budget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Budget": { - "$ref": "#/definitions/AWS::Budgets::Budget.BudgetData" - }, - "NotificationsWithSubscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.NotificationWithSubscribers" - }, - "type": "array" - } - }, - "required": [ - "Budget" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::Budget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::Budget.BudgetData": { - "additionalProperties": false, - "properties": { - "BudgetLimit": { - "$ref": "#/definitions/AWS::Budgets::Budget.Spend" - }, - "BudgetName": { - "type": "string" - }, - "BudgetType": { - "type": "string" - }, - "CostFilters": { - "type": "object" - }, - "CostTypes": { - "$ref": "#/definitions/AWS::Budgets::Budget.CostTypes" - }, - "PlannedBudgetLimits": { - "type": "object" - }, - "TimePeriod": { - "$ref": "#/definitions/AWS::Budgets::Budget.TimePeriod" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "BudgetType", - "TimeUnit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.CostTypes": { - "additionalProperties": false, - "properties": { - "IncludeCredit": { - "type": "boolean" - }, - "IncludeDiscount": { - "type": "boolean" - }, - "IncludeOtherSubscription": { - "type": "boolean" - }, - "IncludeRecurring": { - "type": "boolean" - }, - "IncludeRefund": { - "type": "boolean" - }, - "IncludeSubscription": { - "type": "boolean" - }, - "IncludeSupport": { - "type": "boolean" - }, - "IncludeTax": { - "type": "boolean" - }, - "IncludeUpfront": { - "type": "boolean" - }, - "UseAmortized": { - "type": "boolean" - }, - "UseBlended": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Budgets::Budget.Notification": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdType": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "NotificationType", - "Threshold" - ], - "type": "object" - }, - "AWS::Budgets::Budget.NotificationWithSubscribers": { - "additionalProperties": false, - "properties": { - "Notification": { - "$ref": "#/definitions/AWS::Budgets::Budget.Notification" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::Budget.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "Notification", - "Subscribers" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Spend": { - "additionalProperties": false, - "properties": { - "Amount": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "Amount", - "Unit" - ], - "type": "object" - }, - "AWS::Budgets::Budget.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "SubscriptionType": { - "type": "string" - } - }, - "required": [ - "Address", - "SubscriptionType" - ], - "type": "object" - }, - "AWS::Budgets::Budget.TimePeriod": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionThreshold": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ActionThreshold" - }, - "ActionType": { - "type": "string" - }, - "ApprovalModel": { - "type": "string" - }, - "BudgetName": { - "type": "string" - }, - "Definition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Definition" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "NotificationType": { - "type": "string" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.Subscriber" - }, - "type": "array" - } - }, - "required": [ - "ActionThreshold", - "ActionType", - "BudgetName", - "Definition", - "ExecutionRoleArn", - "NotificationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Budgets::BudgetsAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ActionThreshold": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Definition": { - "additionalProperties": false, - "properties": { - "IamActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.IamActionDefinition" - }, - "ScpActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.ScpActionDefinition" - }, - "SsmActionDefinition": { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction.SsmActionDefinition" - } - }, - "type": "object" - }, - "AWS::Budgets::BudgetsAction.IamActionDefinition": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyArn": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyArn" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.ScpActionDefinition": { - "additionalProperties": false, - "properties": { - "PolicyId": { - "type": "string" - }, - "TargetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyId", - "TargetIds" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.SsmActionDefinition": { - "additionalProperties": false, - "properties": { - "InstanceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "Subtype": { - "type": "string" - } - }, - "required": [ - "InstanceIds", - "Region", - "Subtype" - ], - "type": "object" - }, - "AWS::Budgets::BudgetsAction.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::AnomalyMonitor": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MonitorDimension": { - "type": "string" - }, - "MonitorName": { - "type": "string" - }, - "MonitorSpecification": { - "type": "string" - }, - "MonitorType": { - "type": "string" - } - }, - "required": [ - "MonitorName", - "MonitorType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalyMonitor" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Frequency": { - "type": "string" - }, - "MonitorArnList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subscribers": { - "items": { - "$ref": "#/definitions/AWS::CE::AnomalySubscription.Subscriber" - }, - "type": "array" - }, - "SubscriptionName": { - "type": "string" - }, - "Threshold": { - "type": "number" - } - }, - "required": [ - "Frequency", - "MonitorArnList", - "Subscribers", - "SubscriptionName", - "Threshold" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::AnomalySubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CE::AnomalySubscription.Subscriber": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Address", - "Type" - ], - "type": "object" - }, - "AWS::CE::CostCategory": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleVersion", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CE::CostCategory" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CUR::ReportDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalArtifacts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSchemaElements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BillingViewArn": { - "type": "string" - }, - "Compression": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "RefreshClosedReports": { - "type": "boolean" - }, - "ReportName": { - "type": "string" - }, - "ReportVersioning": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - }, - "S3Region": { - "type": "string" - }, - "TimeUnit": { - "type": "string" - } - }, - "required": [ - "Compression", - "Format", - "RefreshClosedReports", - "ReportName", - "ReportVersioning", - "S3Bucket", - "S3Prefix", - "S3Region", - "TimeUnit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CUR::ReportDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cassandra::Keyspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyspaceName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cassandra::Keyspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cassandra::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BillingMode": { - "$ref": "#/definitions/AWS::Cassandra::Table.BillingMode" - }, - "ClusteringKeyColumns": { - "items": { - "$ref": "#/definitions/AWS::Cassandra::Table.ClusteringKeyColumn" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExpiryEventsConfiguration": { - "$ref": "#/definitions/AWS::CertificateManager::Account.ExpiryEventsConfiguration" - } - }, - "required": [ - "ExpiryEventsConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Account" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Account.ExpiryEventsConfiguration": { - "additionalProperties": false, - "properties": { - "DaysBeforeExpiry": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CertificateManager::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArn": { - "type": "string" - }, - "CertificateTransparencyLoggingPreference": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainValidationOptions": { - "items": { - "$ref": "#/definitions/AWS::CertificateManager::Certificate.DomainValidationOption" - }, - "type": "array" - }, - "SubjectAlternativeNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationMethod": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CertificateManager::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CertificateManager::Certificate.DomainValidationOption": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "ValidationDomain": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "AWS::Chatbot::SlackChannelConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationName": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - }, - "LoggingLevel": { - "type": "string" - }, - "SlackChannelId": { - "type": "string" - }, - "SlackWorkspaceId": { - "type": "string" - }, - "SnsTopicArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ConfigurationName", - "IamRoleArn", - "SlackChannelId", - "SlackWorkspaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Chatbot::SlackChannelConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticStopTimeMinutes": { - "type": "number" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerArn": { - "type": "string" - }, - "Repositories": { - "items": { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2.Repository" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cloud9::EnvironmentEC2" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cloud9::EnvironmentEC2.Repository": { - "additionalProperties": false, - "properties": { - "PathComponent": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - } - }, - "required": [ - "PathComponent", - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::CloudFormation::CustomResource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ServiceToken": { - "type": "string" - } - }, - "required": [ - "ServiceToken" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::CustomResource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::Macro": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "LogRoleARN": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Macro" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleDefaultVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ModuleName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ModuleVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModuleName": { - "type": "string" - }, - "ModulePackage": { - "type": "string" - } - }, - "required": [ - "ModuleName", - "ModulePackage" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ModuleVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::PublicTypeVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TypeName": { - "type": "string" - }, - "TypeVersionArn": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceDefaultVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "LoggingConfig": { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion.LoggingConfig" - }, - "SchemaHandlerPackage": { - "type": "string" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "SchemaHandlerPackage", - "TypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::ResourceVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::ResourceVersion.LoggingConfig": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFormation::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotificationARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateURL": { - "type": "string" - }, - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TemplateURL" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdministrationRoleARN": { - "type": "string" - }, - "AutoDeployment": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.AutoDeployment" - }, - "CallAs": { - "type": "string" - }, - "Capabilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "ExecutionRoleName": { - "type": "string" - }, - "OperationPreferences": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.OperationPreferences" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "PermissionModel": { - "type": "string" - }, - "StackInstancesGroup": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.StackInstances" - }, - "type": "array" - }, - "StackSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateURL": { - "type": "string" - } - }, - "required": [ - "PermissionModel", - "StackSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::StackSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.AutoDeployment": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RetainStacksOnAccountRemoval": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.DeploymentTargets": { - "additionalProperties": false, - "properties": { - "Accounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationalUnitIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.OperationPreferences": { - "additionalProperties": false, - "properties": { - "FailureToleranceCount": { - "type": "number" - }, - "FailureTolerancePercentage": { - "type": "number" - }, - "MaxConcurrentCount": { - "type": "number" - }, - "MaxConcurrentPercentage": { - "type": "number" - }, - "RegionConcurrencyType": { - "type": "string" - }, - "RegionOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CloudFormation::StackSet.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterKey": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterKey", - "ParameterValue" - ], - "type": "object" - }, - "AWS::CloudFormation::StackSet.StackInstances": { - "additionalProperties": false, - "properties": { - "DeploymentTargets": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.DeploymentTargets" - }, - "ParameterOverrides": { - "items": { - "$ref": "#/definitions/AWS::CloudFormation::StackSet.Parameter" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DeploymentTargets", - "Regions" - ], - "type": "object" - }, - "AWS::CloudFormation::TypeActivation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Handle": { - "type": "string" - }, - "Timeout": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitCondition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFormation::WaitConditionHandle": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFormation::WaitConditionHandle" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CachePolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CachePolicyConfig" - } - }, - "required": [ - "CachePolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CachePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CachePolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DefaultTTL": { - "type": "number" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "ParametersInCacheKeyAndForwardedToOrigin": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin" - } - }, - "required": [ - "DefaultTTL", - "MaxTTL", - "MinTTL", - "Name", - "ParametersInCacheKeyAndForwardedToOrigin" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin": { - "additionalProperties": false, - "properties": { - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.CookiesConfig" - }, - "EnableAcceptEncodingBrotli": { - "type": "boolean" - }, - "EnableAcceptEncodingGzip": { - "type": "boolean" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.HeadersConfig" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "EnableAcceptEncodingGzip", - "HeadersConfig", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::CachePolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudFrontOriginAccessIdentityConfig": { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig" - } - }, - "required": [ - "CloudFrontOriginAccessIdentityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::CloudFrontOriginAccessIdentity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "required": [ - "Comment" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DistributionConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Distribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "PathPattern": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "PathPattern", - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Cookies": { - "additionalProperties": false, - "properties": { - "Forward": { - "type": "string" - }, - "WhitelistedNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Forward" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomErrorResponse": { - "additionalProperties": false, - "properties": { - "ErrorCachingMinTTL": { - "type": "number" - }, - "ErrorCode": { - "type": "number" - }, - "ResponseCode": { - "type": "number" - }, - "ResponsePagePath": { - "type": "string" - } - }, - "required": [ - "ErrorCode" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.CustomOriginConfig": { - "additionalProperties": false, - "properties": { - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginKeepaliveTimeout": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginReadTimeout": { - "type": "number" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OriginProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DefaultCacheBehavior": { - "additionalProperties": false, - "properties": { - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CachePolicyId": { - "type": "string" - }, - "CachedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Compress": { - "type": "boolean" - }, - "DefaultTTL": { - "type": "number" - }, - "FieldLevelEncryptionId": { - "type": "string" - }, - "ForwardedValues": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ForwardedValues" - }, - "FunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.FunctionAssociation" - }, - "type": "array" - }, - "LambdaFunctionAssociations": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LambdaFunctionAssociation" - }, - "type": "array" - }, - "MaxTTL": { - "type": "number" - }, - "MinTTL": { - "type": "number" - }, - "OriginRequestPolicyId": { - "type": "string" - }, - "RealtimeLogConfigArn": { - "type": "string" - }, - "SmoothStreaming": { - "type": "boolean" - }, - "TargetOriginId": { - "type": "string" - }, - "TrustedKeyGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TrustedSigners": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ViewerProtocolPolicy": { - "type": "string" - } - }, - "required": [ - "TargetOriginId", - "ViewerProtocolPolicy" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.DistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CNAMEs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheBehaviors": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CacheBehavior" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "CustomErrorResponses": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomErrorResponse" - }, - "type": "array" - }, - "CustomOrigin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyCustomOrigin" - }, - "DefaultCacheBehavior": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.DefaultCacheBehavior" - }, - "DefaultRootObject": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "HttpVersion": { - "type": "string" - }, - "IPV6Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Logging" - }, - "OriginGroups": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroups" - }, - "Origins": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Origin" - }, - "type": "array" - }, - "PriceClass": { - "type": "string" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Restrictions" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.LegacyS3Origin" - }, - "ViewerCertificate": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.ViewerCertificate" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ForwardedValues": { - "additionalProperties": false, - "properties": { - "Cookies": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.Cookies" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryString": { - "type": "boolean" - }, - "QueryStringCacheKeys": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryString" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.FunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.GeoRestriction": { - "additionalProperties": false, - "properties": { - "Locations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RestrictionType": { - "type": "string" - } - }, - "required": [ - "RestrictionType" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LambdaFunctionAssociation": { - "additionalProperties": false, - "properties": { - "EventType": { - "type": "string" - }, - "IncludeBody": { - "type": "boolean" - }, - "LambdaFunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyCustomOrigin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "HTTPPort": { - "type": "number" - }, - "HTTPSPort": { - "type": "number" - }, - "OriginProtocolPolicy": { - "type": "string" - }, - "OriginSSLProtocols": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DNSName", - "OriginProtocolPolicy", - "OriginSSLProtocols" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.LegacyS3Origin": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DNSName" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "IncludeCookies": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.Origin": { - "additionalProperties": false, - "properties": { - "ConnectionAttempts": { - "type": "number" - }, - "ConnectionTimeout": { - "type": "number" - }, - "CustomOriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.CustomOriginConfig" - }, - "DomainName": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "OriginCustomHeaders": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginCustomHeader" - }, - "type": "array" - }, - "OriginPath": { - "type": "string" - }, - "OriginShield": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginShield" - }, - "S3OriginConfig": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.S3OriginConfig" - } - }, - "required": [ - "DomainName", - "Id" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginCustomHeader": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroup": { - "additionalProperties": false, - "properties": { - "FailoverCriteria": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupFailoverCriteria" - }, - "Id": { - "type": "string" - }, - "Members": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMembers" - } - }, - "required": [ - "FailoverCriteria", - "Id", - "Members" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria": { - "additionalProperties": false, - "properties": { - "StatusCodes": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.StatusCodes" - } - }, - "required": [ - "StatusCodes" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMember": { - "additionalProperties": false, - "properties": { - "OriginId": { - "type": "string" - } - }, - "required": [ - "OriginId" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroupMembers": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroupMember" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginGroups": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.OriginGroup" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.OriginShield": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "OriginShieldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.Restrictions": { - "additionalProperties": false, - "properties": { - "GeoRestriction": { - "$ref": "#/definitions/AWS::CloudFront::Distribution.GeoRestriction" - } - }, - "required": [ - "GeoRestriction" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.S3OriginConfig": { - "additionalProperties": false, - "properties": { - "OriginAccessIdentity": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Distribution.StatusCodes": { - "additionalProperties": false, - "properties": { - "Items": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Quantity": { - "type": "number" - } - }, - "required": [ - "Items", - "Quantity" - ], - "type": "object" - }, - "AWS::CloudFront::Distribution.ViewerCertificate": { - "additionalProperties": false, - "properties": { - "AcmCertificateArn": { - "type": "string" - }, - "CloudFrontDefaultCertificate": { - "type": "boolean" - }, - "IamCertificateId": { - "type": "string" - }, - "MinimumProtocolVersion": { - "type": "string" - }, - "SslSupportMethod": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPublish": { - "type": "boolean" - }, - "FunctionCode": { - "type": "string" - }, - "FunctionConfig": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionConfig" - }, - "FunctionMetadata": { - "$ref": "#/definitions/AWS::CloudFront::Function.FunctionMetadata" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Runtime": { - "type": "string" - } - }, - "required": [ - "Comment", - "Runtime" - ], - "type": "object" - }, - "AWS::CloudFront::Function.FunctionMetadata": { - "additionalProperties": false, - "properties": { - "FunctionARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudFront::KeyGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KeyGroupConfig": { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup.KeyGroupConfig" - } - }, - "required": [ - "KeyGroupConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::KeyGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::KeyGroup.KeyGroupConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Items": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Items", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "OriginRequestPolicyConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig" - } - }, - "required": [ - "OriginRequestPolicyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::OriginRequestPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.CookiesConfig": { - "additionalProperties": false, - "properties": { - "CookieBehavior": { - "type": "string" - }, - "Cookies": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CookieBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.HeadersConfig": { - "additionalProperties": false, - "properties": { - "HeaderBehavior": { - "type": "string" - }, - "Headers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "HeaderBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "CookiesConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.CookiesConfig" - }, - "HeadersConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.HeadersConfig" - }, - "Name": { - "type": "string" - }, - "QueryStringsConfig": { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig" - } - }, - "required": [ - "CookiesConfig", - "HeadersConfig", - "Name", - "QueryStringsConfig" - ], - "type": "object" - }, - "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig": { - "additionalProperties": false, - "properties": { - "QueryStringBehavior": { - "type": "string" - }, - "QueryStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "QueryStringBehavior" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PublicKeyConfig": { - "$ref": "#/definitions/AWS::CloudFront::PublicKey.PublicKeyConfig" - } - }, - "required": [ - "PublicKeyConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::PublicKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::PublicKey.PublicKeyConfig": { - "additionalProperties": false, - "properties": { - "CallerReference": { - "type": "string" - }, - "Comment": { - "type": "string" - }, - "EncodedKey": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CallerReference", - "EncodedKey", - "Name" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndPoints": { - "items": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.EndPoint" - }, - "type": "array" - }, - "Fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SamplingRate": { - "type": "number" - } - }, - "required": [ - "EndPoints", - "Fields", - "Name", - "SamplingRate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::RealtimeLogConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.EndPoint": { - "additionalProperties": false, - "properties": { - "KinesisStreamConfig": { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig" - }, - "StreamType": { - "type": "string" - } - }, - "required": [ - "KinesisStreamConfig", - "StreamType" - ], - "type": "object" - }, - "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamArn" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StreamingDistributionConfig": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StreamingDistributionConfig", - "Tags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudFront::StreamingDistribution" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.Logging": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Enabled", - "Prefix" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.S3Origin": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "OriginAccessIdentity": { - "type": "string" - } - }, - "required": [ - "DomainName", - "OriginAccessIdentity" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": { - "additionalProperties": false, - "properties": { - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Comment": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Logging": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.Logging" - }, - "PriceClass": { - "type": "string" - }, - "S3Origin": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.S3Origin" - }, - "TrustedSigners": { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution.TrustedSigners" - } - }, - "required": [ - "Comment", - "Enabled", - "S3Origin", - "TrustedSigners" - ], - "type": "object" - }, - "AWS::CloudFront::StreamingDistribution.TrustedSigners": { - "additionalProperties": false, - "properties": { - "AwsAccountNumbers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "CloudWatchLogsRoleArn": { - "type": "string" - }, - "EnableLogFileValidation": { - "type": "boolean" - }, - "EventSelectors": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.EventSelector" - }, - "type": "array" - }, - "IncludeGlobalServiceEvents": { - "type": "boolean" - }, - "IsLogging": { - "type": "boolean" - }, - "IsMultiRegionTrail": { - "type": "boolean" - }, - "KMSKeyId": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "SnsTopicName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrailName": { - "type": "string" - } - }, - "required": [ - "IsLogging", - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudTrail::Trail" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.DataResource": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CloudTrail::Trail.EventSelector": { - "additionalProperties": false, - "properties": { - "DataResources": { - "items": { - "$ref": "#/definitions/AWS::CloudTrail::Trail.DataResource" - }, - "type": "array" - }, - "IncludeManagementEvents": { - "type": "boolean" - }, - "ReadWriteType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "ComparisonOperator": { - "type": "string" - }, - "DatapointsToAlarm": { - "type": "number" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "EvaluateLowSampleCountPercentile": { - "type": "string" - }, - "EvaluationPeriods": { - "type": "number" - }, - "ExtendedStatistic": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Metrics": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.MetricDataQuery" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "ThresholdMetricId": { - "type": "string" - }, - "TreatMissingData": { - "type": "string" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "EvaluationPeriods" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Alarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::Alarm.Metric": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::Alarm.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::Alarm.MetricDataQuery": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Configuration" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Dimension" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Stat": { - "type": "string" - } - }, - "required": [ - "MetricName", - "Namespace", - "Stat" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Configuration": { - "additionalProperties": false, - "properties": { - "ExcludedTimeRanges": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector.Range" - }, - "type": "array" - }, - "MetricTimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Dimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CloudWatch::AnomalyDetector.Range": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "StartTime": { - "type": "string" - } - }, - "required": [ - "EndTime", - "StartTime" - ], - "type": "object" - }, - "AWS::CloudWatch::CompositeAlarm": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionsEnabled": { - "type": "boolean" - }, - "AlarmActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AlarmDescription": { - "type": "string" - }, - "AlarmName": { - "type": "string" - }, - "AlarmRule": { - "type": "string" - }, - "InsufficientDataActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OKActions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AlarmName", - "AlarmRule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::CompositeAlarm" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardBody": { - "type": "string" - }, - "DashboardName": { - "type": "string" - } - }, - "required": [ - "DashboardBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleBody": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "RuleState": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule.Tags" - } - }, - "required": [ - "RuleBody", - "RuleName", - "RuleState" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::InsightRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::InsightRule.Tags": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CloudWatch::MetricStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "FirehoseArn": { - "type": "string" - }, - "IncludeFilters": { - "items": { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream.MetricStreamFilter" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "OutputFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirehoseArn", - "OutputFormat", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CloudWatch::MetricStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CloudWatch::MetricStream.MetricStreamFilter": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::CodeArtifact::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeArtifact::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "DomainOwner": { - "type": "string" - }, - "ExternalConnections": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsPolicyDocument": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Upstreams": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeArtifact::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Artifacts": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "BadgeEnabled": { - "type": "boolean" - }, - "BuildBatchConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectBuildBatchConfig" - }, - "Cache": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectCache" - }, - "ConcurrentBuildLimit": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Environment" - }, - "FileSystemLocations": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectFileSystemLocation" - }, - "type": "array" - }, - "LogsConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.LogsConfig" - }, - "Name": { - "type": "string" - }, - "QueuedTimeoutInMinutes": { - "type": "number" - }, - "SecondaryArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Artifacts" - }, - "type": "array" - }, - "SecondarySourceVersions": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectSourceVersion" - }, - "type": "array" - }, - "SecondarySources": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "type": "array" - }, - "ServiceRole": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::CodeBuild::Project.Source" - }, - "SourceVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeoutInMinutes": { - "type": "number" - }, - "Triggers": { - "$ref": "#/definitions/AWS::CodeBuild::Project.ProjectTriggers" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.VpcConfig" - } - }, - "required": [ - "Artifacts", - "Environment", - "ServiceRole", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Artifacts": { - "additionalProperties": false, - "properties": { - "ArtifactIdentifier": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NamespaceType": { - "type": "string" - }, - "OverrideArtifactName": { - "type": "boolean" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.BatchRestrictions": { - "additionalProperties": false, - "properties": { - "ComputeTypesAllowed": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBuildsAllowed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.BuildStatusConfig": { - "additionalProperties": false, - "properties": { - "Context": { - "type": "string" - }, - "TargetUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.CloudWatchLogsConfig": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Environment": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "ComputeType": { - "type": "string" - }, - "EnvironmentVariables": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.EnvironmentVariable" - }, - "type": "array" - }, - "Image": { - "type": "string" - }, - "ImagePullCredentialsType": { - "type": "string" - }, - "PrivilegedMode": { - "type": "boolean" - }, - "RegistryCredential": { - "$ref": "#/definitions/AWS::CodeBuild::Project.RegistryCredential" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ComputeType", - "Image", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.FilterGroup": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::CodeBuild::Project.GitSubmodulesConfig": { - "additionalProperties": false, - "properties": { - "FetchSubmodules": { - "type": "boolean" - } - }, - "required": [ - "FetchSubmodules" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.LogsConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.CloudWatchLogsConfig" - }, - "S3Logs": { - "$ref": "#/definitions/AWS::CodeBuild::Project.S3LogsConfig" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectBuildBatchConfig": { - "additionalProperties": false, - "properties": { - "CombineArtifacts": { - "type": "boolean" - }, - "Restrictions": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BatchRestrictions" - }, - "ServiceRole": { - "type": "string" - }, - "TimeoutInMins": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectCache": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "Modes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectFileSystemLocation": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "MountOptions": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Location", - "MountPoint", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectSourceVersion": { - "additionalProperties": false, - "properties": { - "SourceIdentifier": { - "type": "string" - }, - "SourceVersion": { - "type": "string" - } - }, - "required": [ - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.ProjectTriggers": { - "additionalProperties": false, - "properties": { - "BuildType": { - "type": "string" - }, - "FilterGroups": { - "items": { - "$ref": "#/definitions/AWS::CodeBuild::Project.FilterGroup" - }, - "type": "array" - }, - "Webhook": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.RegistryCredential": { - "additionalProperties": false, - "properties": { - "Credential": { - "type": "string" - }, - "CredentialProvider": { - "type": "string" - } - }, - "required": [ - "Credential", - "CredentialProvider" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.S3LogsConfig": { - "additionalProperties": false, - "properties": { - "EncryptionDisabled": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.Source": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::CodeBuild::Project.SourceAuth" - }, - "BuildSpec": { - "type": "string" - }, - "BuildStatusConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.BuildStatusConfig" - }, - "GitCloneDepth": { - "type": "number" - }, - "GitSubmodulesConfig": { - "$ref": "#/definitions/AWS::CodeBuild::Project.GitSubmodulesConfig" - }, - "InsecureSsl": { - "type": "boolean" - }, - "Location": { - "type": "string" - }, - "ReportBuildStatus": { - "type": "boolean" - }, - "SourceIdentifier": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.SourceAuth": { - "additionalProperties": false, - "properties": { - "Resource": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::Project.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeBuild::Project.WebhookFilter": { - "additionalProperties": false, - "properties": { - "ExcludeMatchedPattern": { - "type": "boolean" - }, - "Pattern": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Pattern", - "Type" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteReports": { - "type": "boolean" - }, - "ExportConfig": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.ReportExportConfig" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ExportConfig", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::ReportGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.ReportExportConfig": { - "additionalProperties": false, - "properties": { - "ExportConfigType": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup.S3ReportExportConfig" - } - }, - "required": [ - "ExportConfigType" - ], - "type": "object" - }, - "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BucketOwner": { - "type": "string" - }, - "EncryptionDisabled": { - "type": "boolean" - }, - "EncryptionKey": { - "type": "string" - }, - "Packaging": { - "type": "string" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::CodeBuild::SourceCredential": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthType": { - "type": "string" - }, - "ServerType": { - "type": "string" - }, - "Token": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "AuthType", - "ServerType", - "Token" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeBuild::SourceCredential" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.Code" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.RepositoryTrigger" - }, - "type": "array" - } - }, - "required": [ - "RepositoryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeCommit::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.Code": { - "additionalProperties": false, - "properties": { - "BranchName": { - "type": "string" - }, - "S3": { - "$ref": "#/definitions/AWS::CodeCommit::Repository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.RepositoryTrigger": { - "additionalProperties": false, - "properties": { - "Branches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CustomData": { - "type": "string" - }, - "DestinationArn": { - "type": "string" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "Events", - "Name" - ], - "type": "object" - }, - "AWS::CodeCommit::Repository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ComputePlatform": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TriggerConfigurations": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TriggerConfig" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeDeploy::DeploymentGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.Alarm": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.Alarm" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "IgnorePollAlarmFailure": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Events": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.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" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": { - "additionalProperties": false, - "properties": { - "OnPremisesTagSetList": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": { - "additionalProperties": false, - "properties": { - "OnPremisesTagGroup": { - "items": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": { - "additionalProperties": false, - "properties": { - "GitHubLocation": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.GitHubLocation" - }, - "RevisionType": { - "type": "string" - }, - "S3Location": { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup.S3Location" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "BundleType": { - "type": "string" - }, - "ETag": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TriggerName": { - "type": "string" - }, - "TriggerTargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentPermissions": { - "type": "object" - }, - "AnomalyDetectionNotificationConfiguration": { - "items": { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup.Channel" - }, - "type": "array" - }, - "ComputePlatform": { - "type": "string" - }, - "ProfilingGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProfilingGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeGuruProfiler::ProfilingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeGuruProfiler::ProfilingGroup.Channel": { - "additionalProperties": false, - "properties": { - "channelId": { - "type": "string" - }, - "channelUri": { - "type": "string" - } - }, - "required": [ - "channelUri" - ], - "type": "object" - }, - "AWS::CodeGuruReviewer::RepositoryAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "ConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ConfigurationProperties" - }, - "type": "array" - }, - "InputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "OutputArtifactDetails": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.ArtifactDetails" - }, - "Provider": { - "type": "string" - }, - "Settings": { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType.Settings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "InputArtifactDetails", - "OutputArtifactDetails", - "Provider", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::CustomActionType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ArtifactDetails": { - "additionalProperties": false, - "properties": { - "MaximumCount": { - "type": "number" - }, - "MinimumCount": { - "type": "number" - } - }, - "required": [ - "MaximumCount", - "MinimumCount" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.ConfigurationProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Key": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Queryable": { - "type": "boolean" - }, - "Required": { - "type": "boolean" - }, - "Secret": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Key", - "Name", - "Required", - "Secret" - ], - "type": "object" - }, - "AWS::CodePipeline::CustomActionType.Settings": { - "additionalProperties": false, - "properties": { - "EntityUrlTemplate": { - "type": "string" - }, - "ExecutionUrlTemplate": { - "type": "string" - }, - "RevisionUrlTemplate": { - "type": "string" - }, - "ThirdPartyConfigurationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "ArtifactStores": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStoreMap" - }, - "type": "array" - }, - "DisableInboundStageTransitions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageTransition" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RestartExecutionOnUpdate": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Stages": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.StageDeclaration" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RoleArn", - "Stages" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionDeclaration": { - "additionalProperties": false, - "properties": { - "ActionTypeId": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionTypeId" - }, - "Configuration": { - "type": "object" - }, - "InputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.InputArtifact" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "OutputArtifacts": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.OutputArtifact" - }, - "type": "array" - }, - "Region": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RunOrder": { - "type": "number" - } - }, - "required": [ - "ActionTypeId", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ActionTypeId": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Category", - "Owner", - "Provider", - "Version" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStore": { - "additionalProperties": false, - "properties": { - "EncryptionKey": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.EncryptionKey" - }, - "Location": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Location", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.ArtifactStoreMap": { - "additionalProperties": false, - "properties": { - "ArtifactStore": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ArtifactStore" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "ArtifactStore", - "Region" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.BlockerDeclaration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.EncryptionKey": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Type" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.InputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.OutputArtifact": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageDeclaration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.ActionDeclaration" - }, - "type": "array" - }, - "Blockers": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline.BlockerDeclaration" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Actions", - "Name" - ], - "type": "object" - }, - "AWS::CodePipeline::Pipeline.StageTransition": { - "additionalProperties": false, - "properties": { - "Reason": { - "type": "string" - }, - "StageName": { - "type": "string" - } - }, - "required": [ - "Reason", - "StageName" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authentication": { - "type": "string" - }, - "AuthenticationConfiguration": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookAuthConfiguration" - }, - "Filters": { - "items": { - "$ref": "#/definitions/AWS::CodePipeline::Webhook.WebhookFilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RegisterWithThirdParty": { - "type": "boolean" - }, - "TargetAction": { - "type": "string" - }, - "TargetPipeline": { - "type": "string" - }, - "TargetPipelineVersion": { - "type": "number" - } - }, - "required": [ - "Authentication", - "AuthenticationConfiguration", - "Filters", - "TargetAction", - "TargetPipeline", - "TargetPipelineVersion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodePipeline::Webhook" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookAuthConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedIPRange": { - "type": "string" - }, - "SecretToken": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CodePipeline::Webhook.WebhookFilterRule": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "MatchEquals": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.Code" - }, - "ConnectionArn": { - "type": "string" - }, - "EnableIssues": { - "type": "boolean" - }, - "IsPrivate": { - "type": "boolean" - }, - "RepositoryAccessToken": { - "type": "string" - }, - "RepositoryDescription": { - "type": "string" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryOwner": { - "type": "string" - } - }, - "required": [ - "RepositoryName", - "RepositoryOwner" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStar::GitHubRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.Code": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository.S3" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::CodeStar::GitHubRepository.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::CodeStarConnections::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "HostArn": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarConnections::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetailType": { - "type": "string" - }, - "EventTypeIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule.Target" - }, - "type": "array" - } - }, - "required": [ - "DetailType", - "EventTypeIds", - "Name", - "Resource", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CodeStarNotifications::NotificationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CodeStarNotifications::NotificationRule.Target": { - "additionalProperties": false, - "properties": { - "TargetAddress": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowClassicFlow": { - "type": "boolean" - }, - "AllowUnauthenticatedIdentities": { - "type": "boolean" - }, - "CognitoEvents": { - "type": "object" - }, - "CognitoIdentityProviders": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoIdentityProvider" - }, - "type": "array" - }, - "CognitoStreams": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.CognitoStreams" - }, - "DeveloperProviderName": { - "type": "string" - }, - "IdentityPoolName": { - "type": "string" - }, - "OpenIdConnectProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PushSync": { - "$ref": "#/definitions/AWS::Cognito::IdentityPool.PushSync" - }, - "SamlProviderARNs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SupportedLoginProviders": { - "type": "object" - } - }, - "required": [ - "AllowUnauthenticatedIdentities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoIdentityProvider": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "ServerSideTokenCheck": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.CognitoStreams": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "StreamingStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPool.PushSync": { - "additionalProperties": false, - "properties": { - "ApplicationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityPoolId": { - "type": "string" - }, - "RoleMappings": { - "type": "object" - }, - "Roles": { - "type": "object" - } - }, - "required": [ - "IdentityPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::IdentityPoolRoleAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": { - "additionalProperties": false, - "properties": { - "Claim": { - "type": "string" - }, - "MatchType": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Claim", - "MatchType", - "RoleARN", - "Value" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": { - "additionalProperties": false, - "properties": { - "AmbiguousRoleResolution": { - "type": "string" - }, - "IdentityProvider": { - "type": "string" - }, - "RulesConfiguration": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::Cognito::UserPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountRecoverySetting": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AccountRecoverySetting" - }, - "AdminCreateUserConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.AdminCreateUserConfig" - }, - "AliasAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AutoVerifiedAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DeviceConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.DeviceConfiguration" - }, - "EmailConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.EmailConfiguration" - }, - "EmailVerificationMessage": { - "type": "string" - }, - "EmailVerificationSubject": { - "type": "string" - }, - "EnabledMfas": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LambdaConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPool.LambdaConfig" - }, - "MfaConfiguration": { - "type": "string" - }, - "Policies": { - "$ref": "#/definitions/AWS::Cognito::UserPool.Policies" - }, - "Schema": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SchemaAttribute" - }, - "type": "array" - }, - "SmsAuthenticationMessage": { - "type": "string" - }, - "SmsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.SmsConfiguration" - }, - "SmsVerificationMessage": { - "type": "string" - }, - "UserPoolAddOns": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UserPoolAddOns" - }, - "UserPoolName": { - "type": "string" - }, - "UserPoolTags": { - "type": "object" - }, - "UsernameAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UsernameConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPool.UsernameConfiguration" - }, - "VerificationMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.VerificationMessageTemplate" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Cognito::UserPool.AccountRecoverySetting": { - "additionalProperties": false, - "properties": { - "RecoveryMechanisms": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPool.RecoveryOption" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.AdminCreateUserConfig": { - "additionalProperties": false, - "properties": { - "AllowAdminCreateUserOnly": { - "type": "boolean" - }, - "InviteMessageTemplate": { - "$ref": "#/definitions/AWS::Cognito::UserPool.InviteMessageTemplate" - }, - "UnusedAccountValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomEmailSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.CustomSMSSender": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "LambdaVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.DeviceConfiguration": { - "additionalProperties": false, - "properties": { - "ChallengeRequiredOnNewDevice": { - "type": "boolean" - }, - "DeviceOnlyRememberedOnUserPrompt": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.EmailConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationSet": { - "type": "string" - }, - "EmailSendingAccount": { - "type": "string" - }, - "From": { - "type": "string" - }, - "ReplyToEmailAddress": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.InviteMessageTemplate": { - "additionalProperties": false, - "properties": { - "EmailMessage": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "SMSMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.LambdaConfig": { - "additionalProperties": false, - "properties": { - "CreateAuthChallenge": { - "type": "string" - }, - "CustomEmailSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomEmailSender" - }, - "CustomMessage": { - "type": "string" - }, - "CustomSMSSender": { - "$ref": "#/definitions/AWS::Cognito::UserPool.CustomSMSSender" - }, - "DefineAuthChallenge": { - "type": "string" - }, - "KMSKeyID": { - "type": "string" - }, - "PostAuthentication": { - "type": "string" - }, - "PostConfirmation": { - "type": "string" - }, - "PreAuthentication": { - "type": "string" - }, - "PreSignUp": { - "type": "string" - }, - "PreTokenGeneration": { - "type": "string" - }, - "UserMigration": { - "type": "string" - }, - "VerifyAuthChallengeResponse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.NumberAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxValue": { - "type": "string" - }, - "MinValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.PasswordPolicy": { - "additionalProperties": false, - "properties": { - "MinimumLength": { - "type": "number" - }, - "RequireLowercase": { - "type": "boolean" - }, - "RequireNumbers": { - "type": "boolean" - }, - "RequireSymbols": { - "type": "boolean" - }, - "RequireUppercase": { - "type": "boolean" - }, - "TemporaryPasswordValidityDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.Policies": { - "additionalProperties": false, - "properties": { - "PasswordPolicy": { - "$ref": "#/definitions/AWS::Cognito::UserPool.PasswordPolicy" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.RecoveryOption": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SchemaAttribute": { - "additionalProperties": false, - "properties": { - "AttributeDataType": { - "type": "string" - }, - "DeveloperOnlyAttribute": { - "type": "boolean" - }, - "Mutable": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "NumberAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.NumberAttributeConstraints" - }, - "Required": { - "type": "boolean" - }, - "StringAttributeConstraints": { - "$ref": "#/definitions/AWS::Cognito::UserPool.StringAttributeConstraints" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.SmsConfiguration": { - "additionalProperties": false, - "properties": { - "ExternalId": { - "type": "string" - }, - "SnsCallerArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.StringAttributeConstraints": { - "additionalProperties": false, - "properties": { - "MaxLength": { - "type": "string" - }, - "MinLength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UserPoolAddOns": { - "additionalProperties": false, - "properties": { - "AdvancedSecurityMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.UsernameConfiguration": { - "additionalProperties": false, - "properties": { - "CaseSensitive": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPool.VerificationMessageTemplate": { - "additionalProperties": false, - "properties": { - "DefaultEmailOption": { - "type": "string" - }, - "EmailMessage": { - "type": "string" - }, - "EmailMessageByLink": { - "type": "string" - }, - "EmailSubject": { - "type": "string" - }, - "EmailSubjectByLink": { - "type": "string" - }, - "SmsMessage": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolClient": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessTokenValidity": { - "type": "number" - }, - "AllowedOAuthFlows": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOAuthFlowsUserPoolClient": { - "type": "boolean" - }, - "AllowedOAuthScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AnalyticsConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient.AnalyticsConfiguration" - }, - "CallbackURLs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClientName": { - "type": "string" - }, - "DefaultRedirectURI": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomDomainConfig": { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain.CustomDomainConfigType" - }, - "Domain": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Domain", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Precedence": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolIdentityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeMapping": { - "type": "object" - }, - "IdpIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProviderDetails": { - "type": "object" - }, - "ProviderName": { - "type": "string" - }, - "ProviderType": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ProviderName", - "ProviderType", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolIdentityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Identifier": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scopes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "Identifier", - "Name", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolResourceServer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": { - "additionalProperties": false, - "properties": { - "ScopeDescription": { - "type": "string" - }, - "ScopeName": { - "type": "string" - } - }, - "required": [ - "ScopeDescription", - "ScopeName" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountTakeoverRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType" - }, - "ClientId": { - "type": "string" - }, - "CompromisedCredentialsRiskConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType" - }, - "RiskExceptionConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolRiskConfigurationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - }, - "Notify": { - "type": "boolean" - } - }, - "required": [ - "EventAction", - "Notify" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": { - "additionalProperties": false, - "properties": { - "HighAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "LowAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - }, - "MediumAction": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType" - }, - "NotifyConfiguration": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": { - "additionalProperties": false, - "properties": { - "EventAction": { - "type": "string" - } - }, - "required": [ - "EventAction" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": { - "additionalProperties": false, - "properties": { - "Actions": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType" - }, - "EventFilter": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "From": { - "type": "string" - }, - "MfaEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "NoActionEmail": { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType" - }, - "ReplyTo": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": { - "additionalProperties": false, - "properties": { - "HtmlBody": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "TextBody": { - "type": "string" - } - }, - "required": [ - "Subject" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": { - "additionalProperties": false, - "properties": { - "BlockedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkippedIPRangeList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUICustomizationAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CSS": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "required": [ - "ClientId", - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUICustomizationAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientMetadata": { - "type": "object" - }, - "DesiredDeliveryMediums": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForceAliasCreation": { - "type": "boolean" - }, - "MessageAction": { - "type": "string" - }, - "UserAttributes": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - }, - "ValidationData": { - "items": { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser.AttributeType" - }, - "type": "array" - } - }, - "required": [ - "UserPoolId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUser" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Cognito::UserPoolUser.AttributeType": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Cognito::UserPoolUserToGroupAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "GroupName", - "UserPoolId", - "Username" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Cognito::UserPoolUserToGroupAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::AggregationAuthorization": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizedAccountId": { - "type": "string" - }, - "AuthorizedAwsRegion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::AggregationAuthorization" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigRuleName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "object" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "Scope": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Scope" - }, - "Source": { - "$ref": "#/definitions/AWS::Config::ConfigRule.Source" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.Scope": { - "additionalProperties": false, - "properties": { - "ComplianceResourceId": { - "type": "string" - }, - "ComplianceResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKey": { - "type": "string" - }, - "TagValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::ConfigRule.Source": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - }, - "SourceDetails": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigRule.SourceDetail" - }, - "type": "array" - }, - "SourceIdentifier": { - "type": "string" - } - }, - "required": [ - "Owner", - "SourceIdentifier" - ], - "type": "object" - }, - "AWS::Config::ConfigRule.SourceDetail": { - "additionalProperties": false, - "properties": { - "EventSource": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "MessageType": { - "type": "string" - } - }, - "required": [ - "EventSource", - "MessageType" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountAggregationSources": { - "items": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.AccountAggregationSource" - }, - "type": "array" - }, - "ConfigurationAggregatorName": { - "type": "string" - }, - "OrganizationAggregationSource": { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator.OrganizationAggregationSource" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationAggregator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.AccountAggregationSource": { - "additionalProperties": false, - "properties": { - "AccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AccountIds" - ], - "type": "object" - }, - "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": { - "additionalProperties": false, - "properties": { - "AllAwsRegions": { - "type": "boolean" - }, - "AwsRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RecordingGroup": { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder.RecordingGroup" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "RoleARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConfigurationRecorder" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConfigurationRecorder.RecordingGroup": { - "additionalProperties": false, - "properties": { - "AllSupported": { - "type": "boolean" - }, - "IncludeGlobalResourceTypes": { - "type": "boolean" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::ConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::ConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "ConformancePackName": { - "type": "string" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "ConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::ConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::ConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigSnapshotDeliveryProperties": { - "$ref": "#/definitions/AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties" - }, - "Name": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - }, - "S3KmsKeyArn": { - "type": "string" - }, - "SnsTopicARN": { - "type": "string" - } - }, - "required": [ - "S3BucketName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::DeliveryChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": { - "additionalProperties": false, - "properties": { - "DeliveryFrequency": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::OrganizationConfigRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConfigRuleName": { - "type": "string" - }, - "OrganizationCustomRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata" - }, - "OrganizationManagedRuleMetadata": { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata" - } - }, - "required": [ - "OrganizationConfigRuleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConfigRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "LambdaFunctionArn": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "OrganizationConfigRuleTriggerTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "LambdaFunctionArn", - "OrganizationConfigRuleTriggerTypes" - ], - "type": "object" - }, - "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InputParameters": { - "type": "string" - }, - "MaximumExecutionFrequency": { - "type": "string" - }, - "ResourceIdScope": { - "type": "string" - }, - "ResourceTypesScope": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RuleIdentifier": { - "type": "string" - }, - "TagKeyScope": { - "type": "string" - }, - "TagValueScope": { - "type": "string" - } - }, - "required": [ - "RuleIdentifier" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConformancePackInputParameters": { - "items": { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack.ConformancePackInputParameter" - }, - "type": "array" - }, - "DeliveryS3Bucket": { - "type": "string" - }, - "DeliveryS3KeyPrefix": { - "type": "string" - }, - "ExcludedAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OrganizationConformancePackName": { - "type": "string" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateS3Uri": { - "type": "string" - } - }, - "required": [ - "OrganizationConformancePackName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::OrganizationConformancePack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::OrganizationConformancePack.ConformancePackInputParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Automatic": { - "type": "boolean" - }, - "ConfigRuleName": { - "type": "string" - }, - "ExecutionControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ExecutionControls" - }, - "MaximumAutomaticAttempts": { - "type": "number" - }, - "Parameters": { - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "RetryAttemptSeconds": { - "type": "number" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - }, - "TargetVersion": { - "type": "string" - } - }, - "required": [ - "ConfigRuleName", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::RemediationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ExecutionControls": { - "additionalProperties": false, - "properties": { - "SsmControls": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.SsmControls" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.RemediationParameterValue": { - "additionalProperties": false, - "properties": { - "ResourceValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.ResourceValue" - }, - "StaticValue": { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration.StaticValue" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.ResourceValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.SsmControls": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutionRatePercentage": { - "type": "number" - }, - "ErrorPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Config::RemediationConfiguration.StaticValue": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Config::StoredQuery": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "QueryDescription": { - "type": "string" - }, - "QueryExpression": { - "type": "string" - }, - "QueryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "QueryExpression", - "QueryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Config::StoredQuery" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Connect::QuickConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "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::CustomerProfiles::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeadLetterQueueUrl": { - "type": "string" - }, - "DefaultEncryptionKey": { - "type": "string" - }, - "DefaultExpirationDays": { - "type": "number" - }, - "DomainName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "FlowDefinition": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.FlowDefinition" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Uri": { - "type": "string" - } - }, - "required": [ - "DomainName", - "ObjectTypeName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::Integration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ConnectorOperator": { - "additionalProperties": false, - "properties": { - "Marketo": { - "type": "string" - }, - "S3": { - "type": "string" - }, - "Salesforce": { - "type": "string" - }, - "ServiceNow": { - "type": "string" - }, - "Zendesk": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.FlowDefinition": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FlowName": { - "type": "string" - }, - "KmsArn": { - "type": "string" - }, - "SourceFlowConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceFlowConfig" - }, - "Tasks": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.Task" - }, - "type": "array" - }, - "TriggerConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerConfig" - } - }, - "required": [ - "FlowName", - "KmsArn", - "SourceFlowConfig", - "Tasks", - "TriggerConfig" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.IncrementalPullConfig": { - "additionalProperties": false, - "properties": { - "DatetimeTypeFieldName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.MarketoSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.S3SourceProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SalesforceSourceProperties": { - "additionalProperties": false, - "properties": { - "EnableDynamicFieldUpdate": { - "type": "boolean" - }, - "IncludeDeletedRecords": { - "type": "boolean" - }, - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ScheduledTriggerProperties": { - "additionalProperties": false, - "properties": { - "DataPullMode": { - "type": "string" - }, - "FirstExecutionFrom": { - "type": "number" - }, - "ScheduleEndTime": { - "type": "number" - }, - "ScheduleExpression": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleStartTime": { - "type": "number" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ServiceNowSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceConnectorProperties": { - "additionalProperties": false, - "properties": { - "Marketo": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.MarketoSourceProperties" - }, - "S3": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.S3SourceProperties" - }, - "Salesforce": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SalesforceSourceProperties" - }, - "ServiceNow": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ServiceNowSourceProperties" - }, - "Zendesk": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ZendeskSourceProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.SourceFlowConfig": { - "additionalProperties": false, - "properties": { - "ConnectorProfileName": { - "type": "string" - }, - "ConnectorType": { - "type": "string" - }, - "IncrementalPullConfig": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.IncrementalPullConfig" - }, - "SourceConnectorProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.SourceConnectorProperties" - } - }, - "required": [ - "ConnectorType", - "SourceConnectorProperties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.Task": { - "additionalProperties": false, - "properties": { - "ConnectorOperator": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ConnectorOperator" - }, - "DestinationField": { - "type": "string" - }, - "SourceFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TaskProperties": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TaskPropertiesMap" - }, - "type": "array" - }, - "TaskType": { - "type": "string" - } - }, - "required": [ - "SourceFields", - "TaskType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TaskPropertiesMap": { - "additionalProperties": false, - "properties": { - "OperatorPropertyKey": { - "type": "string" - }, - "Property": { - "type": "string" - } - }, - "required": [ - "OperatorPropertyKey", - "Property" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerConfig": { - "additionalProperties": false, - "properties": { - "TriggerProperties": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.TriggerProperties" - }, - "TriggerType": { - "type": "string" - } - }, - "required": [ - "TriggerType" - ], - "type": "object" - }, - "AWS::CustomerProfiles::Integration.TriggerProperties": { - "additionalProperties": false, - "properties": { - "Scheduled": { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration.ScheduledTriggerProperties" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::Integration.ZendeskSourceProperties": { - "additionalProperties": false, - "properties": { - "Object": { - "type": "string" - } - }, - "required": [ - "Object" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowProfileCreation": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "EncryptionKey": { - "type": "string" - }, - "ExpirationDays": { - "type": "number" - }, - "Fields": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.FieldMap" - }, - "type": "array" - }, - "Keys": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.KeyMap" - }, - "type": "array" - }, - "ObjectTypeName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - } - }, - "required": [ - "DomainName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::CustomerProfiles::ObjectType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.FieldMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeField": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeField" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.KeyMap": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectTypeKeyList": { - "items": { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType.ObjectTypeKey" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeField": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::CustomerProfiles::ObjectType.ObjectTypeKey": { - "additionalProperties": false, - "properties": { - "FieldNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DAX::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterEndpointEncryptionType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NotificationTopicARN": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationFactor": { - "type": "number" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DAX::Cluster.SSESpecification" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetGroupName": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "IAMRoleARN", - "NodeType", - "ReplicationFactor" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DAX::Cluster.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DAX::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupName": { - "type": "string" - }, - "ParameterNameValues": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DAX::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DAX::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "PolicyDetails": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.PolicyDetails" - }, - "State": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DLM::LifecyclePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Action": { - "additionalProperties": false, - "properties": { - "CrossRegionCopy": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyAction" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "CrossRegionCopy", - "Name" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CreateRule": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Times": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EncryptionConfiguration" - }, - "RetainRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Target" - ], - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.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" - }, - "NoReboot": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.PolicyDetails": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Action" - }, - "type": "array" - }, - "EventSource": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.EventSource" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Parameters" - }, - "PolicyType": { - "type": "string" - }, - "ResourceLocations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Schedules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.Schedule" - }, - "type": "array" - }, - "TargetTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.RetainRule": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Interval": { - "type": "number" - }, - "IntervalUnit": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DLM::LifecyclePolicy.Schedule": { - "additionalProperties": false, - "properties": { - "CopyTags": { - "type": "boolean" - }, - "CreateRule": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CreateRule" - }, - "CrossRegionCopyRules": { - "items": { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy.CrossRegionCopyRule" - }, - "type": "array" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateIdentifier": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateWallet": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DMS::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DocDbSettings" - }, - "DynamoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.DynamoDbSettings" - }, - "ElasticsearchSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.ElasticsearchSettings" - }, - "EndpointIdentifier": { - "type": "string" - }, - "EndpointType": { - "type": "string" - }, - "EngineName": { - "type": "string" - }, - "ExtraConnectionAttributes": { - "type": "string" - }, - "IbmDb2Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.IbmDb2Settings" - }, - "KafkaSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KafkaSettings" - }, - "KinesisSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.KinesisSettings" - }, - "KmsKeyId": { - "type": "string" - }, - "MicrosoftSqlServerSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MicrosoftSqlServerSettings" - }, - "MongoDbSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MongoDbSettings" - }, - "MySqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.MySqlSettings" - }, - "NeptuneSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.NeptuneSettings" - }, - "OracleSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.OracleSettings" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PostgreSqlSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.PostgreSqlSettings" - }, - "RedshiftSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.RedshiftSettings" - }, - "ResourceIdentifier": { - "type": "string" - }, - "S3Settings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.S3Settings" - }, - "ServerName": { - "type": "string" - }, - "SslMode": { - "type": "string" - }, - "SybaseSettings": { - "$ref": "#/definitions/AWS::DMS::Endpoint.SybaseSettings" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "EndpointType", - "EngineName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::Endpoint.DocDbSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.DynamoDbSettings": { - "additionalProperties": false, - "properties": { - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.ElasticsearchSettings": { - "additionalProperties": false, - "properties": { - "EndpointUri": { - "type": "string" - }, - "ErrorRetryDuration": { - "type": "number" - }, - "FullLoadErrorPercentage": { - "type": "number" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.IbmDb2Settings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KafkaSettings": { - "additionalProperties": false, - "properties": { - "Broker": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.KinesisSettings": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MicrosoftSqlServerSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MongoDbSettings": { - "additionalProperties": false, - "properties": { - "AuthMechanism": { - "type": "string" - }, - "AuthSource": { - "type": "string" - }, - "AuthType": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DocsToInvestigate": { - "type": "string" - }, - "ExtractDocId": { - "type": "string" - }, - "NestingLevel": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - }, - "ServerName": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.MySqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.NeptuneSettings": { - "additionalProperties": false, - "properties": { - "ErrorRetryDuration": { - "type": "number" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "MaxFileSize": { - "type": "number" - }, - "MaxRetryCount": { - "type": "number" - }, - "S3BucketFolder": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.OracleSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmAccessRoleArn": { - "type": "string" - }, - "SecretsManagerOracleAsmSecretId": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.PostgreSqlSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.RedshiftSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.S3Settings": { - "additionalProperties": false, - "properties": { - "BucketFolder": { - "type": "string" - }, - "BucketName": { - "type": "string" - }, - "CompressionType": { - "type": "string" - }, - "CsvDelimiter": { - "type": "string" - }, - "CsvRowDelimiter": { - "type": "string" - }, - "ExternalTableDefinition": { - "type": "string" - }, - "ServiceAccessRoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::Endpoint.SybaseSettings": { - "additionalProperties": false, - "properties": { - "SecretsManagerAccessRoleArn": { - "type": "string" - }, - "SecretsManagerSecretId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DMS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "SubscriptionName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "number" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "ReplicationInstanceClass": { - "type": "string" - }, - "ReplicationInstanceIdentifier": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationSubnetGroupDescription": { - "type": "string" - }, - "ReplicationSubnetGroupIdentifier": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReplicationSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DMS::ReplicationTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdcStartPosition": { - "type": "string" - }, - "CdcStartTime": { - "type": "number" - }, - "CdcStopPosition": { - "type": "string" - }, - "MigrationType": { - "type": "string" - }, - "ReplicationInstanceArn": { - "type": "string" - }, - "ReplicationTaskIdentifier": { - "type": "string" - }, - "ReplicationTaskSettings": { - "type": "string" - }, - "ResourceIdentifier": { - "type": "string" - }, - "SourceEndpointArn": { - "type": "string" - }, - "TableMappings": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetEndpointArn": { - "type": "string" - }, - "TaskData": { - "type": "string" - } - }, - "required": [ - "MigrationType", - "ReplicationInstanceArn", - "SourceEndpointArn", - "TableMappings", - "TargetEndpointArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DMS::ReplicationTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FormatOptions" - }, - "Input": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.Input" - }, - "Name": { - "type": "string" - }, - "PathOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Input", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.CsvOptions": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "HeaderRow": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DataCatalogInputDefinition": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatabaseInputDefinition": { - "additionalProperties": false, - "properties": { - "DatabaseTableName": { - "type": "string" - }, - "GlueConnectionName": { - "type": "string" - }, - "TempDirectory": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.DatasetParameter": { - "additionalProperties": false, - "properties": { - "CreateColumn": { - "type": "boolean" - }, - "DatetimeOptions": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatetimeOptions" - }, - "Filter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.DatetimeOptions": { - "additionalProperties": false, - "properties": { - "Format": { - "type": "string" - }, - "LocaleCode": { - "type": "string" - }, - "TimezoneOffset": { - "type": "string" - } - }, - "required": [ - "Format" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.ExcelOptions": { - "additionalProperties": false, - "properties": { - "HeaderRow": { - "type": "boolean" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.FilesLimit": { - "additionalProperties": false, - "properties": { - "MaxFiles": { - "type": "number" - }, - "Order": { - "type": "string" - }, - "OrderedBy": { - "type": "string" - } - }, - "required": [ - "MaxFiles" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterExpression": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "ValuesMap": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterValue" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ValuesMap" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FilterValue": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "ValueReference": { - "type": "string" - } - }, - "required": [ - "Value", - "ValueReference" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.FormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.CsvOptions" - }, - "Excel": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.ExcelOptions" - }, - "Json": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.JsonOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.Input": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DataCatalogInputDefinition" - }, - "DatabaseInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatabaseInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.JsonOptions": { - "additionalProperties": false, - "properties": { - "MultiLine": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathOptions": { - "additionalProperties": false, - "properties": { - "FilesLimit": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilesLimit" - }, - "LastModifiedDateCondition": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.FilterExpression" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.PathParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DataBrew::Dataset.PathParameter": { - "additionalProperties": false, - "properties": { - "DatasetParameter": { - "$ref": "#/definitions/AWS::DataBrew::Dataset.DatasetParameter" - }, - "PathParameterName": { - "type": "string" - } - }, - "required": [ - "DatasetParameter", - "PathParameterName" - ], - "type": "object" - }, - "AWS::DataBrew::Dataset.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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": { - "type": "object" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "RoleArn", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Job.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.JobSample": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - }, - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.Output": { - "additionalProperties": false, - "properties": { - "CompressionFormat": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "FormatOptions": { - "$ref": "#/definitions/AWS::DataBrew::Job.OutputFormatOptions" - }, - "Location": { - "$ref": "#/definitions/AWS::DataBrew::Job.S3Location" - }, - "Overwrite": { - "type": "boolean" - }, - "PartitionColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::DataBrew::Job.OutputFormatOptions": { - "additionalProperties": false, - "properties": { - "Csv": { - "$ref": "#/definitions/AWS::DataBrew::Job.CsvOutputOptions" - } - }, - "type": "object" - }, - "AWS::DataBrew::Job.OutputLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Job.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "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" - }, - "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" - }, - "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": { - "$ref": "#/definitions/AWS::DataBrew::Job.ParameterMap" - }, - "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::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecipeName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sample": { - "$ref": "#/definitions/AWS::DataBrew::Project.Sample" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatasetName", - "Name", - "RecipeName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Project.Sample": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.RecipeStep" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Steps" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Recipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.Action": { - "additionalProperties": false, - "properties": { - "Operation": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ParameterMap" - } - }, - "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.ParameterMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeParameters": { - "additionalProperties": false, - "properties": { - "AggregateFunction": { - "type": "string" - }, - "Base": { - "type": "string" - }, - "CaseStatement": { - "type": "string" - }, - "CategoryMap": { - "type": "string" - }, - "CharsToRemove": { - "type": "string" - }, - "CollapseConsecutiveWhitespace": { - "type": "string" - }, - "ColumnDataType": { - "type": "string" - }, - "ColumnRange": { - "type": "string" - }, - "Count": { - "type": "string" - }, - "CustomCharacters": { - "type": "string" - }, - "CustomStopWords": { - "type": "string" - }, - "CustomValue": { - "type": "string" - }, - "DatasetsColumns": { - "type": "string" - }, - "DateAddValue": { - "type": "string" - }, - "DateTimeFormat": { - "type": "string" - }, - "DateTimeParameters": { - "type": "string" - }, - "DeleteOtherRows": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "EndPattern": { - "type": "string" - }, - "EndPosition": { - "type": "string" - }, - "EndValue": { - "type": "string" - }, - "ExpandContractions": { - "type": "string" - }, - "Exponent": { - "type": "string" - }, - "FalseString": { - "type": "string" - }, - "GroupByAggFunctionOptions": { - "type": "string" - }, - "GroupByColumns": { - "type": "string" - }, - "HiddenColumns": { - "type": "string" - }, - "IgnoreCase": { - "type": "string" - }, - "IncludeInSplit": { - "type": "string" - }, - "Input": { - "type": "object" - }, - "Interval": { - "type": "string" - }, - "IsText": { - "type": "string" - }, - "JoinKeys": { - "type": "string" - }, - "JoinType": { - "type": "string" - }, - "LeftColumns": { - "type": "string" - }, - "Limit": { - "type": "string" - }, - "LowerBound": { - "type": "string" - }, - "MapType": { - "type": "string" - }, - "ModeType": { - "type": "string" - }, - "MultiLine": { - "type": "boolean" - }, - "NumRows": { - "type": "string" - }, - "NumRowsAfter": { - "type": "string" - }, - "NumRowsBefore": { - "type": "string" - }, - "OrderByColumn": { - "type": "string" - }, - "OrderByColumns": { - "type": "string" - }, - "Other": { - "type": "string" - }, - "Pattern": { - "type": "string" - }, - "PatternOption1": { - "type": "string" - }, - "PatternOption2": { - "type": "string" - }, - "PatternOptions": { - "type": "string" - }, - "Period": { - "type": "string" - }, - "Position": { - "type": "string" - }, - "RemoveAllPunctuation": { - "type": "string" - }, - "RemoveAllQuotes": { - "type": "string" - }, - "RemoveAllWhitespace": { - "type": "string" - }, - "RemoveCustomCharacters": { - "type": "string" - }, - "RemoveCustomValue": { - "type": "string" - }, - "RemoveLeadingAndTrailingPunctuation": { - "type": "string" - }, - "RemoveLeadingAndTrailingQuotes": { - "type": "string" - }, - "RemoveLeadingAndTrailingWhitespace": { - "type": "string" - }, - "RemoveLetters": { - "type": "string" - }, - "RemoveNumbers": { - "type": "string" - }, - "RemoveSourceColumn": { - "type": "string" - }, - "RemoveSpecialCharacters": { - "type": "string" - }, - "RightColumns": { - "type": "string" - }, - "SampleSize": { - "type": "string" - }, - "SampleType": { - "type": "string" - }, - "SecondInput": { - "type": "string" - }, - "SecondaryInputs": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.SecondaryInput" - }, - "type": "array" - }, - "SheetIndexes": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SheetNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceColumn": { - "type": "string" - }, - "SourceColumn1": { - "type": "string" - }, - "SourceColumn2": { - "type": "string" - }, - "SourceColumns": { - "type": "string" - }, - "StartColumnIndex": { - "type": "string" - }, - "StartPattern": { - "type": "string" - }, - "StartPosition": { - "type": "string" - }, - "StartValue": { - "type": "string" - }, - "StemmingMode": { - "type": "string" - }, - "StepCount": { - "type": "string" - }, - "StepIndex": { - "type": "string" - }, - "StopWordsMode": { - "type": "string" - }, - "Strategy": { - "type": "string" - }, - "TargetColumn": { - "type": "string" - }, - "TargetColumnNames": { - "type": "string" - }, - "TargetDateFormat": { - "type": "string" - }, - "TargetIndex": { - "type": "string" - }, - "TimeZone": { - "type": "string" - }, - "TokenizerPattern": { - "type": "string" - }, - "TrueString": { - "type": "string" - }, - "UdfLang": { - "type": "string" - }, - "Units": { - "type": "string" - }, - "UnpivotColumn": { - "type": "string" - }, - "UpperBound": { - "type": "string" - }, - "UseNewDataFrame": { - "type": "string" - }, - "Value": { - "type": "string" - }, - "Value1": { - "type": "string" - }, - "Value2": { - "type": "string" - }, - "ValueColumn": { - "type": "string" - }, - "ViewFrame": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataBrew::Recipe.RecipeStep": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.Action" - }, - "ConditionExpressions": { - "items": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.ConditionExpression" - }, - "type": "array" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::DataBrew::Recipe.SecondaryInput": { - "additionalProperties": false, - "properties": { - "DataCatalogInputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.DataCatalogInputDefinition" - }, - "S3InputDefinition": { - "$ref": "#/definitions/AWS::DataBrew::Recipe.S3Location" - } - }, - "type": "object" - }, - "AWS::DataBrew::Schedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CronExpression": { - "type": "string" - }, - "JobNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CronExpression", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataBrew::Schedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParameterObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterObject" - }, - "type": "array" - }, - "ParameterValues": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterValue" - }, - "type": "array" - }, - "PipelineObjects": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineObject" - }, - "type": "array" - }, - "PipelineTags": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.PipelineTag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "ParameterObjects" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataPipeline::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.Field": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "RefValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Key", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterObject": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.ParameterAttribute" - }, - "type": "array" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "Attributes", - "Id" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.ParameterValue": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "required": [ - "Id", - "StringValue" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineObject": { - "additionalProperties": false, - "properties": { - "Fields": { - "items": { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline.Field" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Fields", - "Id", - "Name" - ], - "type": "object" - }, - "AWS::DataPipeline::Pipeline.PipelineTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::DataSync::Agent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActivationKey": { - "type": "string" - }, - "AgentName": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - } - }, - "required": [ - "ActivationKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Agent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2Config": { - "$ref": "#/definitions/AWS::DataSync::LocationEFS.Ec2Config" - }, - "EfsFilesystemArn": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Ec2Config", - "EfsFilesystemArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationEFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationEFS.Ec2Config": { - "additionalProperties": false, - "properties": { - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetArn": { - "type": "string" - } - }, - "required": [ - "SecurityGroupArns", - "SubnetArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationFSxWindows": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "FsxFilesystemArn": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "SecurityGroupArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "FsxFilesystemArn", - "Password", - "SecurityGroupArns", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationFSxWindows" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.MountOptions" - }, - "OnPremConfig": { - "$ref": "#/definitions/AWS::DataSync::LocationNFS.OnPremConfig" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "OnPremConfig", - "ServerHostname", - "Subdirectory" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationNFS" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationNFS.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::LocationNFS.OnPremConfig": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "AgentArns" - ], - "type": "object" - }, - "AWS::DataSync::LocationObjectStorage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BucketName": { - "type": "string" - }, - "SecretKey": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "ServerPort": { - "type": "number" - }, - "ServerProtocol": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AgentArns", - "BucketName", - "ServerHostname" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationObjectStorage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "S3BucketArn": { - "type": "string" - }, - "S3Config": { - "$ref": "#/definitions/AWS::DataSync::LocationS3.S3Config" - }, - "S3StorageClass": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "S3BucketArn", - "S3Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationS3" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationS3.S3Config": { - "additionalProperties": false, - "properties": { - "BucketAccessRoleArn": { - "type": "string" - } - }, - "required": [ - "BucketAccessRoleArn" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Domain": { - "type": "string" - }, - "MountOptions": { - "$ref": "#/definitions/AWS::DataSync::LocationSMB.MountOptions" - }, - "Password": { - "type": "string" - }, - "ServerHostname": { - "type": "string" - }, - "Subdirectory": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "User": { - "type": "string" - } - }, - "required": [ - "AgentArns", - "Password", - "ServerHostname", - "Subdirectory", - "User" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::LocationSMB" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::LocationSMB.MountOptions": { - "additionalProperties": false, - "properties": { - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "DestinationLocationArn": { - "type": "string" - }, - "Excludes": { - "items": { - "$ref": "#/definitions/AWS::DataSync::Task.FilterRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Options": { - "$ref": "#/definitions/AWS::DataSync::Task.Options" - }, - "Schedule": { - "$ref": "#/definitions/AWS::DataSync::Task.TaskSchedule" - }, - "SourceLocationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationLocationArn", - "SourceLocationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DataSync::Task" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DataSync::Task.FilterRule": { - "additionalProperties": false, - "properties": { - "FilterType": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DataSync::Task.Options": { - "additionalProperties": false, - "properties": { - "Atime": { - "type": "string" - }, - "BytesPerSecond": { - "type": "number" - }, - "Gid": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "Mtime": { - "type": "string" - }, - "OverwriteMode": { - "type": "string" - }, - "PosixPermissions": { - "type": "string" - }, - "PreserveDeletedFiles": { - "type": "string" - }, - "PreserveDevices": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::Graph" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Detective::MemberInvitation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisableEmailNotification": { - "type": "boolean" - }, - "GraphArn": { - "type": "string" - }, - "MemberEmailAddress": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - } - }, - "required": [ - "GraphArn", - "MemberEmailAddress", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Detective::MemberInvitation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Config": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig" - } - }, - "required": [ - "Config" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.NotificationChannelConfig": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::NotificationChannel.SnsChannelConfig": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceCollectionFilter": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter" - } - }, - "required": [ - "ResourceCollectionFilter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DevOpsGuru::ResourceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter": { - "additionalProperties": false, - "properties": { - "StackNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::DevOpsGuru::ResourceCollection.ResourceCollectionFilter": { - "additionalProperties": false, - "properties": { - "CloudFormation": { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection.CloudFormationCollectionFilter" - } - }, - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Edition": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::MicrosoftAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::MicrosoftAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CreateAlias": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "EnableSso": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "ShortName": { - "type": "string" - }, - "Size": { - "type": "string" - }, - "VpcSettings": { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD.VpcSettings" - } - }, - "required": [ - "Name", - "Password", - "Size", - "VpcSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DirectoryService::SimpleAD" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DirectoryService::SimpleAD.VpcSettings": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "AWS::DocDB::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "MasterUserPassword", - "MasterUsername" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBClusterIdentifier", - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DocDB::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DocDB::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.LocalSecondaryIndex" - }, - "type": "array" - }, - "Replicas": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSpecification" - }, - "type": "array" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TimeToLiveSpecification" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "AttributeDefinitions", - "KeySchema", - "Replicas" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::GlobalTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SeedCapacity": { - "type": "number" - }, - "TargetTrackingScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity", - "TargetTrackingScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - }, - "WriteProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "ReadCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - }, - "ReadCapacityUnits": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - } - }, - "required": [ - "IndexName" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - } - }, - "required": [ - "KMSMasterKeyId" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.ReplicaSpecification": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaGlobalSecondaryIndexSpecification" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.PointInTimeRecoverySpecification" - }, - "ReadProvisionedThroughputSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReadProvisionedThroughputSettings" - }, - "Region": { - "type": "string" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.ReplicaSSESpecification" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.SSESpecification": { - "additionalProperties": false, - "properties": { - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TargetTrackingScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "DisableScaleIn": { - "type": "boolean" - }, - "ScaleInCooldown": { - "type": "number" - }, - "ScaleOutCooldown": { - "type": "number" - }, - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::GlobalTable.WriteProvisionedThroughputSettings": { - "additionalProperties": false, - "properties": { - "WriteCapacityAutoScalingSettings": { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable.CapacityAutoScalingSettings" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributeDefinitions": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.AttributeDefinition" - }, - "type": "array" - }, - "BillingMode": { - "type": "string" - }, - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "GlobalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.GlobalSecondaryIndex" - }, - "type": "array" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "KinesisStreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KinesisStreamSpecification" - }, - "LocalSecondaryIndexes": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.LocalSecondaryIndex" - }, - "type": "array" - }, - "PointInTimeRecoverySpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.PointInTimeRecoverySpecification" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - }, - "SSESpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.SSESpecification" - }, - "StreamSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.StreamSpecification" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeToLiveSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.TimeToLiveSpecification" - } - }, - "required": [ - "KeySchema" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::DynamoDB::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.AttributeDefinition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.ContributorInsightsSpecification": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.GlobalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "ContributorInsightsSpecification": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ContributorInsightsSpecification" - }, - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - }, - "ProvisionedThroughput": { - "$ref": "#/definitions/AWS::DynamoDB::Table.ProvisionedThroughput" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KeySchema": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "KeyType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.KinesisStreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamArn": { - "type": "string" - } - }, - "required": [ - "StreamArn" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.LocalSecondaryIndex": { - "additionalProperties": false, - "properties": { - "IndexName": { - "type": "string" - }, - "KeySchema": { - "items": { - "$ref": "#/definitions/AWS::DynamoDB::Table.KeySchema" - }, - "type": "array" - }, - "Projection": { - "$ref": "#/definitions/AWS::DynamoDB::Table.Projection" - } - }, - "required": [ - "IndexName", - "KeySchema", - "Projection" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.PointInTimeRecoverySpecification": { - "additionalProperties": false, - "properties": { - "PointInTimeRecoveryEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.Projection": { - "additionalProperties": false, - "properties": { - "NonKeyAttributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ProjectionType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::DynamoDB::Table.ProvisionedThroughput": { - "additionalProperties": false, - "properties": { - "ReadCapacityUnits": { - "type": "number" - }, - "WriteCapacityUnits": { - "type": "number" - } - }, - "required": [ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.SSESpecification": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyId": { - "type": "string" - }, - "SSEEnabled": { - "type": "boolean" - }, - "SSEType": { - "type": "string" - } - }, - "required": [ - "SSEEnabled" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.StreamSpecification": { - "additionalProperties": false, - "properties": { - "StreamViewType": { - "type": "string" - } - }, - "required": [ - "StreamViewType" - ], - "type": "object" - }, - "AWS::DynamoDB::Table.TimeToLiveSpecification": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "AttributeName", - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "EbsOptimized": { - "type": "boolean" - }, - "EndDate": { - "type": "string" - }, - "EndDateType": { - "type": "string" - }, - "EphemeralStorage": { - "type": "boolean" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceMatchCriteria": { - "type": "string" - }, - "InstancePlatform": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::CapacityReservation.TagSpecification" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceCount", - "InstancePlatform", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CapacityReservation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CapacityReservation.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::CarrierGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CarrierGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnAuthorizationRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessGroupId": { - "type": "string" - }, - "AuthorizeAllGroups": { - "type": "boolean" - }, - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "TargetNetworkCidr": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "TargetNetworkCidr" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnAuthorizationRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationOptions": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest" - }, - "type": "array" - }, - "ClientCidrBlock": { - "type": "string" - }, - "ClientConnectOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ClientConnectOptions" - }, - "ConnectionLogOptions": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions" - }, - "Description": { - "type": "string" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfServicePortal": { - "type": "string" - }, - "ServerCertificateArn": { - "type": "string" - }, - "SplitTunnel": { - "type": "boolean" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.TagSpecification" - }, - "type": "array" - }, - "TransportProtocol": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnPort": { - "type": "number" - } - }, - "required": [ - "AuthenticationOptions", - "ClientCidrBlock", - "ConnectionLogOptions", - "ServerCertificateArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ClientRootCertificateChainArn": { - "type": "string" - } - }, - "required": [ - "ClientRootCertificateChainArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "ActiveDirectory": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest" - }, - "FederatedAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest" - }, - "MutualAuthentication": { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LambdaFunctionArn": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": { - "additionalProperties": false, - "properties": { - "CloudwatchLogGroup": { - "type": "string" - }, - "CloudwatchLogStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - } - }, - "required": [ - "DirectoryId" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest": { - "additionalProperties": false, - "properties": { - "SAMLProviderArn": { - "type": "string" - }, - "SelfServiceSAMLProviderArn": { - "type": "string" - } - }, - "required": [ - "SAMLProviderArn" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnEndpoint.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceType", - "Tags" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TargetVpcSubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "DestinationCidrBlock", - "TargetVpcSubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::ClientVpnTargetNetworkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientVpnEndpointId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "ClientVpnEndpointId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::ClientVpnTargetNetworkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::CustomerGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BgpAsn": { - "type": "number" - }, - "IpAddress": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "BgpAsn", - "IpAddress", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::CustomerGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::DHCPOptions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "DomainNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNameServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetbiosNodeType": { - "type": "number" - }, - "NtpServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::DHCPOptions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EC2Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "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.CapacityReservationOptionsRequest": { - "additionalProperties": false, - "properties": { - "UsageStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.Placement" - }, - "Priority": { - "type": "number" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "CapacityReservationOptions": { - "$ref": "#/definitions/AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.SpotOptionsRequest": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "InstancePoolsToUseCount": { - "type": "number" - }, - "MaxTotalPrice": { - "type": "string" - }, - "MinTargetCapacity": { - "type": "number" - }, - "SingleAvailabilityZone": { - "type": "boolean" - }, - "SingleInstanceType": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": { - "additionalProperties": false, - "properties": { - "DefaultTargetCapacityType": { - "type": "string" - }, - "OnDemandTargetCapacity": { - "type": "number" - }, - "SpotTargetCapacity": { - "type": "number" - }, - "TotalTargetCapacity": { - "type": "number" - } - }, - "required": [ - "TotalTargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::EIP": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "PublicIpv4Pool": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIP" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EIPAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "EIP": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EIPAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::EgressOnlyInternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EgressOnlyInternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::EnclaveCertificateIamRoleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::EnclaveCertificateIamRoleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::FlowLog": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliverLogsPermissionArn": { - "type": "string" - }, - "LogDestination": { - "type": "string" - }, - "LogDestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MaxAggregationInterval": { - "type": "number" - }, - "ResourceId": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficType": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "ResourceType", - "TrafficType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::FlowLog" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::GatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - } - }, - "required": [ - "GatewayId", - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::GatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Host": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoPlacement": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "HostRecovery": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Host" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Instance": { - "additionalProperties": false, - "properties": { - "CreationPolicy": { - "type": "object" - }, - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "string" - }, - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::Instance.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.ElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::Instance.HibernationOptions" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "IamInstanceProfile": { - "type": "string" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EC2::Instance.LaunchTemplateSpecification" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.LicenseSpecification" - }, - "type": "array" - }, - "Monitoring": { - "type": "boolean" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.NetworkInterface" - }, - "type": "array" - }, - "PlacementGroupName": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SsmAssociations": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.SsmAssociation" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Tenancy": { - "type": "string" - }, - "UserData": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.AssociationParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EC2::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::Instance.Ebs" - }, - "NoDevice": { - "$ref": "#/definitions/AWS::EC2::Instance.NoDevice" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::Instance.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CPUCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.ElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::Instance.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::Instance.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::Instance.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::Instance.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "required": [ - "LicenseConfigurationArn" - ], - "type": "object" - }, - "AWS::EC2::Instance.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex" - ], - "type": "object" - }, - "AWS::EC2::Instance.NoDevice": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::EC2::Instance.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::Instance.SsmAssociation": { - "additionalProperties": false, - "properties": { - "AssociationParameters": { - "items": { - "$ref": "#/definitions/AWS::EC2::Instance.AssociationParameter" - }, - "type": "array" - }, - "DocumentName": { - "type": "string" - } - }, - "required": [ - "DocumentName" - ], - "type": "object" - }, - "AWS::EC2::Instance.Volume": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "VolumeId" - ], - "type": "object" - }, - "AWS::EC2::InternetGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::InternetGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LaunchTemplateData": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateData" - }, - "LaunchTemplateName": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LaunchTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::LaunchTemplate.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ebs" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": { - "additionalProperties": false, - "properties": { - "CapacityReservationPreference": { - "type": "string" - }, - "CapacityReservationTarget": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationTarget" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CapacityReservationTarget": { - "additionalProperties": false, - "properties": { - "CapacityReservationId": { - "type": "string" - }, - "CapacityReservationResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CpuOptions": { - "additionalProperties": false, - "properties": { - "CoreCount": { - "type": "number" - }, - "ThreadsPerCore": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.CreditSpecification": { - "additionalProperties": false, - "properties": { - "CpuCredits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ebs": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "Throughput": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.EnclaveOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.HibernationOptions": { - "additionalProperties": false, - "properties": { - "Configured": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.IamInstanceProfile": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.InstanceMarketOptions": { - "additionalProperties": false, - "properties": { - "MarketType": { - "type": "string" - }, - "SpotOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.SpotOptions" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Ipv6Add": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateData": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.BlockDeviceMapping" - }, - "type": "array" - }, - "CapacityReservationSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CapacityReservationSpecification" - }, - "CpuOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CpuOptions" - }, - "CreditSpecification": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.CreditSpecification" - }, - "DisableApiTermination": { - "type": "boolean" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticGpuSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.ElasticGpuSpecification" - }, - "type": "array" - }, - "ElasticInferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator" - }, - "type": "array" - }, - "EnclaveOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.EnclaveOptions" - }, - "HibernationOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.HibernationOptions" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.IamInstanceProfile" - }, - "ImageId": { - "type": "string" - }, - "InstanceInitiatedShutdownBehavior": { - "type": "string" - }, - "InstanceMarketOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.InstanceMarketOptions" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "LicenseSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.LicenseSpecification" - }, - "type": "array" - }, - "MetadataOptions": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.MetadataOptions" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Monitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.NetworkInterface" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Placement" - }, - "RamDiskId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.TagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.LicenseSpecification": { - "additionalProperties": false, - "properties": { - "LicenseConfigurationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.MetadataOptions": { - "additionalProperties": false, - "properties": { - "HttpEndpoint": { - "type": "string" - }, - "HttpPutResponseHopLimit": { - "type": "number" - }, - "HttpTokens": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Monitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.NetworkInterface": { - "additionalProperties": false, - "properties": { - "AssociateCarrierIpAddress": { - "type": "boolean" - }, - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.Ipv6Add" - }, - "type": "array" - }, - "NetworkCardIndex": { - "type": "number" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate.PrivateIpAdd" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.Placement": { - "additionalProperties": false, - "properties": { - "Affinity": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "HostId": { - "type": "string" - }, - "HostResourceGroupArn": { - "type": "string" - }, - "PartitionNumber": { - "type": "number" - }, - "SpreadDomain": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.PrivateIpAdd": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.SpotOptions": { - "additionalProperties": false, - "properties": { - "BlockDurationMinutes": { - "type": "number" - }, - "InstanceInterruptionBehavior": { - "type": "string" - }, - "MaxPrice": { - "type": "string" - }, - "SpotInstanceType": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::LaunchTemplate.TagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::LocalGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "LocalGatewayRouteTableId": { - "type": "string" - }, - "LocalGatewayVirtualInterfaceGroupId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "LocalGatewayRouteTableId", - "LocalGatewayVirtualInterfaceGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::LocalGatewayRouteTableVPCAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LocalGatewayRouteTableId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "LocalGatewayRouteTableId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::LocalGatewayRouteTableVPCAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NatGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "ConnectivityType": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAcl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "Icmp": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.Icmp" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "NetworkAclId": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry.PortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "required": [ - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkAclEntry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.Icmp": { - "additionalProperties": false, - "properties": { - "Code": { - "type": "number" - }, - "Type": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkAclEntry.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterInArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkInsightsPathId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "NetworkInsightsPathId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsAnalysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "ComponentId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Egress": { - "type": "boolean" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "Protocol": { - "type": "string" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "number" - }, - "LoadBalancerPort": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "Instance": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader": { - "additionalProperties": false, - "properties": { - "DestinationAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DestinationPortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SourceAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourcePortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute": { - "additionalProperties": false, - "properties": { - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Origin": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - }, - "destinationCidr": { - "type": "string" - }, - "destinationPrefixListId": { - "type": "string" - }, - "egressOnlyInternetGatewayId": { - "type": "string" - }, - "gatewayId": { - "type": "string" - }, - "instanceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "PortRange": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "PrefixListId": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.Explanation": { - "additionalProperties": false, - "properties": { - "Acl": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Address": { - "type": "string" - }, - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AttachedTo": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClassicLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "CustomerGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Destination": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Direction": { - "type": "string" - }, - "ElasticLoadBalancerListener": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "ExplanationCode": { - "type": "string" - }, - "IngressRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InternetGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerArn": { - "type": "string" - }, - "LoadBalancerListenerPort": { - "type": "number" - }, - "LoadBalancerTarget": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget" - }, - "LoadBalancerTargetGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "LoadBalancerTargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "LoadBalancerTargetPort": { - "type": "number" - }, - "MissingComponent": { - "type": "string" - }, - "NatGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "NetworkInterface": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "PacketField": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.PortRange" - }, - "type": "array" - }, - "PrefixList": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Protocols": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroup": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "type": "array" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "State": { - "type": "string" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "SubnetRouteTable": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpcPeeringConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnConnection": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "VpnGateway": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "vpcEndpoint": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PathComponent": { - "additionalProperties": false, - "properties": { - "AclRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule" - }, - "Component": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "DestinationVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "InboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "OutboundHeader": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader" - }, - "RouteTableRoute": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute" - }, - "SecurityGroupRule": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule" - }, - "SequenceNumber": { - "type": "number" - }, - "SourceVpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Subnet": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - }, - "Vpc": { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsAnalysis.PortRange": { - "additionalProperties": false, - "properties": { - "From": { - "type": "number" - }, - "To": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::NetworkInsightsPath": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationIp": { - "type": "string" - }, - "DestinationPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourceIp": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Destination", - "Protocol", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInsightsPath" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GroupSet": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InterfaceType": { - "type": "string" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.InstanceIpv6Address" - }, - "type": "array" - }, - "PrivateIpAddress": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::NetworkInterface.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SourceDestCheck": { - "type": "boolean" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "Primary", - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "DeviceIndex": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfaceAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::NetworkInterfacePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "NetworkInterfaceId", - "Permission" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::NetworkInterfacePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PlacementGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Strategy": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PlacementGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::PrefixList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddressFamily": { - "type": "string" - }, - "Entries": { - "items": { - "$ref": "#/definitions/AWS::EC2::PrefixList.Entry" - }, - "type": "array" - }, - "MaxEntries": { - "type": "number" - }, - "PrefixListName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddressFamily", - "MaxEntries", - "PrefixListName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::PrefixList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::PrefixList.Entry": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "Cidr" - ], - "type": "object" - }, - "AWS::EC2::Route": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CarrierGatewayId": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationIpv6CidrBlock": { - "type": "string" - }, - "EgressOnlyInternetGatewayId": { - "type": "string" - }, - "GatewayId": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "LocalGatewayId": { - "type": "string" - }, - "NatGatewayId": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "RouteTableId": { - "type": "string" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcPeeringConnectionId": { - "type": "string" - } - }, - "required": [ - "RouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Route" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::RouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::RouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupDescription": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "SecurityGroupEgress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Egress" - }, - "type": "array" - }, - "SecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::EC2::SecurityGroup.Ingress" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Egress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupEgress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DestinationPrefixListId": { - "type": "string" - }, - "DestinationSecurityGroupId": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "GroupId", - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupEgress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrIp": { - "type": "string" - }, - "CidrIpv6": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FromPort": { - "type": "number" - }, - "GroupId": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "IpProtocol": { - "type": "string" - }, - "SourcePrefixListId": { - "type": "string" - }, - "SourceSecurityGroupId": { - "type": "string" - }, - "SourceSecurityGroupName": { - "type": "string" - }, - "SourceSecurityGroupOwnerId": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "IpProtocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SpotFleetRequestConfigData": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetRequestConfigData" - } - }, - "required": [ - "SpotFleetRequestConfigData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SpotFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancer": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancer" - }, - "type": "array" - } - }, - "required": [ - "ClassicLoadBalancers" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Version" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.GroupIdentifier": { - "additionalProperties": false, - "properties": { - "GroupId": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceIpv6Address": { - "additionalProperties": false, - "properties": { - "Ipv6Address": { - "type": "string" - } - }, - "required": [ - "Ipv6Address" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "DeleteOnTermination": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "DeviceIndex": { - "type": "number" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Ipv6AddressCount": { - "type": "number" - }, - "Ipv6Addresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceIpv6Address" - }, - "type": "array" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PrivateIpAddresses": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.PrivateIpAddressSpecification" - }, - "type": "array" - }, - "SecondaryPrivateIpAddressCount": { - "type": "number" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateConfig": { - "additionalProperties": false, - "properties": { - "LaunchTemplateSpecification": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification" - }, - "Overrides": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.LaunchTemplateOverrides" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LaunchTemplateOverrides": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.LoadBalancersConfig": { - "additionalProperties": false, - "properties": { - "ClassicLoadBalancersConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.ClassicLoadBalancersConfig" - }, - "TargetGroupsConfig": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroupsConfig" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": { - "additionalProperties": false, - "properties": { - "Primary": { - "type": "boolean" - }, - "PrivateIpAddress": { - "type": "string" - } - }, - "required": [ - "PrivateIpAddress" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotCapacityRebalance": { - "additionalProperties": false, - "properties": { - "ReplacementStrategy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "IamInstanceProfile": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.IamInstanceProfileSpecification" - }, - "ImageId": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KernelId": { - "type": "string" - }, - "KeyName": { - "type": "string" - }, - "Monitoring": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetMonitoring" - }, - "NetworkInterfaces": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification" - }, - "type": "array" - }, - "Placement": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotPlacement" - }, - "RamdiskId": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.GroupIdentifier" - }, - "type": "array" - }, - "SpotPrice": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "TagSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotFleetTagSpecification" - }, - "type": "array" - }, - "UserData": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "ImageId", - "InstanceType" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetMonitoring": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "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" - }, - "TargetCapacity": { - "type": "number" - }, - "TerminateInstancesWithExpiration": { - "type": "boolean" - }, - "Type": { - "type": "string" - }, - "ValidFrom": { - "type": "string" - }, - "ValidUntil": { - "type": "string" - } - }, - "required": [ - "IamFleetRole", - "TargetCapacity" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotFleetTagSpecification": { - "additionalProperties": false, - "properties": { - "ResourceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotMaintenanceStrategies": { - "additionalProperties": false, - "properties": { - "CapacityRebalance": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.SpotCapacityRebalance" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.SpotPlacement": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "Tenancy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroup": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::EC2::SpotFleet.TargetGroupsConfig": { - "additionalProperties": false, - "properties": { - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::EC2::SpotFleet.TargetGroup" - }, - "type": "array" - } - }, - "required": [ - "TargetGroups" - ], - "type": "object" - }, - "AWS::EC2::Subnet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssignIpv6AddressOnCreation": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "MapPublicIpOnLaunch": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "CidrBlock", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Subnet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ipv6CidrBlock": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "Ipv6CidrBlock", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetCidrBlock" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetNetworkAclAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NetworkAclId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "NetworkAclId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetNetworkAclAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::SubnetRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "RouteTableId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::SubnetRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkServices": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "DestinationPortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "Protocol": { - "type": "number" - }, - "RuleAction": { - "type": "string" - }, - "RuleNumber": { - "type": "number" - }, - "SourceCidrBlock": { - "type": "string" - }, - "SourcePortRange": { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange" - }, - "TrafficDirection": { - "type": "string" - }, - "TrafficMirrorFilterId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "RuleAction", - "RuleNumber", - "SourceCidrBlock", - "TrafficDirection", - "TrafficMirrorFilterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorFilterRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorSession": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "PacketLength": { - "type": "number" - }, - "SessionNumber": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrafficMirrorFilterId": { - "type": "string" - }, - "TrafficMirrorTargetId": { - "type": "string" - }, - "VirtualNetworkId": { - "type": "number" - } - }, - "required": [ - "NetworkInterfaceId", - "SessionNumber", - "TrafficMirrorFilterId", - "TrafficMirrorTargetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorSession" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TrafficMirrorTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "NetworkLoadBalancerArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TrafficMirrorTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::TransitGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SubnetIds", - "TransitGatewayId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransportTransitGatewayAttachmentId": { - "type": "string" - } - }, - "required": [ - "Options", - "TransportTransitGatewayAttachmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayConnect" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions": { - "additionalProperties": false, - "properties": { - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Options": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastDomainAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "SubnetId", - "TransitGatewayAttachmentId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastDomainAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupMember": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupMember" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayMulticastGroupSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupIpAddress": { - "type": "string" - }, - "NetworkInterfaceId": { - "type": "string" - }, - "TransitGatewayMulticastDomainId": { - "type": "string" - } - }, - "required": [ - "GroupIpAddress", - "NetworkInterfaceId", - "TransitGatewayMulticastDomainId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayMulticastGroupSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayPeeringAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerAccountId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerTransitGatewayId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "PeerAccountId", - "PeerRegion", - "PeerTransitGatewayId", - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayPeeringAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Blackhole": { - "type": "boolean" - }, - "DestinationCidrBlock": { - "type": "string" - }, - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTableAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTableAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::TransitGatewayRouteTablePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "TransitGatewayAttachmentId": { - "type": "string" - }, - "TransitGatewayRouteTableId": { - "type": "string" - } - }, - "required": [ - "TransitGatewayAttachmentId", - "TransitGatewayRouteTableId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::TransitGatewayRouteTablePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrBlock": { - "type": "string" - }, - "EnableDnsHostnames": { - "type": "boolean" - }, - "EnableDnsSupport": { - "type": "boolean" - }, - "InstanceTenancy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CidrBlock" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCCidrBlock": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonProvidedIpv6CidrBlock": { - "type": "boolean" - }, - "CidrBlock": { - "type": "string" - }, - "Ipv6CidrBlock": { - "type": "string" - }, - "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": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DhcpOptionsId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DhcpOptionsId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCDHCPOptionsAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PrivateDnsEnabled": { - "type": "boolean" - }, - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointType": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "ServiceName", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointConnectionNotification": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionNotificationArn": { - "type": "string" - }, - "ServiceId": { - "type": "string" - }, - "VPCEndpointId": { - "type": "string" - } - }, - "required": [ - "ConnectionEvents", - "ConnectionNotificationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointConnectionNotification" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointService": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "GatewayLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NetworkLoadBalancerArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointService" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EC2::VPCEndpointServicePermissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPrincipals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCEndpointServicePermissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCGatewayAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InternetGatewayId": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCGatewayAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPCPeeringConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PeerOwnerId": { - "type": "string" - }, - "PeerRegion": { - "type": "string" - }, - "PeerRoleArn": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "PeerVpcId", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPCPeeringConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayId": { - "type": "string" - }, - "StaticRoutesOnly": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitGatewayId": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "VpnGatewayId": { - "type": "string" - }, - "VpnTunnelOptionsSpecifications": { - "items": { - "$ref": "#/definitions/AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification" - }, - "type": "array" - } - }, - "required": [ - "CustomerGatewayId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": { - "additionalProperties": false, - "properties": { - "PreSharedKey": { - "type": "string" - }, - "TunnelInsideCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EC2::VPNConnectionRoute": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationCidrBlock": { - "type": "string" - }, - "VpnConnectionId": { - "type": "string" - } - }, - "required": [ - "DestinationCidrBlock", - "VpnConnectionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNConnectionRoute" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmazonSideAsn": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VPNGatewayRoutePropagation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RouteTableIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpnGatewayId": { - "type": "string" - } - }, - "required": [ - "RouteTableIds", - "VpnGatewayId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VPNGatewayRoutePropagation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoEnableIO": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "MultiAttachEnabled": { - "type": "boolean" - }, - "OutpostArn": { - "type": "string" - }, - "Size": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Throughput": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EC2::VolumeAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "VolumeId": { - "type": "string" - } - }, - "required": [ - "Device", - "InstanceId", - "VolumeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EC2::VolumeAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::PublicRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RepositoryCatalogData": { - "type": "object" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::PublicRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyText": { - "type": "object" - } - }, - "required": [ - "PolicyText" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationConfiguration" - } - }, - "required": [ - "ReplicationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::ReplicationConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "required": [ - "Region", - "RegistryId" - ], - "type": "object" - }, - "AWS::ECR::ReplicationConfiguration.ReplicationRule": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration.ReplicationDestination" - }, - "type": "array" - } - }, - "required": [ - "Destinations" - ], - "type": "object" - }, - "AWS::ECR::Repository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.EncryptionConfiguration" - }, - "ImageScanningConfiguration": { - "$ref": "#/definitions/AWS::ECR::Repository.ImageScanningConfiguration" - }, - "ImageTagMutability": { - "type": "string" - }, - "LifecyclePolicy": { - "$ref": "#/definitions/AWS::ECR::Repository.LifecyclePolicy" - }, - "RepositoryName": { - "type": "string" - }, - "RepositoryPolicyText": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECR::Repository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECR::Repository.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KmsKey": { - "type": "string" - } - }, - "required": [ - "EncryptionType" - ], - "type": "object" - }, - "AWS::ECR::Repository.ImageScanningConfiguration": { - "additionalProperties": false, - "properties": { - "ScanOnPush": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ECR::Repository.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "LifecyclePolicyText": { - "type": "string" - }, - "RegistryId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::CapacityProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupProvider": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.AutoScalingGroupProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AutoScalingGroupProvider" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::CapacityProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.AutoScalingGroupProvider": { - "additionalProperties": false, - "properties": { - "AutoScalingGroupArn": { - "type": "string" - }, - "ManagedScaling": { - "$ref": "#/definitions/AWS::ECS::CapacityProvider.ManagedScaling" - }, - "ManagedTerminationProtection": { - "type": "string" - } - }, - "required": [ - "AutoScalingGroupArn" - ], - "type": "object" - }, - "AWS::ECS::CapacityProvider.ManagedScaling": { - "additionalProperties": false, - "properties": { - "InstanceWarmupPeriod": { - "type": "number" - }, - "MaximumScalingStepSize": { - "type": "number" - }, - "MinimumScalingStepSize": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "TargetCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterName": { - "type": "string" - }, - "ClusterSettings": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterSettings" - }, - "type": "array" - }, - "Configuration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ClusterConfiguration" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Cluster.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Cluster.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterConfiguration": { - "additionalProperties": false, - "properties": { - "ExecuteCommandConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ClusterSettings": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::Cluster.ExecuteCommandLogConfiguration" - }, - "Logging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Cluster.ExecuteCommandLogConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionEnabled": { - "type": "boolean" - }, - "CloudWatchLogGroupName": { - "type": "string" - }, - "S3BucketName": { - "type": "string" - }, - "S3EncryptionEnabled": { - "type": "boolean" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DefaultCapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy" - }, - "type": "array" - } - }, - "required": [ - "CapacityProviders", - "Cluster", - "DefaultCapacityProviderStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::ClusterCapacityProviderAssociations" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::ClusterCapacityProviderAssociations.CapacityProviderStrategy": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "CapacityProvider" - ], - "type": "object" - }, - "AWS::ECS::PrimaryTaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "Service": { - "type": "string" - }, - "TaskSetId": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskSetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::PrimaryTaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityProviderStrategy": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.CapacityProviderStrategyItem" - }, - "type": "array" - }, - "Cluster": { - "type": "string" - }, - "DeploymentConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentConfiguration" - }, - "DeploymentController": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentController" - }, - "DesiredCount": { - "type": "number" - }, - "EnableECSManagedTags": { - "type": "boolean" - }, - "EnableExecuteCommand": { - "type": "boolean" - }, - "HealthCheckGracePeriodSeconds": { - "type": "number" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.NetworkConfiguration" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementConstraint" - }, - "type": "array" - }, - "PlacementStrategies": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.PlacementStrategy" - }, - "type": "array" - }, - "PlatformVersion": { - "type": "string" - }, - "PropagateTags": { - "type": "string" - }, - "Role": { - "type": "string" - }, - "SchedulingStrategy": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::Service.ServiceRegistry" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::Service.CapacityProviderStrategyItem": { - "additionalProperties": false, - "properties": { - "Base": { - "type": "number" - }, - "CapacityProvider": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentCircuitBreaker": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - }, - "Rollback": { - "type": "boolean" - } - }, - "required": [ - "Enable", - "Rollback" - ], - "type": "object" - }, - "AWS::ECS::Service.DeploymentConfiguration": { - "additionalProperties": false, - "properties": { - "DeploymentCircuitBreaker": { - "$ref": "#/definitions/AWS::ECS::Service.DeploymentCircuitBreaker" - }, - "MaximumPercent": { - "type": "number" - }, - "MinimumHealthyPercent": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::Service.DeploymentController": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::Service.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsvpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::Service.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::Service.PlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.PlacementStrategy": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::Service.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerDefinitions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDefinition" - }, - "type": "array" - }, - "Cpu": { - "type": "string" - }, - "EphemeralStorage": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EphemeralStorage" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "InferenceAccelerators": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.InferenceAccelerator" - }, - "type": "array" - }, - "IpcMode": { - "type": "string" - }, - "Memory": { - "type": "string" - }, - "NetworkMode": { - "type": "string" - }, - "PidMode": { - "type": "string" - }, - "PlacementConstraints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint" - }, - "type": "array" - }, - "ProxyConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ProxyConfiguration" - }, - "RequiresCompatibilities": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskRoleArn": { - "type": "string" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Volume" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.AuthorizationConfig": { - "additionalProperties": false, - "properties": { - "AccessPointId": { - "type": "string" - }, - "IAM": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Cpu": { - "type": "number" - }, - "DependsOn": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ContainerDependency" - }, - "type": "array" - }, - "DisableNetworking": { - "type": "boolean" - }, - "DnsSearchDomains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DnsServers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DockerLabels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DockerSecurityOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "EnvironmentFiles": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EnvironmentFile" - }, - "type": "array" - }, - "Essential": { - "type": "boolean" - }, - "ExtraHosts": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostEntry" - }, - "type": "array" - }, - "FirelensConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.FirelensConfiguration" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HealthCheck" - }, - "Hostname": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "Interactive": { - "type": "boolean" - }, - "Links": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LinuxParameters": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LinuxParameters" - }, - "LogConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.LogConfiguration" - }, - "Memory": { - "type": "number" - }, - "MemoryReservation": { - "type": "number" - }, - "MountPoints": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.MountPoint" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PortMappings": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.PortMapping" - }, - "type": "array" - }, - "Privileged": { - "type": "boolean" - }, - "PseudoTerminal": { - "type": "boolean" - }, - "ReadonlyRootFilesystem": { - "type": "boolean" - }, - "RepositoryCredentials": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.RepositoryCredentials" - }, - "ResourceRequirements": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.ResourceRequirement" - }, - "type": "array" - }, - "Secrets": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - }, - "StartTimeout": { - "type": "number" - }, - "StopTimeout": { - "type": "number" - }, - "SystemControls": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.SystemControl" - }, - "type": "array" - }, - "Ulimits": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Ulimit" - }, - "type": "array" - }, - "User": { - "type": "string" - }, - "VolumesFrom": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.VolumeFrom" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ContainerDependency": { - "additionalProperties": false, - "properties": { - "Condition": { - "type": "string" - }, - "ContainerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.Device": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "HostPath": { - "type": "string" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Autoprovision": { - "type": "boolean" - }, - "Driver": { - "type": "string" - }, - "DriverOpts": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Labels": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Scope": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EFSVolumeConfiguration": { - "additionalProperties": false, - "properties": { - "AuthorizationConfig": { - "type": "object" - }, - "FilesystemId": { - "type": "string" - }, - "RootDirectory": { - "type": "string" - }, - "TransitEncryption": { - "type": "string" - }, - "TransitEncryptionPort": { - "type": "number" - } - }, - "required": [ - "FilesystemId" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.EnvironmentFile": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.EphemeralStorage": { - "additionalProperties": false, - "properties": { - "SizeInGiB": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.FirelensConfiguration": { - "additionalProperties": false, - "properties": { - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HealthCheck": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Interval": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "StartPeriod": { - "type": "number" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostEntry": { - "additionalProperties": false, - "properties": { - "Hostname": { - "type": "string" - }, - "IpAddress": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.HostVolumeProperties": { - "additionalProperties": false, - "properties": { - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.InferenceAccelerator": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KernelCapabilities": { - "additionalProperties": false, - "properties": { - "Add": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Drop": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.KeyValuePair": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LinuxParameters": { - "additionalProperties": false, - "properties": { - "Capabilities": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KernelCapabilities" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Device" - }, - "type": "array" - }, - "InitProcessEnabled": { - "type": "boolean" - }, - "MaxSwap": { - "type": "number" - }, - "SharedMemorySize": { - "type": "number" - }, - "Swappiness": { - "type": "number" - }, - "Tmpfs": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Tmpfs" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogDriver": { - "type": "string" - }, - "Options": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecretOptions": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.Secret" - }, - "type": "array" - } - }, - "required": [ - "LogDriver" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.MountPoint": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "ReadOnly": { - "type": "boolean" - }, - "SourceVolume": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.PortMapping": { - "additionalProperties": false, - "properties": { - "ContainerPort": { - "type": "number" - }, - "HostPort": { - "type": "number" - }, - "Protocol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ProxyConfiguration": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ProxyConfigurationProperties": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.KeyValuePair" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.RepositoryCredentials": { - "additionalProperties": false, - "properties": { - "CredentialsParameter": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.ResourceRequirement": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Secret": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ValueFrom": { - "type": "string" - } - }, - "required": [ - "Name", - "ValueFrom" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.SystemControl": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Tmpfs": { - "additionalProperties": false, - "properties": { - "ContainerPath": { - "type": "string" - }, - "MountOptions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Size": { - "type": "number" - } - }, - "required": [ - "Size" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Ulimit": { - "additionalProperties": false, - "properties": { - "HardLimit": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "SoftLimit": { - "type": "number" - } - }, - "required": [ - "HardLimit", - "Name", - "SoftLimit" - ], - "type": "object" - }, - "AWS::ECS::TaskDefinition.Volume": { - "additionalProperties": false, - "properties": { - "DockerVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.DockerVolumeConfiguration" - }, - "EFSVolumeConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.EFSVolumeConfiguration" - }, - "Host": { - "$ref": "#/definitions/AWS::ECS::TaskDefinition.HostVolumeProperties" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskDefinition.VolumeFrom": { - "additionalProperties": false, - "properties": { - "ReadOnly": { - "type": "boolean" - }, - "SourceContainer": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cluster": { - "type": "string" - }, - "ExternalId": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "LoadBalancers": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.LoadBalancer" - }, - "type": "array" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "Scale": { - "$ref": "#/definitions/AWS::ECS::TaskSet.Scale" - }, - "Service": { - "type": "string" - }, - "ServiceRegistries": { - "items": { - "$ref": "#/definitions/AWS::ECS::TaskSet.ServiceRegistry" - }, - "type": "array" - }, - "TaskDefinition": { - "type": "string" - } - }, - "required": [ - "Cluster", - "Service", - "TaskDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ECS::TaskSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::ECS::TaskSet.LoadBalancer": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "LoadBalancerName": { - "type": "string" - }, - "TargetGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::ECS::TaskSet.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.Scale": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ECS::TaskSet.ServiceRegistry": { - "additionalProperties": false, - "properties": { - "ContainerName": { - "type": "string" - }, - "ContainerPort": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "RegistryArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPointTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.AccessPointTag" - }, - "type": "array" - }, - "ClientToken": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "PosixUser": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.PosixUser" - }, - "RootDirectory": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.RootDirectory" - } - }, - "required": [ - "FileSystemId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.AccessPointTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::AccessPoint.CreationInfo": { - "additionalProperties": false, - "properties": { - "OwnerGid": { - "type": "string" - }, - "OwnerUid": { - "type": "string" - }, - "Permissions": { - "type": "string" - } - }, - "required": [ - "OwnerGid", - "OwnerUid", - "Permissions" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.PosixUser": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "string" - }, - "SecondaryGids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Uid": { - "type": "string" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::EFS::AccessPoint.RootDirectory": { - "additionalProperties": false, - "properties": { - "CreationInfo": { - "$ref": "#/definitions/AWS::EFS::AccessPoint.CreationInfo" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EFS::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneName": { - "type": "string" - }, - "BackupPolicy": { - "$ref": "#/definitions/AWS::EFS::FileSystem.BackupPolicy" - }, - "BypassPolicyLockoutSafetyCheck": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "FileSystemPolicy": { - "type": "object" - }, - "FileSystemTags": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.ElasticFileSystemTag" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecyclePolicies": { - "items": { - "$ref": "#/definitions/AWS::EFS::FileSystem.LifecyclePolicy" - }, - "type": "array" - }, - "PerformanceMode": { - "type": "string" - }, - "ProvisionedThroughputInMibps": { - "type": "number" - }, - "ThroughputMode": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.BackupPolicy": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.ElasticFileSystemTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EFS::FileSystem.LifecyclePolicy": { - "additionalProperties": false, - "properties": { - "TransitionToIA": { - "type": "string" - } - }, - "required": [ - "TransitionToIA" - ], - "type": "object" - }, - "AWS::EFS::MountTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FileSystemId": { - "type": "string" - }, - "IpAddress": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FileSystemId", - "SecurityGroups", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EFS::MountTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Addon": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AddonName": { - "type": "string" - }, - "AddonVersion": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "ResolveConflicts": { - "type": "string" - }, - "ServiceAccountRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AddonName", - "ClusterName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Addon" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfig": { - "items": { - "$ref": "#/definitions/AWS::EKS::Cluster.EncryptionConfig" - }, - "type": "array" - }, - "KubernetesNetworkConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.KubernetesNetworkConfig" - }, - "Name": { - "type": "string" - }, - "ResourcesVpcConfig": { - "$ref": "#/definitions/AWS::EKS::Cluster.ResourcesVpcConfig" - }, - "RoleArn": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ResourcesVpcConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Cluster.EncryptionConfig": { - "additionalProperties": false, - "properties": { - "Provider": { - "$ref": "#/definitions/AWS::EKS::Cluster.Provider" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.KubernetesNetworkConfig": { - "additionalProperties": false, - "properties": { - "ServiceIpv4Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.Provider": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Cluster.ResourcesVpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SubnetIds" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterName": { - "type": "string" - }, - "FargateProfileName": { - "type": "string" - }, - "PodExecutionRoleArn": { - "type": "string" - }, - "Selectors": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Selector" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ClusterName", - "PodExecutionRoleArn", - "Selectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::FargateProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Label": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EKS::FargateProfile.Selector": { - "additionalProperties": false, - "properties": { - "Labels": { - "items": { - "$ref": "#/definitions/AWS::EKS::FargateProfile.Label" - }, - "type": "array" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AmiType": { - "type": "string" - }, - "CapacityType": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "DiskSize": { - "type": "number" - }, - "ForceUpdateEnabled": { - "type": "boolean" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Labels": { - "type": "object" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.LaunchTemplateSpecification" - }, - "NodeRole": { - "type": "string" - }, - "NodegroupName": { - "type": "string" - }, - "ReleaseVersion": { - "type": "string" - }, - "RemoteAccess": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.RemoteAccess" - }, - "ScalingConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.ScalingConfig" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Taints": { - "items": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.Taint" - }, - "type": "array" - }, - "UpdateConfig": { - "$ref": "#/definitions/AWS::EKS::Nodegroup.UpdateConfig" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ClusterName", - "NodeRole", - "Subnets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EKS::Nodegroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.LaunchTemplateSpecification": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.RemoteAccess": { - "additionalProperties": false, - "properties": { - "Ec2SshKey": { - "type": "string" - }, - "SourceSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Ec2SshKey" - ], - "type": "object" - }, - "AWS::EKS::Nodegroup.ScalingConfig": { - "additionalProperties": false, - "properties": { - "DesiredSize": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.Taint": { - "additionalProperties": false, - "properties": { - "Effect": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EKS::Nodegroup.UpdateConfig": { - "additionalProperties": false, - "properties": { - "MaxUnavailable": { - "type": "number" - }, - "MaxUnavailablePercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "type": "object" - }, - "Applications": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Application" - }, - "type": "array" - }, - "AutoScalingRole": { - "type": "string" - }, - "BootstrapActions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.BootstrapActionConfig" - }, - "type": "array" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "CustomAmiId": { - "type": "string" - }, - "EbsRootVolumeSize": { - "type": "number" - }, - "Instances": { - "$ref": "#/definitions/AWS::EMR::Cluster.JobFlowInstancesConfig" - }, - "JobFlowRole": { - "type": "string" - }, - "KerberosAttributes": { - "$ref": "#/definitions/AWS::EMR::Cluster.KerberosAttributes" - }, - "LogEncryptionKmsKeyId": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "ManagedScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.ManagedScalingPolicy" - }, - "Name": { - "type": "string" - }, - "ReleaseLabel": { - "type": "string" - }, - "ScaleDownBehavior": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "StepConcurrencyLevel": { - "type": "number" - }, - "Steps": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.StepConfig" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibleToAllUsers": { - "type": "boolean" - } - }, - "required": [ - "Instances", - "JobFlowRole", - "Name", - "ServiceRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Application": { - "additionalProperties": false, - "properties": { - "AdditionalInfo": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::Cluster.BootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ScriptBootstrapAction": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScriptBootstrapActionConfig" - } - }, - "required": [ - "Name", - "ScriptBootstrapAction" - ], - "type": "object" - }, - "AWS::EMR::Cluster.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ComputeLimits": { - "additionalProperties": false, - "properties": { - "MaximumCapacityUnits": { - "type": "number" - }, - "MaximumCoreCapacityUnits": { - "type": "number" - }, - "MaximumOnDemandCapacityUnits": { - "type": "number" - }, - "MinimumCapacityUnits": { - "type": "number" - }, - "UnitType": { - "type": "string" - } - }, - "required": [ - "MaximumCapacityUnits", - "MinimumCapacityUnits", - "UnitType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::Cluster.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::Cluster.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::Cluster.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::Cluster.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::Cluster.JobFlowInstancesConfig": { - "additionalProperties": false, - "properties": { - "AdditionalMasterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalSlaveSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CoreInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "CoreInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Ec2KeyName": { - "type": "string" - }, - "Ec2SubnetId": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmrManagedMasterSecurityGroup": { - "type": "string" - }, - "EmrManagedSlaveSecurityGroup": { - "type": "string" - }, - "HadoopVersion": { - "type": "string" - }, - "KeepJobFlowAliveWhenNoSteps": { - "type": "boolean" - }, - "MasterInstanceFleet": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceFleetConfig" - }, - "MasterInstanceGroup": { - "$ref": "#/definitions/AWS::EMR::Cluster.InstanceGroupConfig" - }, - "Placement": { - "$ref": "#/definitions/AWS::EMR::Cluster.PlacementType" - }, - "ServiceAccessSecurityGroup": { - "type": "string" - }, - "TerminationProtected": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.KerberosAttributes": { - "additionalProperties": false, - "properties": { - "ADDomainJoinPassword": { - "type": "string" - }, - "ADDomainJoinUser": { - "type": "string" - }, - "CrossRealmTrustPrincipalPassword": { - "type": "string" - }, - "KdcAdminPassword": { - "type": "string" - }, - "Realm": { - "type": "string" - } - }, - "required": [ - "KdcAdminPassword", - "Realm" - ], - "type": "object" - }, - "AWS::EMR::Cluster.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.ManagedScalingPolicy": { - "additionalProperties": false, - "properties": { - "ComputeLimits": { - "$ref": "#/definitions/AWS::EMR::Cluster.ComputeLimits" - } - }, - "type": "object" - }, - "AWS::EMR::Cluster.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::Cluster.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::Cluster.PlacementType": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::Cluster.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::Cluster.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::Cluster.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::Cluster.ScriptBootstrapActionConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "required": [ - "Path" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::Cluster.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::Cluster.StepConfig": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Cluster.HadoopJarStepConfig" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "HadoopJarStep", - "Name" - ], - "type": "object" - }, - "AWS::EMR::Cluster.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "InstanceFleetType": { - "type": "string" - }, - "InstanceTypeConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceTypeConfig" - }, - "type": "array" - }, - "LaunchSpecifications": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications" - }, - "Name": { - "type": "string" - }, - "TargetOnDemandCapacity": { - "type": "number" - }, - "TargetSpotCapacity": { - "type": "number" - } - }, - "required": [ - "ClusterId", - "InstanceFleetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceFleetConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": { - "additionalProperties": false, - "properties": { - "OnDemandSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification" - }, - "SpotSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": { - "additionalProperties": false, - "properties": { - "BidPrice": { - "type": "string" - }, - "BidPriceAsPercentageOfOnDemandPrice": { - "type": "number" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig.EbsConfiguration" - }, - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "number" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.OnDemandProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - } - }, - "required": [ - "AllocationStrategy" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": { - "additionalProperties": false, - "properties": { - "AllocationStrategy": { - "type": "string" - }, - "BlockDurationMinutes": { - "type": "number" - }, - "TimeoutAction": { - "type": "string" - }, - "TimeoutDurationMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutAction", - "TimeoutDurationMinutes" - ], - "type": "object" - }, - "AWS::EMR::InstanceFleetConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.AutoScalingPolicy" - }, - "BidPrice": { - "type": "string" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - }, - "EbsConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsConfiguration" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceRole": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "JobFlowId": { - "type": "string" - }, - "Market": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "InstanceCount", - "InstanceRole", - "InstanceType", - "JobFlowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::InstanceGroupConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "Constraints": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingConstraints" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingRule" - }, - "type": "array" - } - }, - "required": [ - "Constraints", - "Rules" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.MetricDimension" - }, - "type": "array" - }, - "EvaluationPeriods": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "Period": { - "type": "number" - }, - "Statistic": { - "type": "string" - }, - "Threshold": { - "type": "number" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.Configuration": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "ConfigurationProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Configurations": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.Configuration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": { - "additionalProperties": false, - "properties": { - "VolumeSpecification": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.VolumeSpecification" - }, - "VolumesPerInstance": { - "type": "number" - } - }, - "required": [ - "VolumeSpecification" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.EbsConfiguration": { - "additionalProperties": false, - "properties": { - "EbsBlockDeviceConfigs": { - "items": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.MetricDimension": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingAction": { - "additionalProperties": false, - "properties": { - "Market": { - "type": "string" - }, - "SimpleScalingPolicyConfiguration": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration" - } - }, - "required": [ - "SimpleScalingPolicyConfiguration" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingConstraints": { - "additionalProperties": false, - "properties": { - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - } - }, - "required": [ - "MaxCapacity", - "MinCapacity" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Trigger": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.ScalingTrigger" - } - }, - "required": [ - "Action", - "Name", - "Trigger" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.ScalingTrigger": { - "additionalProperties": false, - "properties": { - "CloudWatchAlarmDefinition": { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition" - } - }, - "required": [ - "CloudWatchAlarmDefinition" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": { - "additionalProperties": false, - "properties": { - "AdjustmentType": { - "type": "string" - }, - "CoolDown": { - "type": "number" - }, - "ScalingAdjustment": { - "type": "number" - } - }, - "required": [ - "ScalingAdjustment" - ], - "type": "object" - }, - "AWS::EMR::InstanceGroupConfig.VolumeSpecification": { - "additionalProperties": false, - "properties": { - "Iops": { - "type": "number" - }, - "SizeInGB": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "required": [ - "SizeInGB", - "VolumeType" - ], - "type": "object" - }, - "AWS::EMR::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "object" - } - }, - "required": [ - "SecurityConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionOnFailure": { - "type": "string" - }, - "HadoopJarStep": { - "$ref": "#/definitions/AWS::EMR::Step.HadoopJarStepConfig" - }, - "JobFlowId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ActionOnFailure", - "HadoopJarStep", - "JobFlowId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Step" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::Step.HadoopJarStepConfig": { - "additionalProperties": false, - "properties": { - "Args": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Jar": { - "type": "string" - }, - "MainClass": { - "type": "string" - }, - "StepProperties": { - "items": { - "$ref": "#/definitions/AWS::EMR::Step.KeyValue" - }, - "type": "array" - } - }, - "required": [ - "Jar" - ], - "type": "object" - }, - "AWS::EMR::Step.KeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::EMR::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthMode": { - "type": "string" - }, - "DefaultS3Location": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EngineSecurityGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ServiceRole": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserRole": { - "type": "string" - }, - "VpcId": { - "type": "string" - }, - "WorkspaceSecurityGroupId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultS3Location", - "EngineSecurityGroupId", - "Name", - "ServiceRole", - "SubnetIds", - "UserRole", - "VpcId", - "WorkspaceSecurityGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMR::StudioSessionMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IdentityName": { - "type": "string" - }, - "IdentityType": { - "type": "string" - }, - "SessionPolicyArn": { - "type": "string" - }, - "StudioId": { - "type": "string" - } - }, - "required": [ - "IdentityName", - "IdentityType", - "SessionPolicyArn", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMR::StudioSessionMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerProvider": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerProvider" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerProvider", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EMRContainers::VirtualCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerInfo": { - "additionalProperties": false, - "properties": { - "EksInfo": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.EksInfo" - } - }, - "required": [ - "EksInfo" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.ContainerProvider": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Info": { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster.ContainerInfo" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Id", - "Info", - "Type" - ], - "type": "object" - }, - "AWS::EMRContainers::VirtualCluster.EksInfo": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - } - }, - "required": [ - "Namespace" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AZMode": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "ClusterName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheNodes": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredAvailabilityZone": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "CacheNodeType", - "Engine", - "NumCacheNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::CacheCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalNodeGroupCount": { - "type": "number" - }, - "GlobalReplicationGroupDescription": { - "type": "string" - }, - "GlobalReplicationGroupIdSuffix": { - "type": "string" - }, - "Members": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember" - }, - "type": "array" - }, - "RegionalConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Members" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::GlobalReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "Role": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicationGroupId": { - "type": "string" - }, - "ReplicationGroupRegion": { - "type": "string" - }, - "ReshardingConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PreferredAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheParameterGroupFamily": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Properties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CacheParameterGroupFamily", - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AtRestEncryptionEnabled": { - "type": "boolean" - }, - "AuthToken": { - "type": "string" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AutomaticFailoverEnabled": { - "type": "boolean" - }, - "CacheNodeType": { - "type": "string" - }, - "CacheParameterGroupName": { - "type": "string" - }, - "CacheSecurityGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CacheSubnetGroupName": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalReplicationGroupId": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LogDeliveryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest" - }, - "type": "array" - }, - "MultiAZEnabled": { - "type": "boolean" - }, - "NodeGroupConfiguration": { - "items": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration" - }, - "type": "array" - }, - "NotificationTopicArn": { - "type": "string" - }, - "NumCacheClusters": { - "type": "number" - }, - "NumNodeGroups": { - "type": "number" - }, - "Port": { - "type": "number" - }, - "PreferredCacheClusterAZs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PrimaryClusterId": { - "type": "string" - }, - "ReplicasPerNodeGroup": { - "type": "number" - }, - "ReplicationGroupDescription": { - "type": "string" - }, - "ReplicationGroupId": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnapshotName": { - "type": "string" - }, - "SnapshotRetentionLimit": { - "type": "number" - }, - "SnapshotWindow": { - "type": "string" - }, - "SnapshottingClusterId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TransitEncryptionEnabled": { - "type": "boolean" - }, - "UserGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ReplicationGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::ReplicationGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails": { - "additionalProperties": false, - "properties": { - "LogGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.DestinationDetails": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails" - }, - "KinesisFirehoseDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest": { - "additionalProperties": false, - "properties": { - "DestinationDetails": { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup.DestinationDetails" - }, - "DestinationType": { - "type": "string" - }, - "LogFormat": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": { - "additionalProperties": false, - "properties": { - "NodeGroupId": { - "type": "string" - }, - "PrimaryAvailabilityZone": { - "type": "string" - }, - "ReplicaAvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ReplicaCount": { - "type": "number" - }, - "Slots": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElastiCache::SecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "CacheSecurityGroupName", - "EC2SecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::SubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CacheSubnetGroupName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::SubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessString": { - "type": "string" - }, - "Engine": { - "type": "string" - }, - "NoPasswordRequired": { - "type": "boolean" - }, - "Passwords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserId": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Engine", - "UserId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElastiCache::UserGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Engine": { - "type": "string" - }, - "UserGroupId": { - "type": "string" - }, - "UserIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine", - "UserGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElastiCache::UserGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ResourceLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "ServiceRole": { - "type": "string" - }, - "VersionLifecycleConfig": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": { - "additionalProperties": false, - "properties": { - "MaxAgeRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxAgeRule" - }, - "MaxCountRule": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application.MaxCountRule" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxAgeRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxAgeInDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::Application.MaxCountRule": { - "additionalProperties": false, - "properties": { - "DeleteSourceFromS3": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "SourceBundle": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle" - } - }, - "required": [ - "ApplicationName", - "SourceBundle" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentId": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "SourceConfiguration": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::ConfigurationTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ApplicationName", - "TemplateName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CNAMEPrefix": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EnvironmentName": { - "type": "string" - }, - "OperationsRole": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.OptionSetting" - }, - "type": "array" - }, - "PlatformArn": { - "type": "string" - }, - "SolutionStackName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateName": { - "type": "string" - }, - "Tier": { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment.Tier" - }, - "VersionLabel": { - "type": "string" - } - }, - "required": [ - "ApplicationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticBeanstalk::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.OptionSetting": { - "additionalProperties": false, - "properties": { - "Namespace": { - "type": "string" - }, - "OptionName": { - "type": "string" - }, - "ResourceName": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Namespace", - "OptionName" - ], - "type": "object" - }, - "AWS::ElasticBeanstalk::Environment.Tier": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy" - }, - "AppCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ConnectionDrainingPolicy": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy" - }, - "ConnectionSettings": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings" - }, - "CrossZone": { - "type": "boolean" - }, - "HealthCheck": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck" - }, - "Instances": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LBCookieStickinessPolicy": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy" - }, - "type": "array" - }, - "Listeners": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Listeners" - }, - "type": "array" - }, - "LoadBalancerName": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer.Policies" - }, - "type": "array" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Listeners" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancing::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": { - "additionalProperties": false, - "properties": { - "EmitInterval": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - }, - "S3BucketName": { - "type": "string" - }, - "S3BucketPrefix": { - "type": "string" - } - }, - "required": [ - "Enabled", - "S3BucketName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieName": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "CookieName", - "PolicyName" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": { - "additionalProperties": false, - "properties": { - "IdleTimeout": { - "type": "number" - } - }, - "required": [ - "IdleTimeout" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": { - "additionalProperties": false, - "properties": { - "HealthyThreshold": { - "type": "string" - }, - "Interval": { - "type": "string" - }, - "Target": { - "type": "string" - }, - "Timeout": { - "type": "string" - }, - "UnhealthyThreshold": { - "type": "string" - } - }, - "required": [ - "HealthyThreshold", - "Interval", - "Target", - "Timeout", - "UnhealthyThreshold" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": { - "additionalProperties": false, - "properties": { - "CookieExpirationPeriod": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": { - "additionalProperties": false, - "properties": { - "InstancePort": { - "type": "string" - }, - "InstanceProtocol": { - "type": "string" - }, - "LoadBalancerPort": { - "type": "string" - }, - "PolicyNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - }, - "SSLCertificateId": { - "type": "string" - } - }, - "required": [ - "InstancePort", - "LoadBalancerPort", - "Protocol" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancing::LoadBalancer.Policies": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "object" - }, - "type": "array" - }, - "InstancePorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoadBalancerPorts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyName": { - "type": "string" - }, - "PolicyType": { - "type": "string" - } - }, - "required": [ - "Attributes", - "PolicyName", - "PolicyType" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlpnPolicy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Certificate" - }, - "type": "array" - }, - "DefaultActions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.Action" - }, - "type": "array" - }, - "LoadBalancerArn": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "SslPolicy": { - "type": "string" - } - }, - "required": [ - "DefaultActions", - "LoadBalancerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "string" - }, - "TokenEndpoint": { - "type": "string" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificates": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - } - }, - "required": [ - "Certificates", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerCertificate.Certificate": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.Action" - }, - "type": "array" - }, - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition" - }, - "type": "array" - }, - "ListenerArn": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Actions", - "Conditions", - "ListenerArn", - "Priority" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::ListenerRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.Action": { - "additionalProperties": false, - "properties": { - "AuthenticateCognitoConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig" - }, - "AuthenticateOidcConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig" - }, - "FixedResponseConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig" - }, - "ForwardConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig" - }, - "Order": { - "type": "number" - }, - "RedirectConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig" - }, - "TargetGroupArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "UserPoolArn": { - "type": "string" - }, - "UserPoolClientId": { - "type": "string" - }, - "UserPoolDomain": { - "type": "string" - } - }, - "required": [ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": { - "additionalProperties": false, - "properties": { - "AuthenticationRequestExtraParams": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationEndpoint": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "OnUnauthenticatedRequest": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "SessionCookieName": { - "type": "string" - }, - "SessionTimeout": { - "type": "number" - }, - "TokenEndpoint": { - "type": "string" - }, - "UseExistingClientSecret": { - "type": "boolean" - }, - "UserInfoEndpoint": { - "type": "string" - } - }, - "required": [ - "AuthorizationEndpoint", - "ClientId", - "ClientSecret", - "Issuer", - "TokenEndpoint", - "UserInfoEndpoint" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": { - "additionalProperties": false, - "properties": { - "ContentType": { - "type": "string" - }, - "MessageBody": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.ForwardConfig": { - "additionalProperties": false, - "properties": { - "TargetGroupStickinessConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig" - }, - "TargetGroups": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": { - "additionalProperties": false, - "properties": { - "HttpHeaderName": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Port": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Query": { - "type": "string" - }, - "StatusCode": { - "type": "string" - } - }, - "required": [ - "StatusCode" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": { - "additionalProperties": false, - "properties": { - "Field": { - "type": "string" - }, - "HostHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig" - }, - "HttpHeaderConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig" - }, - "HttpRequestMethodConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig" - }, - "PathPatternConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig" - }, - "QueryStringConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig" - }, - "SourceIpConfig": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": { - "additionalProperties": false, - "properties": { - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupStickinessConfig": { - "additionalProperties": false, - "properties": { - "DurationSeconds": { - "type": "number" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::ListenerRule.TargetGroupTuple": { - "additionalProperties": false, - "properties": { - "TargetGroupArn": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IpAddressType": { - "type": "string" - }, - "LoadBalancerAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Scheme": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::LoadBalancer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": { - "additionalProperties": false, - "properties": { - "AllocationId": { - "type": "string" - }, - "IPv6Address": { - "type": "string" - }, - "PrivateIPv4Address": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckEnabled": { - "type": "boolean" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "string" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "HealthCheckTimeoutSeconds": { - "type": "number" - }, - "HealthyThresholdCount": { - "type": "number" - }, - "Matcher": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.Matcher" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "ProtocolVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetGroupAttributes": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription" - }, - "type": "array" - }, - "UnhealthyThresholdCount": { - "type": "number" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ElasticLoadBalancingV2::TargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": { - "additionalProperties": false, - "properties": { - "GrpcCode": { - "type": "string" - }, - "HttpCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicies": { - "type": "object" - }, - "AdvancedOptions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AdvancedSecurityOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput" - }, - "CognitoOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.CognitoOptions" - }, - "DomainEndpointOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.DomainEndpointOptions" - }, - "DomainName": { - "type": "string" - }, - "EBSOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EBSOptions" - }, - "ElasticsearchClusterConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ElasticsearchClusterConfig" - }, - "ElasticsearchVersion": { - "type": "string" - }, - "EncryptionAtRestOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.EncryptionAtRestOptions" - }, - "LogPublishingOptions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.LogPublishingOption" - } - }, - "type": "object" - }, - "NodeToNodeEncryptionOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions" - }, - "SnapshotOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.SnapshotOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.VPCOptions" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Elasticsearch::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InternalUserDatabaseEnabled": { - "type": "boolean" - }, - "MasterUserOptions": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.MasterUserOptions" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.CognitoOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IdentityPoolId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UserPoolId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.DomainEndpointOptions": { - "additionalProperties": false, - "properties": { - "CustomEndpoint": { - "type": "string" - }, - "CustomEndpointCertificateArn": { - "type": "string" - }, - "CustomEndpointEnabled": { - "type": "boolean" - }, - "EnforceHTTPS": { - "type": "boolean" - }, - "TLSSecurityPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EBSOptions": { - "additionalProperties": false, - "properties": { - "EBSEnabled": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": { - "additionalProperties": false, - "properties": { - "DedicatedMasterCount": { - "type": "number" - }, - "DedicatedMasterEnabled": { - "type": "boolean" - }, - "DedicatedMasterType": { - "type": "string" - }, - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "WarmCount": { - "type": "number" - }, - "WarmEnabled": { - "type": "boolean" - }, - "WarmType": { - "type": "string" - }, - "ZoneAwarenessConfig": { - "$ref": "#/definitions/AWS::Elasticsearch::Domain.ZoneAwarenessConfig" - }, - "ZoneAwarenessEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.EncryptionAtRestOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.LogPublishingOption": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.MasterUserOptions": { - "additionalProperties": false, - "properties": { - "MasterUserARN": { - "type": "string" - }, - "MasterUserName": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.SnapshotOptions": { - "additionalProperties": false, - "properties": { - "AutomatedSnapshotStartHour": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.VPCOptions": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": { - "additionalProperties": false, - "properties": { - "AvailabilityZoneCount": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::EventSchemas::Discoverer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Discoverer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Discoverer.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Registry.TagsEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::EventSchemas::Registry.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::EventSchemas::RegistryPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Policy": { - "type": "object" - }, - "RegistryName": { - "type": "string" - }, - "RevisionId": { - "type": "string" - } - }, - "required": [ - "Policy", - "RegistryName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::RegistryPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "RegistryName": { - "type": "string" - }, - "SchemaName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::EventSchemas::Schema.TagsEntry" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Content", - "RegistryName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::EventSchemas::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::EventSchemas::Schema.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Events::ApiDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HttpMethod": { - "type": "string" - }, - "InvocationEndpoint": { - "type": "string" - }, - "InvocationRateLimitPerSecond": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ConnectionArn", - "HttpMethod", - "InvocationEndpoint" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::ApiDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Archive": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArchiveName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "RetentionDays": { - "type": "number" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "SourceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Archive" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthParameters": { - "type": "object" - }, - "AuthorizationType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "AuthParameters", - "AuthorizationType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBus": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EventSourceName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBus" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Condition": { - "$ref": "#/definitions/AWS::Events::EventBusPolicy.Condition" - }, - "EventBusName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "Statement": { - "type": "object" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::EventBusPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Events::EventBusPolicy.Condition": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventBusName": { - "type": "string" - }, - "EventPattern": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - }, - "State": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Events::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Events::Rule.AwsVpcConfiguration": { - "additionalProperties": false, - "properties": { - "AssignPublicIp": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Subnets" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchArrayProperties": { - "additionalProperties": false, - "properties": { - "Size": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.BatchParameters": { - "additionalProperties": false, - "properties": { - "ArrayProperties": { - "$ref": "#/definitions/AWS::Events::Rule.BatchArrayProperties" - }, - "JobDefinition": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "RetryStrategy": { - "$ref": "#/definitions/AWS::Events::Rule.BatchRetryStrategy" - } - }, - "required": [ - "JobDefinition", - "JobName" - ], - "type": "object" - }, - "AWS::Events::Rule.BatchRetryStrategy": { - "additionalProperties": false, - "properties": { - "Attempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Events::Rule.EcsParameters": { - "additionalProperties": false, - "properties": { - "Group": { - "type": "string" - }, - "LaunchType": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.NetworkConfiguration" - }, - "PlatformVersion": { - "type": "string" - }, - "TaskCount": { - "type": "number" - }, - "TaskDefinitionArn": { - "type": "string" - } - }, - "required": [ - "TaskDefinitionArn" - ], - "type": "object" - }, - "AWS::Events::Rule.HttpParameters": { - "additionalProperties": false, - "properties": { - "HeaderParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "PathParameterValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QueryStringParameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Events::Rule.InputTransformer": { - "additionalProperties": false, - "properties": { - "InputPathsMap": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "InputTemplate": { - "type": "string" - } - }, - "required": [ - "InputTemplate" - ], - "type": "object" - }, - "AWS::Events::Rule.KinesisParameters": { - "additionalProperties": false, - "properties": { - "PartitionKeyPath": { - "type": "string" - } - }, - "required": [ - "PartitionKeyPath" - ], - "type": "object" - }, - "AWS::Events::Rule.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "AwsVpcConfiguration": { - "$ref": "#/definitions/AWS::Events::Rule.AwsVpcConfiguration" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RedshiftDataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "Sql": { - "type": "string" - }, - "StatementName": { - "type": "string" - }, - "WithEvent": { - "type": "boolean" - } - }, - "required": [ - "Database", - "Sql" - ], - "type": "object" - }, - "AWS::Events::Rule.RetryPolicy": { - "additionalProperties": false, - "properties": { - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Events::Rule.RunCommandParameters": { - "additionalProperties": false, - "properties": { - "RunCommandTargets": { - "items": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandTarget" - }, - "type": "array" - } - }, - "required": [ - "RunCommandTargets" - ], - "type": "object" - }, - "AWS::Events::Rule.RunCommandTarget": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::Events::Rule.SqsParameters": { - "additionalProperties": false, - "properties": { - "MessageGroupId": { - "type": "string" - } - }, - "required": [ - "MessageGroupId" - ], - "type": "object" - }, - "AWS::Events::Rule.Target": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "BatchParameters": { - "$ref": "#/definitions/AWS::Events::Rule.BatchParameters" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Events::Rule.DeadLetterConfig" - }, - "EcsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.EcsParameters" - }, - "HttpParameters": { - "$ref": "#/definitions/AWS::Events::Rule.HttpParameters" - }, - "Id": { - "type": "string" - }, - "Input": { - "type": "string" - }, - "InputPath": { - "type": "string" - }, - "InputTransformer": { - "$ref": "#/definitions/AWS::Events::Rule.InputTransformer" - }, - "KinesisParameters": { - "$ref": "#/definitions/AWS::Events::Rule.KinesisParameters" - }, - "RedshiftDataParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RedshiftDataParameters" - }, - "RetryPolicy": { - "$ref": "#/definitions/AWS::Events::Rule.RetryPolicy" - }, - "RoleArn": { - "type": "string" - }, - "RunCommandParameters": { - "$ref": "#/definitions/AWS::Events::Rule.RunCommandParameters" - }, - "SqsParameters": { - "$ref": "#/definitions/AWS::Events::Rule.SqsParameters" - } - }, - "required": [ - "Arn", - "Id" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateAction" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StopConditions": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Targets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget" - } - }, - "type": "object" - } - }, - "required": [ - "Description", - "RoleArn", - "StopConditions", - "Tags", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FIS::ExperimentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateAction": { - "additionalProperties": false, - "properties": { - "ActionId": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "StartAfter": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "ActionId" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateStopCondition": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTarget": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ResourceType": { - "type": "string" - }, - "SelectionMode": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "SelectionMode" - ], - "type": "object" - }, - "AWS::FIS::ExperimentTemplate.ExperimentTemplateTargetFilter": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Path", - "Values" - ], - "type": "object" - }, - "AWS::FMS::NotificationChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SnsRoleName": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "SnsRoleName", - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::NotificationChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteAllPolicyResources": { - "type": "boolean" - }, - "ExcludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "ExcludeResourceTags": { - "type": "boolean" - }, - "IncludeMap": { - "$ref": "#/definitions/AWS::FMS::Policy.IEMap" - }, - "PolicyName": { - "type": "string" - }, - "RemediationEnabled": { - "type": "boolean" - }, - "ResourceTags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.ResourceTag" - }, - "type": "array" - }, - "ResourceType": { - "type": "string" - }, - "ResourceTypeList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityServicePolicyData": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::FMS::Policy.PolicyTag" - }, - "type": "array" - } - }, - "required": [ - "ExcludeResourceTags", - "PolicyName", - "RemediationEnabled", - "ResourceType", - "SecurityServicePolicyData" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FMS::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FMS::Policy.IEMap": { - "additionalProperties": false, - "properties": { - "ACCOUNT": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ORGUNIT": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FMS::Policy.PolicyTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::FMS::Policy.ResourceTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key" - ], - "type": "object" - }, - "AWS::FSx::FileSystem": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BackupId": { - "type": "string" - }, - "FileSystemType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LustreConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.LustreConfiguration" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageCapacity": { - "type": "number" - }, - "StorageType": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WindowsConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.WindowsConfiguration" - } - }, - "required": [ - "FileSystemType", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FSx::FileSystem" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.AuditLogConfiguration": { - "additionalProperties": false, - "properties": { - "AuditLogDestination": { - "type": "string" - }, - "FileAccessAuditLogLevel": { - "type": "string" - }, - "FileShareAccessAuditLogLevel": { - "type": "string" - } - }, - "required": [ - "FileAccessAuditLogLevel", - "FileShareAccessAuditLogLevel" - ], - "type": "object" - }, - "AWS::FSx::FileSystem.LustreConfiguration": { - "additionalProperties": false, - "properties": { - "AutoImportPolicy": { - "type": "string" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DataCompressionType": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "DriveCacheType": { - "type": "string" - }, - "ExportPath": { - "type": "string" - }, - "ImportPath": { - "type": "string" - }, - "ImportedFileChunkSize": { - "type": "number" - }, - "PerUnitStorageThroughput": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "DnsIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DomainName": { - "type": "string" - }, - "FileSystemAdministratorsGroup": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - }, - "Password": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FSx::FileSystem.WindowsConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryId": { - "type": "string" - }, - "Aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuditLogConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.AuditLogConfiguration" - }, - "AutomaticBackupRetentionDays": { - "type": "number" - }, - "CopyTagsToBackups": { - "type": "boolean" - }, - "DailyAutomaticBackupStartTime": { - "type": "string" - }, - "DeploymentType": { - "type": "string" - }, - "PreferredSubnetId": { - "type": "string" - }, - "SelfManagedActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration" - }, - "ThroughputCapacity": { - "type": "number" - }, - "WeeklyMaintenanceStartTime": { - "type": "string" - } - }, - "required": [ - "ThroughputCapacity" - ], - "type": "object" - }, - "AWS::FinSpace::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FederationMode": { - "type": "string" - }, - "FederationParameters": { - "$ref": "#/definitions/AWS::FinSpace::Environment.FederationParameters" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FinSpace::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FinSpace::Environment.FederationParameters": { - "additionalProperties": false, - "properties": { - "ApplicationCallBackURL": { - "type": "string" - }, - "AttributeMap": { - "type": "object" - }, - "FederationProviderName": { - "type": "string" - }, - "FederationURN": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "SamlMetadataURL": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedModels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Model" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "DetectorVersionStatus": { - "type": "string" - }, - "EventType": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventType" - }, - "RuleExecutionMode": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Rule" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorId", - "EventType", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Detector.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.EventVariable" - }, - "type": "array" - }, - "Inline": { - "type": "boolean" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Label" - }, - "type": "array" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Model": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Outcome": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Detector.Rule": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "Language": { - "type": "string" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Outcomes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::Detector.Outcome" - }, - "type": "array" - }, - "RuleId": { - "type": "string" - }, - "RuleVersion": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EntityType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EntityType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EntityTypes": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EntityType" - }, - "type": "array" - }, - "EventVariables": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.EventVariable" - }, - "type": "array" - }, - "Labels": { - "items": { - "$ref": "#/definitions/AWS::FraudDetector::EventType.Label" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EntityTypes", - "EventVariables", - "Labels", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::EventType" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::EventType.EntityType": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.EventVariable": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::FraudDetector::EventType.Label": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "CreatedTime": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Inline": { - "type": "boolean" - }, - "LastUpdatedTime": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::FraudDetector::Label": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Label" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Outcome": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Outcome" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::FraudDetector::Variable": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "DefaultValue": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VariableType": { - "type": "string" - } - }, - "required": [ - "DataSource", - "DataType", - "DefaultValue", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::FraudDetector::Variable" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoutingStrategy": { - "$ref": "#/definitions/AWS::GameLift::Alias.RoutingStrategy" - } - }, - "required": [ - "Name", - "RoutingStrategy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Alias.RoutingStrategy": { - "additionalProperties": false, - "properties": { - "FleetId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Build.S3Location" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Build" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Build.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GameLift::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BuildId": { - "type": "string" - }, - "CertificateConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.CertificateConfiguration" - }, - "Description": { - "type": "string" - }, - "DesiredEC2Instances": { - "type": "number" - }, - "EC2InboundPermissions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.IpPermission" - }, - "type": "array" - }, - "EC2InstanceType": { - "type": "string" - }, - "FleetType": { - "type": "string" - }, - "InstanceRoleARN": { - "type": "string" - }, - "Locations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationConfiguration" - }, - "type": "array" - }, - "MaxSize": { - "type": "number" - }, - "MetricGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MinSize": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NewGameSessionProtectionPolicy": { - "type": "string" - }, - "PeerVpcAwsAccountId": { - "type": "string" - }, - "PeerVpcId": { - "type": "string" - }, - "ResourceCreationLimitPolicy": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ResourceCreationLimitPolicy" - }, - "RuntimeConfiguration": { - "$ref": "#/definitions/AWS::GameLift::Fleet.RuntimeConfiguration" - }, - "ScriptId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.CertificateConfiguration": { - "additionalProperties": false, - "properties": { - "CertificateType": { - "type": "string" - } - }, - "required": [ - "CertificateType" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.IpPermission": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "IpRange": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "IpRange", - "Protocol", - "ToPort" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationCapacity": { - "additionalProperties": false, - "properties": { - "DesiredEC2Instances": { - "type": "number" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - } - }, - "required": [ - "DesiredEC2Instances", - "MaxSize", - "MinSize" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.LocationConfiguration": { - "additionalProperties": false, - "properties": { - "Location": { - "type": "string" - }, - "LocationCapacity": { - "$ref": "#/definitions/AWS::GameLift::Fleet.LocationCapacity" - } - }, - "required": [ - "Location" - ], - "type": "object" - }, - "AWS::GameLift::Fleet.ResourceCreationLimitPolicy": { - "additionalProperties": false, - "properties": { - "NewGameSessionsPerCreator": { - "type": "number" - }, - "PolicyPeriodInMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.RuntimeConfiguration": { - "additionalProperties": false, - "properties": { - "GameSessionActivationTimeoutSeconds": { - "type": "number" - }, - "MaxConcurrentGameSessionActivations": { - "type": "number" - }, - "ServerProcesses": { - "items": { - "$ref": "#/definitions/AWS::GameLift::Fleet.ServerProcess" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::Fleet.ServerProcess": { - "additionalProperties": false, - "properties": { - "ConcurrentExecutions": { - "type": "number" - }, - "LaunchPath": { - "type": "string" - }, - "Parameters": { - "type": "string" - } - }, - "required": [ - "ConcurrentExecutions", - "LaunchPath" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoScalingPolicy": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.AutoScalingPolicy" - }, - "BalancingStrategy": { - "type": "string" - }, - "DeleteOption": { - "type": "string" - }, - "GameServerGroupName": { - "type": "string" - }, - "GameServerProtectionPolicy": { - "type": "string" - }, - "InstanceDefinitions": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.InstanceDefinition" - }, - "type": "array" - }, - "LaunchTemplate": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.LaunchTemplate" - }, - "MaxSize": { - "type": "number" - }, - "MinSize": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSubnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GameServerGroupName", - "InstanceDefinitions", - "LaunchTemplate", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameServerGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.AutoScalingPolicy": { - "additionalProperties": false, - "properties": { - "EstimatedInstanceWarmup": { - "type": "number" - }, - "TargetTrackingConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup.TargetTrackingConfiguration" - } - }, - "required": [ - "TargetTrackingConfiguration" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.InstanceDefinition": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "WeightedCapacity": { - "type": "string" - } - }, - "required": [ - "InstanceType" - ], - "type": "object" - }, - "AWS::GameLift::GameServerGroup.LaunchTemplate": { - "additionalProperties": false, - "properties": { - "LaunchTemplateId": { - "type": "string" - }, - "LaunchTemplateName": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameServerGroup.TargetTrackingConfiguration": { - "additionalProperties": false, - "properties": { - "TargetValue": { - "type": "number" - } - }, - "required": [ - "TargetValue" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomEventData": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.Destination" - }, - "type": "array" - }, - "FilterConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.FilterConfiguration" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "PlayerLatencyPolicies": { - "items": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy" - }, - "type": "array" - }, - "PriorityConfiguration": { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue.PriorityConfiguration" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::GameSessionQueue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.Destination": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.FilterConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedLocations": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": { - "additionalProperties": false, - "properties": { - "MaximumIndividualPlayerLatencyMilliseconds": { - "type": "number" - }, - "PolicyDurationSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GameLift::GameSessionQueue.PriorityConfiguration": { - "additionalProperties": false, - "properties": { - "LocationOrder": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PriorityOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptanceRequired": { - "type": "boolean" - }, - "AcceptanceTimeoutSeconds": { - "type": "number" - }, - "AdditionalPlayerCount": { - "type": "number" - }, - "BackfillMode": { - "type": "string" - }, - "CustomEventData": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FlexMatchMode": { - "type": "string" - }, - "GameProperties": { - "items": { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration.GameProperty" - }, - "type": "array" - }, - "GameSessionData": { - "type": "string" - }, - "GameSessionQueueArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "NotificationTarget": { - "type": "string" - }, - "RequestTimeoutSeconds": { - "type": "number" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "AcceptanceRequired", - "Name", - "RequestTimeoutSeconds", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingConfiguration.GameProperty": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::GameLift::MatchmakingRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RuleSetBody": { - "type": "string" - } - }, - "required": [ - "Name", - "RuleSetBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::MatchmakingRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StorageLocation": { - "$ref": "#/definitions/AWS::GameLift::Script.S3Location" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "StorageLocation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GameLift::Script" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GameLift::Script.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Accelerator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "IpAddressType": { - "type": "string" - }, - "IpAddresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Accelerator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointConfigurations": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration" - }, - "type": "array" - }, - "EndpointGroupRegion": { - "type": "string" - }, - "HealthCheckIntervalSeconds": { - "type": "number" - }, - "HealthCheckPath": { - "type": "string" - }, - "HealthCheckPort": { - "type": "number" - }, - "HealthCheckProtocol": { - "type": "string" - }, - "ListenerArn": { - "type": "string" - }, - "PortOverrides": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup.PortOverride" - }, - "type": "array" - }, - "ThresholdCount": { - "type": "number" - }, - "TrafficDialPercentage": { - "type": "number" - } - }, - "required": [ - "EndpointGroupRegion", - "ListenerArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::EndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.EndpointConfiguration": { - "additionalProperties": false, - "properties": { - "ClientIPPreservationEnabled": { - "type": "boolean" - }, - "EndpointId": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "EndpointId" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::EndpointGroup.PortOverride": { - "additionalProperties": false, - "properties": { - "EndpointPort": { - "type": "number" - }, - "ListenerPort": { - "type": "number" - } - }, - "required": [ - "EndpointPort", - "ListenerPort" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorArn": { - "type": "string" - }, - "ClientAffinity": { - "type": "string" - }, - "PortRanges": { - "items": { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener.PortRange" - }, - "type": "array" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "AcceleratorArn", - "PortRanges", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GlobalAccelerator::Listener" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GlobalAccelerator::Listener.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::Glue::Classifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CsvClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.CsvClassifier" - }, - "GrokClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.GrokClassifier" - }, - "JsonClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.JsonClassifier" - }, - "XMLClassifier": { - "$ref": "#/definitions/AWS::Glue::Classifier.XMLClassifier" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Classifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Glue::Classifier.CsvClassifier": { - "additionalProperties": false, - "properties": { - "AllowSingleColumn": { - "type": "boolean" - }, - "ContainsHeader": { - "type": "string" - }, - "Delimiter": { - "type": "string" - }, - "DisableValueTrimming": { - "type": "boolean" - }, - "Header": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Classifier.GrokClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "CustomPatterns": { - "type": "string" - }, - "GrokPattern": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Classification", - "GrokPattern" - ], - "type": "object" - }, - "AWS::Glue::Classifier.JsonClassifier": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::Glue::Classifier.XMLClassifier": { - "additionalProperties": false, - "properties": { - "Classification": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RowTag": { - "type": "string" - } - }, - "required": [ - "Classification", - "RowTag" - ], - "type": "object" - }, - "AWS::Glue::Connection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionInput": { - "$ref": "#/definitions/AWS::Glue::Connection.ConnectionInput" - } - }, - "required": [ - "CatalogId", - "ConnectionInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Connection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Connection.ConnectionInput": { - "additionalProperties": false, - "properties": { - "ConnectionProperties": { - "type": "object" - }, - "ConnectionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MatchCriteria": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "PhysicalConnectionRequirements": { - "$ref": "#/definitions/AWS::Glue::Connection.PhysicalConnectionRequirements" - } - }, - "required": [ - "ConnectionType" - ], - "type": "object" - }, - "AWS::Glue::Connection.PhysicalConnectionRequirements": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Classifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Configuration": { - "type": "string" - }, - "CrawlerSecurityConfiguration": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecrawlPolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.RecrawlPolicy" - }, - "Role": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Glue::Crawler.Schedule" - }, - "SchemaChangePolicy": { - "$ref": "#/definitions/AWS::Glue::Crawler.SchemaChangePolicy" - }, - "TablePrefix": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Targets": { - "$ref": "#/definitions/AWS::Glue::Crawler.Targets" - } - }, - "required": [ - "Role", - "Targets" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Crawler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Crawler.CatalogTarget": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "Tables": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.DynamoDBTarget": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.JdbcTarget": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.RecrawlPolicy": { - "additionalProperties": false, - "properties": { - "RecrawlBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.S3Target": { - "additionalProperties": false, - "properties": { - "ConnectionName": { - "type": "string" - }, - "Exclusions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.SchemaChangePolicy": { - "additionalProperties": false, - "properties": { - "DeleteBehavior": { - "type": "string" - }, - "UpdateBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Crawler.Targets": { - "additionalProperties": false, - "properties": { - "CatalogTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.CatalogTarget" - }, - "type": "array" - }, - "DynamoDBTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.DynamoDBTarget" - }, - "type": "array" - }, - "JdbcTargets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.JdbcTarget" - }, - "type": "array" - }, - "S3Targets": { - "items": { - "$ref": "#/definitions/AWS::Glue::Crawler.S3Target" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DataCatalogEncryptionSettings": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings" - } - }, - "required": [ - "CatalogId", - "DataCatalogEncryptionSettings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DataCatalogEncryptionSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "ReturnConnectionPasswordEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": { - "additionalProperties": false, - "properties": { - "ConnectionPasswordEncryption": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption" - }, - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest" - } - }, - "type": "object" - }, - "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "CatalogEncryptionMode": { - "type": "string" - }, - "SseAwsKmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseInput": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseInput" - } - }, - "required": [ - "CatalogId", - "DatabaseInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Database.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Database.DatabaseInput": { - "additionalProperties": false, - "properties": { - "CreateTableDefaultPermissions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Database.PrincipalPrivileges" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "LocationUri": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "TargetDatabase": { - "$ref": "#/definitions/AWS::Glue::Database.DatabaseIdentifier" - } - }, - "type": "object" - }, - "AWS::Glue::Database.PrincipalPrivileges": { - "additionalProperties": false, - "properties": { - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "$ref": "#/definitions/AWS::Glue::Database.DataLakePrincipal" - } - }, - "type": "object" - }, - "AWS::Glue::DevEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "EndpointName": { - "type": "string" - }, - "ExtraJarsS3Path": { - "type": "string" - }, - "ExtraPythonLibsS3Path": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "NumberOfWorkers": { - "type": "number" - }, - "PublicKey": { - "type": "string" - }, - "PublicKeys": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::DevEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedCapacity": { - "type": "number" - }, - "Command": { - "$ref": "#/definitions/AWS::Glue::Job.JobCommand" - }, - "Connections": { - "$ref": "#/definitions/AWS::Glue::Job.ConnectionsList" - }, - "DefaultArguments": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ExecutionProperty": { - "$ref": "#/definitions/AWS::Glue::Job.ExecutionProperty" - }, - "GlueVersion": { - "type": "string" - }, - "LogUri": { - "type": "string" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Job.NotificationProperty" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "Command", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Job" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Job.ConnectionsList": { - "additionalProperties": false, - "properties": { - "Connections": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Job.ExecutionProperty": { - "additionalProperties": false, - "properties": { - "MaxConcurrentRuns": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Job.JobCommand": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PythonVersion": { - "type": "string" - }, - "ScriptLocation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Job.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlueVersion": { - "type": "string" - }, - "InputRecordTables": { - "$ref": "#/definitions/AWS::Glue::MLTransform.InputRecordTables" - }, - "MaxCapacity": { - "type": "number" - }, - "MaxRetries": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NumberOfWorkers": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Timeout": { - "type": "number" - }, - "TransformEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformEncryption" - }, - "TransformParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.TransformParameters" - }, - "WorkerType": { - "type": "string" - } - }, - "required": [ - "InputRecordTables", - "Role", - "TransformParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::MLTransform" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.FindMatchesParameters": { - "additionalProperties": false, - "properties": { - "AccuracyCostTradeoff": { - "type": "number" - }, - "EnforceProvidedLabels": { - "type": "boolean" - }, - "PrecisionRecallTradeoff": { - "type": "number" - }, - "PrimaryKeyColumnName": { - "type": "string" - } - }, - "required": [ - "PrimaryKeyColumnName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.GlueTables": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ConnectionName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.InputRecordTables": { - "additionalProperties": false, - "properties": { - "GlueTables": { - "items": { - "$ref": "#/definitions/AWS::Glue::MLTransform.GlueTables" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.MLUserDataEncryption": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MLUserDataEncryptionMode": { - "type": "string" - } - }, - "required": [ - "MLUserDataEncryptionMode" - ], - "type": "object" - }, - "AWS::Glue::MLTransform.TransformEncryption": { - "additionalProperties": false, - "properties": { - "MLUserDataEncryption": { - "$ref": "#/definitions/AWS::Glue::MLTransform.MLUserDataEncryption" - }, - "TaskRunSecurityConfigurationName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::MLTransform.TransformParameters": { - "additionalProperties": false, - "properties": { - "FindMatchesParameters": { - "$ref": "#/definitions/AWS::Glue::MLTransform.FindMatchesParameters" - }, - "TransformType": { - "type": "string" - } - }, - "required": [ - "TransformType" - ], - "type": "object" - }, - "AWS::Glue::Partition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "PartitionInput": { - "$ref": "#/definitions/AWS::Glue::Partition.PartitionInput" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "PartitionInput", - "TableName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Partition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Partition.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Partition.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column" - ], - "type": "object" - }, - "AWS::Glue::Partition.PartitionInput": { - "additionalProperties": false, - "properties": { - "Parameters": { - "type": "object" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Partition.StorageDescriptor" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Values" - ], - "type": "object" - }, - "AWS::Glue::Partition.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Partition.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Partition.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Partition.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Partition.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Registry": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Registry" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CheckpointVersion": { - "$ref": "#/definitions/AWS::Glue::Schema.SchemaVersion" - }, - "Compatibility": { - "type": "string" - }, - "DataFormat": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Registry": { - "$ref": "#/definitions/AWS::Glue::Schema.Registry" - }, - "SchemaDefinition": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Compatibility", - "DataFormat", - "Name", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Schema" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Schema.Registry": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Schema.SchemaVersion": { - "additionalProperties": false, - "properties": { - "IsLatest": { - "type": "boolean" - }, - "VersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Schema": { - "$ref": "#/definitions/AWS::Glue::SchemaVersion.Schema" - }, - "SchemaDefinition": { - "type": "string" - } - }, - "required": [ - "Schema", - "SchemaDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SchemaVersion.Schema": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SchemaVersionMetadata": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "SchemaVersionId": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "SchemaVersionId", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SchemaVersionMetadata" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.EncryptionConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "EncryptionConfiguration", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::SecurityConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.CloudWatchEncryption" - }, - "JobBookmarksEncryption": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.JobBookmarksEncryption" - }, - "S3Encryptions": { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration.S3Encryptions" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": { - "additionalProperties": false, - "properties": { - "JobBookmarksEncryptionMode": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryption": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "S3EncryptionMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::SecurityConfiguration.S3Encryptions": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Glue::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "TableInput": { - "$ref": "#/definitions/AWS::Glue::Table.TableInput" - } - }, - "required": [ - "CatalogId", - "DatabaseName", - "TableInput" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Table.Column": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::Glue::Table.Order": { - "additionalProperties": false, - "properties": { - "Column": { - "type": "string" - }, - "SortOrder": { - "type": "number" - } - }, - "required": [ - "Column", - "SortOrder" - ], - "type": "object" - }, - "AWS::Glue::Table.SchemaId": { - "additionalProperties": false, - "properties": { - "RegistryName": { - "type": "string" - }, - "SchemaArn": { - "type": "string" - }, - "SchemaName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SchemaReference": { - "additionalProperties": false, - "properties": { - "SchemaId": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaId" - }, - "SchemaVersionId": { - "type": "string" - }, - "SchemaVersionNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SerdeInfo": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SerializationLibrary": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.SkewedInfo": { - "additionalProperties": false, - "properties": { - "SkewedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SkewedColumnValueLocationMaps": { - "type": "object" - }, - "SkewedColumnValues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Glue::Table.StorageDescriptor": { - "additionalProperties": false, - "properties": { - "BucketColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Columns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Compressed": { - "type": "boolean" - }, - "InputFormat": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "NumberOfBuckets": { - "type": "number" - }, - "OutputFormat": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "SchemaReference": { - "$ref": "#/definitions/AWS::Glue::Table.SchemaReference" - }, - "SerdeInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SerdeInfo" - }, - "SkewedInfo": { - "$ref": "#/definitions/AWS::Glue::Table.SkewedInfo" - }, - "SortColumns": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Order" - }, - "type": "array" - }, - "StoredAsSubDirectories": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableIdentifier": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Table.TableInput": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "PartitionKeys": { - "items": { - "$ref": "#/definitions/AWS::Glue::Table.Column" - }, - "type": "array" - }, - "Retention": { - "type": "number" - }, - "StorageDescriptor": { - "$ref": "#/definitions/AWS::Glue::Table.StorageDescriptor" - }, - "TableType": { - "type": "string" - }, - "TargetTable": { - "$ref": "#/definitions/AWS::Glue::Table.TableIdentifier" - }, - "ViewExpandedText": { - "type": "string" - }, - "ViewOriginalText": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Action" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicate": { - "$ref": "#/definitions/AWS::Glue::Trigger.Predicate" - }, - "Schedule": { - "type": "string" - }, - "StartOnCreation": { - "type": "boolean" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "WorkflowName": { - "type": "string" - } - }, - "required": [ - "Actions", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Trigger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Glue::Trigger.Action": { - "additionalProperties": false, - "properties": { - "Arguments": { - "type": "object" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "NotificationProperty": { - "$ref": "#/definitions/AWS::Glue::Trigger.NotificationProperty" - }, - "SecurityConfiguration": { - "type": "string" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Condition": { - "additionalProperties": false, - "properties": { - "CrawlState": { - "type": "string" - }, - "CrawlerName": { - "type": "string" - }, - "JobName": { - "type": "string" - }, - "LogicalOperator": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.NotificationProperty": { - "additionalProperties": false, - "properties": { - "NotifyDelayAfter": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Glue::Trigger.Predicate": { - "additionalProperties": false, - "properties": { - "Conditions": { - "items": { - "$ref": "#/definitions/AWS::Glue::Trigger.Condition" - }, - "type": "array" - }, - "Logical": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Glue::Workflow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultRunProperties": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Glue::Workflow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition.Connector" - }, - "type": "array" - } - }, - "required": [ - "Connectors" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionId": { - "type": "string" - }, - "Connectors": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion.Connector" - }, - "type": "array" - } - }, - "required": [ - "ConnectorDefinitionId", - "Connectors" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ConnectorDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ConnectorDefinitionVersion.Connector": { - "additionalProperties": false, - "properties": { - "ConnectorArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "required": [ - "ConnectorArn", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.CoreDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition.Core" - }, - "type": "array" - } - }, - "required": [ - "Cores" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CoreDefinitionId": { - "type": "string" - }, - "Cores": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion.Core" - }, - "type": "array" - } - }, - "required": [ - "CoreDefinitionId", - "Cores" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::CoreDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::CoreDefinitionVersion.Core": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition.Device" - }, - "type": "array" - } - }, - "required": [ - "Devices" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceDefinitionId": { - "type": "string" - }, - "Devices": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion.Device" - }, - "type": "array" - } - }, - "required": [ - "DeviceDefinitionId", - "Devices" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::DeviceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::DeviceDefinitionVersion.Device": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "SyncShadow": { - "type": "boolean" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "CertificateArn", - "Id", - "ThingArn" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.DefaultConfig" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition.Function" - }, - "type": "array" - } - }, - "required": [ - "Functions" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinition.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultConfig": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig" - }, - "FunctionDefinitionId": { - "type": "string" - }, - "Functions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Function" - }, - "type": "array" - } - }, - "required": [ - "FunctionDefinitionId", - "Functions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::FunctionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": { - "additionalProperties": false, - "properties": { - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - } - }, - "required": [ - "Execution" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Environment": { - "additionalProperties": false, - "properties": { - "AccessSysfs": { - "type": "boolean" - }, - "Execution": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Execution" - }, - "ResourceAccessPolicies": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy" - }, - "type": "array" - }, - "Variables": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Execution": { - "additionalProperties": false, - "properties": { - "IsolationMode": { - "type": "string" - }, - "RunAs": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.RunAs" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.Function": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "FunctionConfiguration": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration" - }, - "Id": { - "type": "string" - } - }, - "required": [ - "FunctionArn", - "FunctionConfiguration", - "Id" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": { - "additionalProperties": false, - "properties": { - "EncodingType": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion.Environment" - }, - "ExecArgs": { - "type": "string" - }, - "Executable": { - "type": "string" - }, - "MemorySize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "Timeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": { - "additionalProperties": false, - "properties": { - "Permission": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "required": [ - "ResourceId" - ], - "type": "object" - }, - "AWS::Greengrass::FunctionDefinitionVersion.RunAs": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "Uid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Greengrass::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::Group.GroupVersion" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::Group.GroupVersion": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Greengrass::GroupVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectorDefinitionVersionArn": { - "type": "string" - }, - "CoreDefinitionVersionArn": { - "type": "string" - }, - "DeviceDefinitionVersionArn": { - "type": "string" - }, - "FunctionDefinitionVersionArn": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "LoggerDefinitionVersionArn": { - "type": "string" - }, - "ResourceDefinitionVersionArn": { - "type": "string" - }, - "SubscriptionDefinitionVersionArn": { - "type": "string" - } - }, - "required": [ - "GroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::GroupVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition.Logger" - }, - "type": "array" - } - }, - "required": [ - "Loggers" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoggerDefinitionId": { - "type": "string" - }, - "Loggers": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion.Logger" - }, - "type": "array" - } - }, - "required": [ - "LoggerDefinitionId", - "Loggers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::LoggerDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::LoggerDefinitionVersion.Logger": { - "additionalProperties": false, - "properties": { - "Component": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "Space": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Component", - "Id", - "Level", - "Type" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "Resources" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceDefinitionId": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance" - }, - "type": "array" - } - }, - "required": [ - "ResourceDefinitionId", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::ResourceDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": { - "additionalProperties": false, - "properties": { - "AutoAddGroupOwner": { - "type": "boolean" - }, - "GroupOwner": { - "type": "string" - } - }, - "required": [ - "AutoAddGroupOwner" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": { - "additionalProperties": false, - "properties": { - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "GroupOwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting" - }, - "SourcePath": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SourcePath" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": { - "additionalProperties": false, - "properties": { - "LocalDeviceResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData" - }, - "LocalVolumeResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData" - }, - "S3MachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData" - }, - "SageMakerMachineLearningModelResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData" - }, - "SecretsManagerSecretResourceData": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData" - } - }, - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting": { - "additionalProperties": false, - "properties": { - "GroupOwner": { - "type": "string" - }, - "GroupPermission": { - "type": "string" - } - }, - "required": [ - "GroupOwner", - "GroupPermission" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceDataContainer": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer" - } - }, - "required": [ - "Id", - "Name", - "ResourceDataContainer" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": { - "additionalProperties": false, - "properties": { - "DestinationPath": { - "type": "string" - }, - "OwnerSetting": { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion.ResourceDownloadOwnerSetting" - }, - "SageMakerJobArn": { - "type": "string" - } - }, - "required": [ - "DestinationPath", - "SageMakerJobArn" - ], - "type": "object" - }, - "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": { - "additionalProperties": false, - "properties": { - "ARN": { - "type": "string" - }, - "AdditionalStagingLabelsToDownload": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ARN" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InitialVersion": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition.Subscription" - }, - "type": "array" - } - }, - "required": [ - "Subscriptions" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SubscriptionDefinitionId": { - "type": "string" - }, - "Subscriptions": { - "items": { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion.Subscription" - }, - "type": "array" - } - }, - "required": [ - "SubscriptionDefinitionId", - "Subscriptions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Greengrass::SubscriptionDefinitionVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Id", - "Source", - "Subject", - "Target" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InlineRecipe": { - "type": "string" - }, - "LambdaFunction": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GreengrassV2::ComponentVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement": { - "additionalProperties": false, - "properties": { - "DependencyType": { - "type": "string" - }, - "VersionRequirement": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.ComponentPlatform": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaContainerParams": { - "additionalProperties": false, - "properties": { - "Devices": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount" - }, - "type": "array" - }, - "MemorySizeInKB": { - "type": "number" - }, - "MountROSysfs": { - "type": "boolean" - }, - "Volumes": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaDeviceMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "Path": { - "type": "string" - }, - "Permission": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaEventSource": { - "additionalProperties": false, - "properties": { - "Topic": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters": { - "additionalProperties": false, - "properties": { - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "EventSources": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaEventSource" - }, - "type": "array" - }, - "ExecArgs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InputPayloadEncodingType": { - "type": "string" - }, - "LinuxProcessParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams" - }, - "MaxIdleTimeInSeconds": { - "type": "number" - }, - "MaxInstancesCount": { - "type": "number" - }, - "MaxQueueSize": { - "type": "number" - }, - "Pinned": { - "type": "boolean" - }, - "StatusTimeoutInSeconds": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaFunctionRecipeSource": { - "additionalProperties": false, - "properties": { - "ComponentDependencies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentDependencyRequirement" - } - }, - "type": "object" - }, - "ComponentLambdaParameters": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaExecutionParameters" - }, - "ComponentName": { - "type": "string" - }, - "ComponentPlatforms": { - "items": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.ComponentPlatform" - }, - "type": "array" - }, - "ComponentVersion": { - "type": "string" - }, - "LambdaArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaLinuxProcessParams": { - "additionalProperties": false, - "properties": { - "ContainerParams": { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion.LambdaContainerParams" - }, - "IsolationMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GreengrassV2::ComponentVersion.LambdaVolumeMount": { - "additionalProperties": false, - "properties": { - "AddGroupOwner": { - "type": "boolean" - }, - "DestinationPath": { - "type": "string" - }, - "Permission": { - "type": "string" - }, - "SourcePath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigData": { - "$ref": "#/definitions/AWS::GroundStation::Config.ConfigData" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConfigData", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::Config" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig": { - "additionalProperties": false, - "properties": { - "DecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DecodeConfig" - }, - "DemodulationConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DemodulationConfig" - }, - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.SpectrumConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.AntennaUplinkConfig": { - "additionalProperties": false, - "properties": { - "SpectrumConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkSpectrumConfig" - }, - "TargetEirp": { - "$ref": "#/definitions/AWS::GroundStation::Config.Eirp" - }, - "TransmitDisabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.ConfigData": { - "additionalProperties": false, - "properties": { - "AntennaDownlinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkConfig" - }, - "AntennaDownlinkDemodDecodeConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaDownlinkDemodDecodeConfig" - }, - "AntennaUplinkConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.AntennaUplinkConfig" - }, - "DataflowEndpointConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.DataflowEndpointConfig" - }, - "S3RecordingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.S3RecordingConfig" - }, - "TrackingConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.TrackingConfig" - }, - "UplinkEchoConfig": { - "$ref": "#/definitions/AWS::GroundStation::Config.UplinkEchoConfig" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DataflowEndpointConfig": { - "additionalProperties": false, - "properties": { - "DataflowEndpointName": { - "type": "string" - }, - "DataflowEndpointRegion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DecodeConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.DemodulationConfig": { - "additionalProperties": false, - "properties": { - "UnvalidatedJSON": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Eirp": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.Frequency": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.FrequencyBandwidth": { - "additionalProperties": false, - "properties": { - "Units": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.S3RecordingConfig": { - "additionalProperties": false, - "properties": { - "BucketArn": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.SpectrumConfig": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::GroundStation::Config.FrequencyBandwidth" - }, - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.TrackingConfig": { - "additionalProperties": false, - "properties": { - "Autotrack": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkEchoConfig": { - "additionalProperties": false, - "properties": { - "AntennaUplinkConfigArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GroundStation::Config.UplinkSpectrumConfig": { - "additionalProperties": false, - "properties": { - "CenterFrequency": { - "$ref": "#/definitions/AWS::GroundStation::Config.Frequency" - }, - "Polarization": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointDetails": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.EndpointDetails" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::DataflowEndpointGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SocketAddress" - }, - "Mtu": { - "type": "number" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.EndpointDetails": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.DataflowEndpoint" - }, - "SecurityDetails": { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup.SecurityDetails" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SecurityDetails": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GroundStation::DataflowEndpointGroup.SocketAddress": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::GroundStation::MissionProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactPostPassDurationSeconds": { - "type": "number" - }, - "ContactPrePassDurationSeconds": { - "type": "number" - }, - "DataflowEdges": { - "items": { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile.DataflowEdge" - }, - "type": "array" - }, - "MinimumViableContactDurationSeconds": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TrackingConfigArn": { - "type": "string" - } - }, - "required": [ - "DataflowEdges", - "MinimumViableContactDurationSeconds", - "Name", - "TrackingConfigArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GroundStation::MissionProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GroundStation::MissionProfile.DataflowEdge": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSources": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNDataSourceConfigurations" - }, - "Enable": { - "type": "boolean" - }, - "FindingPublishingFrequency": { - "type": "string" - } - }, - "required": [ - "Enable" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Detector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNDataSourceConfigurations": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::GuardDuty::Detector.CFNS3LogsConfiguration" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Detector.CFNS3LogsConfiguration": { - "additionalProperties": false, - "properties": { - "Enable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DetectorId": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Rank": { - "type": "number" - } - }, - "required": [ - "Action", - "Description", - "DetectorId", - "FindingCriteria", - "Name", - "Rank" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Filter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Filter.Condition": { - "additionalProperties": false, - "properties": { - "Eq": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Gte": { - "type": "number" - }, - "Lt": { - "type": "number" - }, - "Lte": { - "type": "number" - }, - "Neq": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::GuardDuty::Filter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "type": "object" - }, - "ItemType": { - "$ref": "#/definitions/AWS::GuardDuty::Filter.Condition" - } - }, - "type": "object" - }, - "AWS::GuardDuty::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Master": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "InvitationId": { - "type": "string" - }, - "MasterId": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "MasterId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Master" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorId": { - "type": "string" - }, - "DisableEmailNotification": { - "type": "boolean" - }, - "Email": { - "type": "string" - }, - "MemberId": { - "type": "string" - }, - "Message": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "DetectorId", - "Email", - "MemberId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::GuardDuty::ThreatIntelSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Activate": { - "type": "boolean" - }, - "DetectorId": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Location": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Activate", - "DetectorId", - "Format", - "Location" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::GuardDuty::ThreatIntelSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::AccessKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Serial": { - "type": "number" - }, - "Status": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::AccessKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Group.Policy" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::Group.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::InstanceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceProfileName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Roles" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::InstanceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ManagedPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ManagedPolicyName": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ManagedPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::OIDCProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClientIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThumbprintList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ThumbprintList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::OIDCProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - }, - "Roles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssumeRolePolicyDocument": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionDuration": { - "type": "number" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::Role.Policy" - }, - "type": "array" - }, - "RoleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssumeRolePolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::Role" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::Role.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::SAMLProvider": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SamlMetadataDocument": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SamlMetadataDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::SAMLProvider" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::ServerCertificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CertificateBody": { - "type": "string" - }, - "CertificateChain": { - "type": "string" - }, - "Path": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - }, - "ServerCertificateName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServerCertificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::ServiceLinkedRole": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AWSServiceName": { - "type": "string" - }, - "CustomSuffix": { - "type": "string" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AWSServiceName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::ServiceLinkedRole" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LoginProfile": { - "$ref": "#/definitions/AWS::IAM::User.LoginProfile" - }, - "ManagedPolicyArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Path": { - "type": "string" - }, - "PermissionsBoundary": { - "type": "string" - }, - "Policies": { - "items": { - "$ref": "#/definitions/AWS::IAM::User.Policy" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IAM::User.LoginProfile": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "PasswordResetRequired": { - "type": "boolean" - } - }, - "required": [ - "Password" - ], - "type": "object" - }, - "AWS::IAM::User.Policy": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "AWS::IAM::UserToGroupAddition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GroupName": { - "type": "string" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GroupName", - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::UserToGroupAddition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IAM::VirtualMFADevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Path": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Users": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VirtualMfaDeviceName": { - "type": "string" - } - }, - "required": [ - "Users" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IAM::VirtualMFADevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorized": { - "type": "boolean" - }, - "LatencyMode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RecordingConfigurationArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IVS::PlaybackKeyPair": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "PublicKeyMaterial": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PublicKeyMaterial" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::PlaybackKeyPair" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfiguration": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.DestinationConfiguration" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DestinationConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::RecordingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "S3": { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration.S3DestinationConfiguration" - } - }, - "required": [ - "S3" - ], - "type": "object" - }, - "AWS::IVS::RecordingConfiguration.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::IVS::StreamKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ChannelArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IVS::StreamKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Component": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChangeDescription": { - "type": "string" - }, - "Data": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "SupportedOsVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Uri": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Platform", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Component" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "ContainerType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DockerfileTemplateData": { - "type": "string" - }, - "DockerfileTemplateUri": { - "type": "string" - }, - "ImageOsVersionOverride": { - "type": "string" - }, - "InstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "PlatformOverride": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TargetRepository": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "ContainerType", - "Name", - "ParentImage", - "TargetRepository", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ContainerRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.InstanceConfiguration": { - "additionalProperties": false, - "properties": { - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Image": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ContainerRecipe.TargetContainerRepository": { - "additionalProperties": false, - "properties": { - "RepositoryName": { - "type": "string" - }, - "Service": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Distributions": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.Distribution" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Distributions", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::DistributionConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.Distribution": { - "additionalProperties": false, - "properties": { - "AmiDistributionConfiguration": { - "type": "object" - }, - "ContainerDistributionConfiguration": { - "type": "object" - }, - "LaunchTemplateConfigurations": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration" - }, - "type": "array" - }, - "LicenseConfigurationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::ImageBuilder::DistributionConfiguration.LaunchTemplateConfiguration": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "LaunchTemplateId": { - "type": "string" - }, - "SetDefaultVersion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::Image.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::Image.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContainerRecipeArn": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DistributionConfigurationArn": { - "type": "string" - }, - "EnhancedImageMetadataEnabled": { - "type": "boolean" - }, - "ImageRecipeArn": { - "type": "string" - }, - "ImageTestsConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration" - }, - "InfrastructureConfigurationArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline.Schedule" - }, - "Status": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "InfrastructureConfigurationArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImagePipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.ImageTestsConfiguration": { - "additionalProperties": false, - "properties": { - "ImageTestsEnabled": { - "type": "boolean" - }, - "TimeoutMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImagePipeline.Schedule": { - "additionalProperties": false, - "properties": { - "PipelineExecutionStartCondition": { - "type": "string" - }, - "ScheduleExpression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalInstanceConfiguration": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping" - }, - "type": "array" - }, - "Components": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentConfiguration" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ParentImage": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Version": { - "type": "string" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "required": [ - "Components", - "Name", - "ParentImage", - "Version" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::ImageRecipe" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.AdditionalInstanceConfiguration": { - "additionalProperties": false, - "properties": { - "SystemsManagerAgent": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent" - }, - "UserDataOverride": { - "type": "string" - } - }, - "required": [ - "UserDataOverride" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ComponentArn": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.ComponentParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.ComponentParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.InstanceBlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe.EbsInstanceBlockDeviceSpecification" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::ImageRecipe.SystemsManagerAgent": { - "additionalProperties": false, - "properties": { - "UninstallAfterBuild": { - "type": "boolean" - } - }, - "required": [ - "UninstallAfterBuild" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InstanceProfileName": { - "type": "string" - }, - "InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KeyPair": { - "type": "string" - }, - "Logging": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "ResourceTags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "TerminateInstanceOnFailure": { - "type": "boolean" - } - }, - "required": [ - "InstanceProfileName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ImageBuilder::InfrastructureConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.Logging": { - "additionalProperties": false, - "properties": { - "S3Logs": { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration.S3Logs" - } - }, - "type": "object" - }, - "AWS::ImageBuilder::InfrastructureConfiguration.S3Logs": { - "additionalProperties": false, - "properties": { - "S3BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Inspector::AssessmentTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetName": { - "type": "string" - }, - "ResourceGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Inspector::AssessmentTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssessmentTargetArn": { - "type": "string" - }, - "AssessmentTemplateName": { - "type": "string" - }, - "DurationInSeconds": { - "type": "number" - }, - "RulesPackageArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UserAttributesForFindings": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssessmentTargetArn", - "DurationInSeconds", - "RulesPackageArns" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::AssessmentTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Inspector::ResourceGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceGroupTags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceGroupTags" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Inspector::ResourceGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "DeviceId", - "Enabled" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Placement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedDevices": { - "type": "object" - }, - "Attributes": { - "type": "object" - }, - "PlacementName": { - "type": "string" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Placement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "PlacementTemplate": { - "$ref": "#/definitions/AWS::IoT1Click::Project.PlacementTemplate" - }, - "ProjectName": { - "type": "string" - } - }, - "required": [ - "PlacementTemplate" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT1Click::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT1Click::Project.DeviceTemplate": { - "additionalProperties": false, - "properties": { - "CallbackOverrides": { - "type": "object" - }, - "DeviceType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT1Click::Project.PlacementTemplate": { - "additionalProperties": false, - "properties": { - "DefaultAttributes": { - "type": "object" - }, - "DeviceTemplates": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "AuditCheckConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations" - }, - "AuditNotificationTargetConfigurations": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AccountId", - "AuditCheckConfigurations", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::AccountAuditConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditCheckConfigurations": { - "additionalProperties": false, - "properties": { - "AuthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "CaCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "ConflictingClientIdsCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateExpiringCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateKeyQualityCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "DeviceCertificateSharedCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotPolicyOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasAllowsAccessToUnusedServicesCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "IotRoleAliasOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "LoggingDisabledCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedCaCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "RevokedDeviceCertificateStillActiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - }, - "UnauthenticatedCognitoRoleOverlyPermissiveCheck": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditCheckConfiguration" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::AccountAuditConfiguration.AuditNotificationTargetConfigurations": { - "additionalProperties": false, - "properties": { - "Sns": { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration.AuditNotificationTarget" - } - }, - "type": "object" - }, - "AWS::IoT::Authorizer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerFunctionArn": { - "type": "string" - }, - "AuthorizerName": { - "type": "string" - }, - "SigningDisabled": { - "type": "boolean" - }, - "Status": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TokenKeyName": { - "type": "string" - }, - "TokenSigningPublicKeys": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "AuthorizerFunctionArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Authorizer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Certificate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CACertificatePem": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "CertificatePem": { - "type": "string" - }, - "CertificateSigningRequest": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Certificate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::CustomMetric": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "MetricType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MetricType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::CustomMetric" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::Dimension": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "StringValues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "StringValues", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Dimension" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthorizerConfig": { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration.AuthorizerConfig" - }, - "DomainConfigurationName": { - "type": "string" - }, - "DomainConfigurationStatus": { - "type": "string" - }, - "DomainName": { - "type": "string" - }, - "ServerCertificateArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServiceType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ValidationCertificateArn": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::DomainConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::DomainConfiguration.AuthorizerConfig": { - "additionalProperties": false, - "properties": { - "AllowAuthorizerOverride": { - "type": "boolean" - }, - "DefaultAuthorizerName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::DomainConfiguration.ServerCertificateSummary": { - "additionalProperties": false, - "properties": { - "ServerCertificateArn": { - "type": "string" - }, - "ServerCertificateStatus": { - "type": "string" - }, - "ServerCertificateStatusDetail": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ActionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ActionParams" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ActionParams", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::MitigationAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ActionParams": { - "additionalProperties": false, - "properties": { - "AddThingsToThingGroupParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.AddThingsToThingGroupParams" - }, - "EnableIoTLoggingParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.EnableIoTLoggingParams" - }, - "PublishFindingToSnsParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.PublishFindingToSnsParams" - }, - "ReplaceDefaultPolicyVersionParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams" - }, - "UpdateCACertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateCACertificateParams" - }, - "UpdateDeviceCertificateParams": { - "$ref": "#/definitions/AWS::IoT::MitigationAction.UpdateDeviceCertificateParams" - } - }, - "type": "object" - }, - "AWS::IoT::MitigationAction.AddThingsToThingGroupParams": { - "additionalProperties": false, - "properties": { - "OverrideDynamicGroups": { - "type": "boolean" - }, - "ThingGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ThingGroupNames" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.EnableIoTLoggingParams": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - }, - "RoleArnForLogging": { - "type": "string" - } - }, - "required": [ - "LogLevel", - "RoleArnForLogging" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.PublishFindingToSnsParams": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.ReplaceDefaultPolicyVersionParams": { - "additionalProperties": false, - "properties": { - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateCACertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::MitigationAction.UpdateDeviceCertificateParams": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - } - }, - "required": [ - "Action" - ], - "type": "object" - }, - "AWS::IoT::Policy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Policy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::PolicyPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyName": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "PolicyName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::PolicyPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PreProvisioningHook": { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate.ProvisioningHook" - }, - "ProvisioningRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateBody": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "ProvisioningRoleArn", - "TemplateBody" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ProvisioningTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::ProvisioningTemplate.ProvisioningHook": { - "additionalProperties": false, - "properties": { - "PayloadVersion": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::ScheduledAudit": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DayOfMonth": { - "type": "string" - }, - "DayOfWeek": { - "type": "string" - }, - "Frequency": { - "type": "string" - }, - "ScheduledAuditName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetCheckNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Frequency", - "TargetCheckNames" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ScheduledAudit" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalMetricsToRetainV2": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricToRetain" - }, - "type": "array" - }, - "AlertTargets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.AlertTarget" - } - }, - "type": "object" - }, - "Behaviors": { - "items": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.Behavior" - }, - "type": "array" - }, - "SecurityProfileDescription": { - "type": "string" - }, - "SecurityProfileName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::SecurityProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.AlertTarget": { - "additionalProperties": false, - "properties": { - "AlertTargetArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "AlertTargetArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.Behavior": { - "additionalProperties": false, - "properties": { - "Criteria": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.BehaviorCriteria" - }, - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - }, - "Name": { - "type": "string" - }, - "SuppressAlerts": { - "type": "boolean" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.BehaviorCriteria": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "ConsecutiveDatapointsToAlarm": { - "type": "number" - }, - "ConsecutiveDatapointsToClear": { - "type": "number" - }, - "DurationSeconds": { - "type": "number" - }, - "MlDetectionConfig": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MachineLearningDetectionConfig" - }, - "StatisticalThreshold": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.StatisticalThreshold" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricValue" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MachineLearningDetectionConfig": { - "additionalProperties": false, - "properties": { - "ConfidenceLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricDimension": { - "additionalProperties": false, - "properties": { - "DimensionName": { - "type": "string" - }, - "Operator": { - "type": "string" - } - }, - "required": [ - "DimensionName" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricToRetain": { - "additionalProperties": false, - "properties": { - "Metric": { - "type": "string" - }, - "MetricDimension": { - "$ref": "#/definitions/AWS::IoT::SecurityProfile.MetricDimension" - } - }, - "required": [ - "Metric" - ], - "type": "object" - }, - "AWS::IoT::SecurityProfile.MetricValue": { - "additionalProperties": false, - "properties": { - "Cidrs": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Count": { - "type": "string" - }, - "Number": { - "type": "number" - }, - "Numbers": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Ports": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Strings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoT::SecurityProfile.StatisticalThreshold": { - "additionalProperties": false, - "properties": { - "Statistic": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::Thing": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AttributePayload": { - "$ref": "#/definitions/AWS::IoT::Thing.AttributePayload" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::Thing" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::Thing.AttributePayload": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::IoT::ThingPrincipalAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Principal": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "required": [ - "Principal", - "ThingName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::ThingPrincipalAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicRulePayload": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TopicRulePayload" - } - }, - "required": [ - "TopicRulePayload" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.Action": { - "additionalProperties": false, - "properties": { - "CloudwatchAlarm": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchAlarmAction" - }, - "CloudwatchLogs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchLogsAction" - }, - "CloudwatchMetric": { - "$ref": "#/definitions/AWS::IoT::TopicRule.CloudwatchMetricAction" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBAction" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoT::TopicRule.DynamoDBv2Action" - }, - "Elasticsearch": { - "$ref": "#/definitions/AWS::IoT::TopicRule.ElasticsearchAction" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoT::TopicRule.FirehoseAction" - }, - "Http": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAction" - }, - "IotAnalytics": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotAnalyticsAction" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotEventsAction" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoT::TopicRule.IotSiteWiseAction" - }, - "Kafka": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KafkaAction" - }, - "Kinesis": { - "$ref": "#/definitions/AWS::IoT::TopicRule.KinesisAction" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoT::TopicRule.LambdaAction" - }, - "Republish": { - "$ref": "#/definitions/AWS::IoT::TopicRule.RepublishAction" - }, - "S3": { - "$ref": "#/definitions/AWS::IoT::TopicRule.S3Action" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SnsAction" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SqsAction" - }, - "StepFunctions": { - "$ref": "#/definitions/AWS::IoT::TopicRule.StepFunctionsAction" - }, - "Timestream": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamAction" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyVariant" - } - }, - "required": [ - "Timestamp", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchAlarmAction": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateReason": { - "type": "string" - }, - "StateValue": { - "type": "string" - } - }, - "required": [ - "AlarmName", - "RoleArn", - "StateReason", - "StateValue" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchLogsAction": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LogGroupName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.CloudwatchMetricAction": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricTimestamp": { - "type": "string" - }, - "MetricUnit": { - "type": "string" - }, - "MetricValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricUnit", - "MetricValue", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBAction": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.DynamoDBv2Action": { - "additionalProperties": false, - "properties": { - "PutItem": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutItemInput" - }, - "RoleArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.ElasticsearchAction": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "Index": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Id", - "Index", - "RoleArn", - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.FirehoseAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DeliveryStreamName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAction": { - "additionalProperties": false, - "properties": { - "Auth": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpAuthorization" - }, - "ConfirmationUrl": { - "type": "string" - }, - "Headers": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.HttpActionHeader" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpActionHeader": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.HttpAuthorization": { - "additionalProperties": false, - "properties": { - "Sigv4": { - "$ref": "#/definitions/AWS::IoT::TopicRule.SigV4Authorization" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.IotAnalyticsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "ChannelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ChannelName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotEventsAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "InputName": { - "type": "string" - }, - "MessageId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.IotSiteWiseAction": { - "additionalProperties": false, - "properties": { - "PutAssetPropertyValueEntries": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.PutAssetPropertyValueEntry" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PutAssetPropertyValueEntries", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KafkaAction": { - "additionalProperties": false, - "properties": { - "ClientProperties": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DestinationArn": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Partition": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "ClientProperties", - "DestinationArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.KinesisAction": { - "additionalProperties": false, - "properties": { - "PartitionKey": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRule.PutAssetPropertyValueEntry": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValues": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.AssetPropertyValue" - }, - "type": "array" - } - }, - "required": [ - "PropertyValues" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.PutItemInput": { - "additionalProperties": false, - "properties": { - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.RepublishAction": { - "additionalProperties": false, - "properties": { - "Qos": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "Topic" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "CannedAcl": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "BucketName", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SigV4Authorization": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "SigningRegion": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "ServiceName", - "SigningRegion" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SnsAction": { - "additionalProperties": false, - "properties": { - "MessageFormat": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.SqsAction": { - "additionalProperties": false, - "properties": { - "QueueUrl": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.StepFunctionsAction": { - "additionalProperties": false, - "properties": { - "ExecutionNamePrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "StateMachineName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamAction": { - "additionalProperties": false, - "properties": { - "BatchMode": { - "type": "boolean" - }, - "DatabaseName": { - "type": "string" - }, - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamDimension" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoT::TopicRule.TimestreamTimestamp" - } - }, - "required": [ - "DatabaseName", - "Dimensions", - "RoleArn", - "TableName" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamDimension": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TimestreamTimestamp": { - "additionalProperties": false, - "properties": { - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Unit", - "Value" - ], - "type": "object" - }, - "AWS::IoT::TopicRule.TopicRulePayload": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "type": "array" - }, - "AwsIotSqlVersion": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ErrorAction": { - "$ref": "#/definitions/AWS::IoT::TopicRule.Action" - }, - "RuleDisabled": { - "type": "boolean" - }, - "Sql": { - "type": "string" - } - }, - "required": [ - "Actions", - "Sql" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HttpUrlProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary" - }, - "Status": { - "type": "string" - }, - "VpcProperties": { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination.VpcDestinationProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoT::TopicRuleDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.HttpUrlDestinationSummary": { - "additionalProperties": false, - "properties": { - "ConfirmationUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoT::TopicRuleDestination.VpcDestinationProperties": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "ChannelStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ChannelStorage" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ChannelStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Channel.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Channel.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Action" - }, - "type": "array" - }, - "ContentDeliveryRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule" - }, - "type": "array" - }, - "DatasetName": { - "type": "string" - }, - "LateDataRules": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRule" - }, - "type": "array" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Triggers": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Trigger" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.VersioningConfiguration" - } - }, - "required": [ - "Actions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Dataset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Action": { - "additionalProperties": false, - "properties": { - "ActionName": { - "type": "string" - }, - "ContainerAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ContainerAction" - }, - "QueryAction": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.QueryAction" - } - }, - "required": [ - "ActionName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ContainerAction": { - "additionalProperties": false, - "properties": { - "ExecutionRoleArn": { - "type": "string" - }, - "Image": { - "type": "string" - }, - "ResourceConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.ResourceConfiguration" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Variable" - }, - "type": "array" - } - }, - "required": [ - "ExecutionRoleArn", - "Image", - "ResourceConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination" - }, - "EntryName": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": { - "additionalProperties": false, - "properties": { - "IotEventsDestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.S3DestinationConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTime": { - "additionalProperties": false, - "properties": { - "OffsetSeconds": { - "type": "number" - }, - "TimeExpression": { - "type": "string" - } - }, - "required": [ - "OffsetSeconds", - "TimeExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration": { - "additionalProperties": false, - "properties": { - "TimeoutInMinutes": { - "type": "number" - } - }, - "required": [ - "TimeoutInMinutes" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Filter": { - "additionalProperties": false, - "properties": { - "DeltaTime": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTime" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.GlueConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseName", - "TableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "InputName", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRule": { - "additionalProperties": false, - "properties": { - "RuleConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration" - }, - "RuleName": { - "type": "string" - } - }, - "required": [ - "RuleConfiguration" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.LateDataRuleConfiguration": { - "additionalProperties": false, - "properties": { - "DeltaTimeSessionWindowConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DeltaTimeSessionWindowConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.OutputFileUriValue": { - "additionalProperties": false, - "properties": { - "FileName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.QueryAction": { - "additionalProperties": false, - "properties": { - "Filters": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Filter" - }, - "type": "array" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "SqlQuery" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.ResourceConfiguration": { - "additionalProperties": false, - "properties": { - "ComputeType": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "ComputeType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "required": [ - "NumberOfDays", - "Unlimited" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "GlueConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.GlueConfiguration" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Schedule": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Trigger": { - "additionalProperties": false, - "properties": { - "Schedule": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.Schedule" - }, - "TriggeringDataset": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.TriggeringDataset" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.TriggeringDataset": { - "additionalProperties": false, - "properties": { - "DatasetName": { - "type": "string" - } - }, - "required": [ - "DatasetName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.Variable": { - "additionalProperties": false, - "properties": { - "DatasetContentVersionValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.DatasetContentVersionValue" - }, - "DoubleValue": { - "type": "number" - }, - "OutputFileUriValue": { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset.OutputFileUriValue" - }, - "StringValue": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "VariableName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Dataset.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "MaxVersions": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "DatastorePartitions": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartitions" - }, - "DatastoreStorage": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastoreStorage" - }, - "FileFormatConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.FileFormatConfiguration" - }, - "RetentionPeriod": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.RetentionPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Datastore" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Column": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.CustomerManagedS3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "KeyPrefix": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "Bucket", - "RoleArn" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartition": { - "additionalProperties": false, - "properties": { - "Partition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Partition" - }, - "TimestampPartition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.TimestampPartition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastorePartitions": { - "additionalProperties": false, - "properties": { - "Partitions": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.DatastorePartition" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.DatastoreStorage": { - "additionalProperties": false, - "properties": { - "CustomerManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.CustomerManagedS3" - }, - "ServiceManagedS3": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ServiceManagedS3" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.FileFormatConfiguration": { - "additionalProperties": false, - "properties": { - "JsonConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.JsonConfiguration" - }, - "ParquetConfiguration": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.ParquetConfiguration" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.JsonConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ParquetConfiguration": { - "additionalProperties": false, - "properties": { - "SchemaDefinition": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.SchemaDefinition" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.Partition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.RetentionPeriod": { - "additionalProperties": false, - "properties": { - "NumberOfDays": { - "type": "number" - }, - "Unlimited": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.SchemaDefinition": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore.Column" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.ServiceManagedS3": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::IoTAnalytics::Datastore.TimestampPartition": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "TimestampFormat": { - "type": "string" - } - }, - "required": [ - "AttributeName" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineActivities": { - "items": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Activity" - }, - "type": "array" - }, - "PipelineName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineActivities" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTAnalytics::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Activity": { - "additionalProperties": false, - "properties": { - "AddAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.AddAttributes" - }, - "Channel": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Channel" - }, - "Datastore": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Datastore" - }, - "DeviceRegistryEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich" - }, - "DeviceShadowEnrich": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich" - }, - "Filter": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Filter" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Lambda" - }, - "Math": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.Math" - }, - "RemoveAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.RemoveAttributes" - }, - "SelectAttributes": { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline.SelectAttributes" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.AddAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Channel": { - "additionalProperties": false, - "properties": { - "ChannelName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Datastore": { - "additionalProperties": false, - "properties": { - "DatastoreName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ThingName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Filter": { - "additionalProperties": false, - "properties": { - "Filter": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Lambda": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "LambdaName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.Math": { - "additionalProperties": false, - "properties": { - "Attribute": { - "type": "string" - }, - "Math": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.RemoveAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTAnalytics::Pipeline.SelectAttributes": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Next": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SuiteDefinitionConfiguration": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "SuiteDefinitionConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DetectorModelDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DetectorModelDefinition" - }, - "DetectorModelDescription": { - "type": "string" - }, - "DetectorModelName": { - "type": "string" - }, - "EvaluationMethod": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DetectorModelDefinition", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::DetectorModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Action": { - "additionalProperties": false, - "properties": { - "ClearTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ClearTimer" - }, - "DynamoDB": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDB" - }, - "DynamoDBv2": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.DynamoDBv2" - }, - "Firehose": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Firehose" - }, - "IotEvents": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotEvents" - }, - "IotSiteWise": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotSiteWise" - }, - "IotTopicPublish": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.IotTopicPublish" - }, - "Lambda": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Lambda" - }, - "ResetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.ResetTimer" - }, - "SetTimer": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetTimer" - }, - "SetVariable": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.SetVariable" - }, - "Sns": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sns" - }, - "Sqs": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Sqs" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp": { - "additionalProperties": false, - "properties": { - "OffsetInNanos": { - "type": "string" - }, - "TimeInSeconds": { - "type": "string" - } - }, - "required": [ - "TimeInSeconds" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyValue": { - "additionalProperties": false, - "properties": { - "Quality": { - "type": "string" - }, - "Timestamp": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyTimestamp" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyVariant" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.AssetPropertyVariant": { - "additionalProperties": false, - "properties": { - "BooleanValue": { - "type": "string" - }, - "DoubleValue": { - "type": "string" - }, - "IntegerValue": { - "type": "string" - }, - "StringValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ClearTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": { - "additionalProperties": false, - "properties": { - "InitialStateName": { - "type": "string" - }, - "States": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.State" - }, - "type": "array" - } - }, - "required": [ - "InitialStateName", - "States" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDB": { - "additionalProperties": false, - "properties": { - "HashKeyField": { - "type": "string" - }, - "HashKeyType": { - "type": "string" - }, - "HashKeyValue": { - "type": "string" - }, - "Operation": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "PayloadField": { - "type": "string" - }, - "RangeKeyField": { - "type": "string" - }, - "RangeKeyType": { - "type": "string" - }, - "RangeKeyValue": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "HashKeyField", - "HashKeyValue", - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.DynamoDBv2": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "TableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Event": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - } - }, - "required": [ - "EventName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStreamName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "Separator": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotEvents": { - "additionalProperties": false, - "properties": { - "InputName": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "InputName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotSiteWise": { - "additionalProperties": false, - "properties": { - "AssetId": { - "type": "string" - }, - "EntryId": { - "type": "string" - }, - "PropertyAlias": { - "type": "string" - }, - "PropertyId": { - "type": "string" - }, - "PropertyValue": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.AssetPropertyValue" - } - }, - "required": [ - "PropertyValue" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.IotTopicPublish": { - "additionalProperties": false, - "properties": { - "MqttTopic": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "MqttTopic" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Lambda": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnEnter": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnExit": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.OnInput": { - "additionalProperties": false, - "properties": { - "Events": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Event" - }, - "type": "array" - }, - "TransitionEvents": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.TransitionEvent" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Payload": { - "additionalProperties": false, - "properties": { - "ContentExpression": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "ContentExpression", - "Type" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.ResetTimer": { - "additionalProperties": false, - "properties": { - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetTimer": { - "additionalProperties": false, - "properties": { - "DurationExpression": { - "type": "string" - }, - "Seconds": { - "type": "number" - }, - "TimerName": { - "type": "string" - } - }, - "required": [ - "TimerName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.SetVariable": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - }, - "VariableName": { - "type": "string" - } - }, - "required": [ - "Value", - "VariableName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sns": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "TargetArn" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.Sqs": { - "additionalProperties": false, - "properties": { - "Payload": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Payload" - }, - "QueueUrl": { - "type": "string" - }, - "UseBase64": { - "type": "boolean" - } - }, - "required": [ - "QueueUrl" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.State": { - "additionalProperties": false, - "properties": { - "OnEnter": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnEnter" - }, - "OnExit": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnExit" - }, - "OnInput": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.OnInput" - }, - "StateName": { - "type": "string" - } - }, - "required": [ - "StateName" - ], - "type": "object" - }, - "AWS::IoTEvents::DetectorModel.TransitionEvent": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel.Action" - }, - "type": "array" - }, - "Condition": { - "type": "string" - }, - "EventName": { - "type": "string" - }, - "NextState": { - "type": "string" - } - }, - "required": [ - "Condition", - "EventName", - "NextState" - ], - "type": "object" - }, - "AWS::IoTEvents::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InputDefinition": { - "$ref": "#/definitions/AWS::IoTEvents::Input.InputDefinition" - }, - "InputDescription": { - "type": "string" - }, - "InputName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InputDefinition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTEvents::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.Attribute": { - "additionalProperties": false, - "properties": { - "JsonPath": { - "type": "string" - } - }, - "required": [ - "JsonPath" - ], - "type": "object" - }, - "AWS::IoTEvents::Input.InputDefinition": { - "additionalProperties": false, - "properties": { - "Attributes": { - "items": { - "$ref": "#/definitions/AWS::IoTEvents::Input.Attribute" - }, - "type": "array" - } - }, - "required": [ - "Attributes" - ], - "type": "object" - }, - "AWS::IoTFleetHub::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ApplicationName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTFleetHub::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessPolicyIdentity": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity" - }, - "AccessPolicyPermission": { - "type": "string" - }, - "AccessPolicyResource": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource" - } - }, - "required": [ - "AccessPolicyIdentity", - "AccessPolicyPermission", - "AccessPolicyResource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AccessPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyIdentity": { - "additionalProperties": false, - "properties": { - "IamRole": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamRole" - }, - "IamUser": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.IamUser" - }, - "User": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.User" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.AccessPolicyResource": { - "additionalProperties": false, - "properties": { - "Portal": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Portal" - }, - "Project": { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy.Project" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamRole": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.IamUser": { - "additionalProperties": false, - "properties": { - "arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Portal": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.Project": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AccessPolicy.User": { - "additionalProperties": false, - "properties": { - "id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetHierarchy" - }, - "type": "array" - }, - "AssetModelId": { - "type": "string" - }, - "AssetName": { - "type": "string" - }, - "AssetProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset.AssetProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelId", - "AssetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - } - }, - "required": [ - "ChildAssetId", - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Asset.AssetProperty": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "NotificationState": { - "type": "string" - } - }, - "required": [ - "LogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssetModelCompositeModels": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel" - }, - "type": "array" - }, - "AssetModelDescription": { - "type": "string" - }, - "AssetModelHierarchies": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelHierarchy" - }, - "type": "array" - }, - "AssetModelName": { - "type": "string" - }, - "AssetModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AssetModelName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::AssetModel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelCompositeModel": { - "additionalProperties": false, - "properties": { - "CompositeModelProperties": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.AssetModelProperty" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelHierarchy": { - "additionalProperties": false, - "properties": { - "ChildAssetModelId": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "ChildAssetModelId", - "LogicalId", - "Name" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.AssetModelProperty": { - "additionalProperties": false, - "properties": { - "DataType": { - "type": "string" - }, - "DataTypeSpec": { - "type": "string" - }, - "LogicalId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.PropertyType" - }, - "Unit": { - "type": "string" - } - }, - "required": [ - "DataType", - "LogicalId", - "Name", - "Type" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Attribute": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.ExpressionVariable": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.VariableValue" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Metric": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - }, - "Window": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.MetricWindow" - } - }, - "required": [ - "Expression", - "Variables", - "Window" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.MetricWindow": { - "additionalProperties": false, - "properties": { - "Tumbling": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.TumblingWindow" - } - }, - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.PropertyType": { - "additionalProperties": false, - "properties": { - "Attribute": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Attribute" - }, - "Metric": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Metric" - }, - "Transform": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.Transform" - }, - "TypeName": { - "type": "string" - } - }, - "required": [ - "TypeName" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.Transform": { - "additionalProperties": false, - "properties": { - "Expression": { - "type": "string" - }, - "Variables": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel.ExpressionVariable" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "Variables" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.TumblingWindow": { - "additionalProperties": false, - "properties": { - "Interval": { - "type": "string" - }, - "Offset": { - "type": "string" - } - }, - "required": [ - "Interval" - ], - "type": "object" - }, - "AWS::IoTSiteWise::AssetModel.VariableValue": { - "additionalProperties": false, - "properties": { - "HierarchyLogicalId": { - "type": "string" - }, - "PropertyLogicalId": { - "type": "string" - } - }, - "required": [ - "PropertyLogicalId" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DashboardDefinition": { - "type": "string" - }, - "DashboardDescription": { - "type": "string" - }, - "DashboardName": { - "type": "string" - }, - "ProjectId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DashboardDefinition", - "DashboardDescription", - "DashboardName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GatewayCapabilitySummaries": { - "items": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary" - }, - "type": "array" - }, - "GatewayName": { - "type": "string" - }, - "GatewayPlatform": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.GatewayPlatform" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GatewayName", - "GatewayPlatform" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Gateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayCapabilitySummary": { - "additionalProperties": false, - "properties": { - "CapabilityConfiguration": { - "type": "string" - }, - "CapabilityNamespace": { - "type": "string" - } - }, - "required": [ - "CapabilityNamespace" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.GatewayPlatform": { - "additionalProperties": false, - "properties": { - "Greengrass": { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway.Greengrass" - } - }, - "required": [ - "Greengrass" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Gateway.Greengrass": { - "additionalProperties": false, - "properties": { - "GroupArn": { - "type": "string" - } - }, - "required": [ - "GroupArn" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Portal": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alarms": { - "type": "object" - }, - "NotificationSenderEmail": { - "type": "string" - }, - "PortalAuthMode": { - "type": "string" - }, - "PortalContactEmail": { - "type": "string" - }, - "PortalDescription": { - "type": "string" - }, - "PortalName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalContactEmail", - "PortalName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Portal" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTSiteWise::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PortalId": { - "type": "string" - }, - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PortalId", - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTSiteWise::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleNamespaceVersion": { - "type": "number" - }, - "Definition": { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument" - } - }, - "required": [ - "Definition" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTThingsGraph::FlowTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": { - "additionalProperties": false, - "properties": { - "Language": { - "type": "string" - }, - "Text": { - "type": "string" - } - }, - "required": [ - "Language", - "Text" - ], - "type": "object" - }, - "AWS::IoTWireless::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Expression": { - "type": "string" - }, - "ExpressionType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Expression", - "ExpressionType", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::DeviceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::DeviceProfile.LoRaWANDeviceProfile": { - "additionalProperties": false, - "properties": { - "ClassBTimeout": { - "type": "number" - }, - "ClassCTimeout": { - "type": "number" - }, - "MacVersion": { - "type": "string" - }, - "MaxDutyCycle": { - "type": "number" - }, - "MaxEirp": { - "type": "number" - }, - "PingSlotDr": { - "type": "number" - }, - "PingSlotFreq": { - "type": "number" - }, - "PingSlotPeriod": { - "type": "number" - }, - "RegParamsRevision": { - "type": "string" - }, - "RfRegion": { - "type": "string" - }, - "Supports32BitFCnt": { - "type": "boolean" - }, - "SupportsClassB": { - "type": "boolean" - }, - "SupportsClassC": { - "type": "boolean" - }, - "SupportsJoin": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccountLinked": { - "type": "boolean" - }, - "Fingerprint": { - "type": "string" - }, - "PartnerAccountId": { - "type": "string" - }, - "PartnerType": { - "type": "string" - }, - "Sidewalk": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo" - }, - "SidewalkUpdate": { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::PartnerAccount" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkAccountInfo": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "required": [ - "AppServerPrivateKey" - ], - "type": "object" - }, - "AWS::IoTWireless::PartnerAccount.SidewalkUpdateAccount": { - "additionalProperties": false, - "properties": { - "AppServerPrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::ServiceProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::IoTWireless::ServiceProfile.LoRaWANServiceProfile": { - "additionalProperties": false, - "properties": { - "AddGwMetadata": { - "type": "boolean" - }, - "ChannelMask": { - "type": "string" - }, - "DevStatusReqFreq": { - "type": "number" - }, - "DlBucketSize": { - "type": "number" - }, - "DlRate": { - "type": "number" - }, - "DlRatePolicy": { - "type": "string" - }, - "DrMax": { - "type": "number" - }, - "DrMin": { - "type": "number" - }, - "HrAllowed": { - "type": "boolean" - }, - "MinGwDiversity": { - "type": "number" - }, - "NwkGeoLoc": { - "type": "boolean" - }, - "PrAllowed": { - "type": "boolean" - }, - "RaAllowed": { - "type": "boolean" - }, - "ReportDevStatusBattery": { - "type": "boolean" - }, - "ReportDevStatusMargin": { - "type": "boolean" - }, - "TargetPer": { - "type": "number" - }, - "UlBucketSize": { - "type": "number" - }, - "UlRate": { - "type": "number" - }, - "UlRatePolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AutoCreateTasks": { - "type": "boolean" - }, - "LoRaWANUpdateGatewayTaskEntry": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TaskDefinitionType": { - "type": "string" - }, - "Update": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate" - } - }, - "required": [ - "AutoCreateTasks" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::TaskDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion": { - "additionalProperties": false, - "properties": { - "Model": { - "type": "string" - }, - "PackageVersion": { - "type": "string" - }, - "Station": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "SigKeyCrc": { - "type": "number" - }, - "UpdateSignature": { - "type": "string" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskEntry": { - "additionalProperties": false, - "properties": { - "CurrentVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - }, - "UpdateVersion": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANGatewayVersion" - } - }, - "type": "object" - }, - "AWS::IoTWireless::TaskDefinition.UpdateWirelessGatewayTaskCreate": { - "additionalProperties": false, - "properties": { - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition.LoRaWANUpdateGatewayTaskCreate" - }, - "UpdateDataRole": { - "type": "string" - }, - "UpdateDataSource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DestinationName": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.LoRaWANDevice" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessDevice" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV10x": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.AbpV11": { - "additionalProperties": false, - "properties": { - "DevAddr": { - "type": "string" - }, - "SessionKeys": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11" - } - }, - "required": [ - "DevAddr", - "SessionKeys" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.LoRaWANDevice": { - "additionalProperties": false, - "properties": { - "AbpV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV10x" - }, - "AbpV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.AbpV11" - }, - "DevEui": { - "type": "string" - }, - "DeviceProfileId": { - "type": "string" - }, - "OtaaV10x": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV10x" - }, - "OtaaV11": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice.OtaaV11" - }, - "ServiceProfileId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV10x": { - "additionalProperties": false, - "properties": { - "AppEui": { - "type": "string" - }, - "AppKey": { - "type": "string" - } - }, - "required": [ - "AppEui", - "AppKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.OtaaV11": { - "additionalProperties": false, - "properties": { - "AppKey": { - "type": "string" - }, - "JoinEui": { - "type": "string" - }, - "NwkKey": { - "type": "string" - } - }, - "required": [ - "AppKey", - "JoinEui", - "NwkKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV10x": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "NwkSKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "NwkSKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessDevice.SessionKeysAbpV11": { - "additionalProperties": false, - "properties": { - "AppSKey": { - "type": "string" - }, - "FNwkSIntKey": { - "type": "string" - }, - "NwkSEncKey": { - "type": "string" - }, - "SNwkSIntKey": { - "type": "string" - } - }, - "required": [ - "AppSKey", - "FNwkSIntKey", - "NwkSEncKey", - "SNwkSIntKey" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LastUplinkReceivedAt": { - "type": "string" - }, - "LoRaWAN": { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway.LoRaWANGateway" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThingArn": { - "type": "string" - } - }, - "required": [ - "LoRaWAN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::IoTWireless::WirelessGateway" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::IoTWireless::WirelessGateway.LoRaWANGateway": { - "additionalProperties": false, - "properties": { - "GatewayEui": { - "type": "string" - }, - "RfRegion": { - "type": "string" - } - }, - "required": [ - "GatewayEui", - "RfRegion" - ], - "type": "object" - }, - "AWS::KMS::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasName": { - "type": "string" - }, - "TargetKeyId": { - "type": "string" - } - }, - "required": [ - "AliasName", - "TargetKeyId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::Key": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EnableKeyRotation": { - "type": "boolean" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "KeySpec": { - "type": "string" - }, - "KeyUsage": { - "type": "string" - }, - "MultiRegion": { - "type": "boolean" - }, - "PendingWindowInDays": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::Key" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KMS::ReplicaKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "KeyPolicy": { - "type": "object" - }, - "PendingWindowInDays": { - "type": "number" - }, - "PrimaryKeyArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "KeyPolicy", - "PrimaryKeyArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KMS::ReplicaKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "IndexId", - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.AccessControlListConfiguration": { - "additionalProperties": false, - "properties": { - "KeyPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.AclConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedGroupsColumnName": { - "type": "string" - } - }, - "required": [ - "AllowedGroupsColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ColumnConfiguration": { - "additionalProperties": false, - "properties": { - "ChangeDetectingColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DocumentDataColumnName": { - "type": "string" - }, - "DocumentIdColumnName": { - "type": "string" - }, - "DocumentTitleColumnName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "ChangeDetectingColumns", - "DocumentDataColumnName", - "DocumentIdColumnName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping" - }, - "type": "array" - }, - "CrawlAttachments": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceAttachmentToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogConfiguration": { - "additionalProperties": false, - "properties": { - "BlogFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceBlogToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceConfiguration": { - "additionalProperties": false, - "properties": { - "AttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceAttachmentConfiguration" - }, - "BlogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceBlogConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PageConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "SpaceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceConfiguration" - }, - "Version": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "ServerUrl", - "Version" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageConfiguration": { - "additionalProperties": false, - "properties": { - "PageFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluencePageToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlArchivedSpaces": { - "type": "boolean" - }, - "CrawlPersonalSpaces": { - "type": "boolean" - }, - "ExcludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeSpaces": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SpaceFieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.ConfluenceSpaceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ConnectionConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "SecretArn": { - "type": "string" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "SecretArn", - "TableName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "ConfluenceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConfluenceConfiguration" - }, - "DatabaseConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DatabaseConfiguration" - }, - "GoogleDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.GoogleDriveConfiguration" - }, - "OneDriveConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveConfiguration" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3DataSourceConfiguration" - }, - "SalesforceConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceConfiguration" - }, - "ServiceNowConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowConfiguration" - }, - "SharePointConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SharePointConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceToIndexFieldMapping": { - "additionalProperties": false, - "properties": { - "DataSourceFieldName": { - "type": "string" - }, - "DateFieldFormat": { - "type": "string" - }, - "IndexFieldName": { - "type": "string" - } - }, - "required": [ - "DataSourceFieldName", - "IndexFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DataSourceVpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DatabaseConfiguration": { - "additionalProperties": false, - "properties": { - "AclConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AclConfiguration" - }, - "ColumnConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ColumnConfiguration" - }, - "ConnectionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ConnectionConfiguration" - }, - "DatabaseEngineType": { - "type": "string" - }, - "SqlConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SqlConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "ColumnConfiguration", - "ConnectionConfiguration", - "DatabaseEngineType" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.DocumentsMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "S3Prefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.GoogleDriveConfiguration": { - "additionalProperties": false, - "properties": { - "ExcludeMimeTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeSharedDrives": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExcludeUserAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "SecretArn" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveConfiguration": { - "additionalProperties": false, - "properties": { - "DisableLocalGroups": { - "type": "boolean" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUsers": { - "$ref": "#/definitions/AWS::Kendra::DataSource.OneDriveUsers" - }, - "SecretArn": { - "type": "string" - }, - "TenantDomain": { - "type": "string" - } - }, - "required": [ - "OneDriveUsers", - "SecretArn", - "TenantDomain" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.OneDriveUsers": { - "additionalProperties": false, - "properties": { - "OneDriveUserList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OneDriveUserS3Path": { - "$ref": "#/definitions/AWS::Kendra::DataSource.S3Path" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.S3DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "AccessControlListConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.AccessControlListConfiguration" - }, - "BucketName": { - "type": "string" - }, - "DocumentsMetadataConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DocumentsMetadataConfiguration" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InclusionPrefixes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeFilterTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceConfiguration": { - "additionalProperties": false, - "properties": { - "ChatterFeedConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceChatterFeedConfiguration" - }, - "CrawlAttachments": { - "type": "boolean" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServerUrl": { - "type": "string" - }, - "StandardObjectAttachmentConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration" - }, - "StandardObjectConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SecretArn", - "ServerUrl" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CustomKnowledgeArticleTypeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceCustomKnowledgeArticleTypeConfiguration" - }, - "type": "array" - }, - "IncludedStates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StandardKnowledgeArticleTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration" - } - }, - "required": [ - "IncludedStates" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardKnowledgeArticleTypeConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectAttachmentConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::DataSource.SalesforceStandardObjectConfiguration": { - "additionalProperties": false, - "properties": { - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DocumentDataFieldName", - "Name" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowConfiguration": { - "additionalProperties": false, - "properties": { - "HostUrl": { - "type": "string" - }, - "KnowledgeArticleConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration" - }, - "SecretArn": { - "type": "string" - }, - "ServiceCatalogConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration" - }, - "ServiceNowBuildVersion": { - "type": "string" - } - }, - "required": [ - "HostUrl", - "SecretArn", - "ServiceNowBuildVersion" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowKnowledgeArticleConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.ServiceNowServiceCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DocumentDataFieldName": { - "type": "string" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExcludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "IncludeAttachmentFilePatterns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DocumentDataFieldName" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SharePointConfiguration": { - "additionalProperties": false, - "properties": { - "CrawlAttachments": { - "type": "boolean" - }, - "DisableLocalGroups": { - "type": "boolean" - }, - "DocumentTitleFieldName": { - "type": "string" - }, - "ExclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FieldMappings": { - "items": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceToIndexFieldMapping" - }, - "type": "array" - }, - "InclusionPatterns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecretArn": { - "type": "string" - }, - "SharePointVersion": { - "type": "string" - }, - "Urls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "UseChangeLog": { - "type": "boolean" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::Kendra::DataSource.DataSourceVpcConfiguration" - } - }, - "required": [ - "SecretArn", - "SharePointVersion", - "Urls" - ], - "type": "object" - }, - "AWS::Kendra::DataSource.SqlConfiguration": { - "additionalProperties": false, - "properties": { - "QueryIdentifiersEnclosingOption": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Faq": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FileFormat": { - "type": "string" - }, - "IndexId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "S3Path": { - "$ref": "#/definitions/AWS::Kendra::Faq.S3Path" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IndexId", - "Name", - "RoleArn", - "S3Path" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Faq" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Faq.S3Path": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::Kendra::Index": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CapacityUnits": { - "$ref": "#/definitions/AWS::Kendra::Index.CapacityUnitsConfiguration" - }, - "Description": { - "type": "string" - }, - "DocumentMetadataConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.DocumentMetadataConfiguration" - }, - "type": "array" - }, - "Edition": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideEncryptionConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.ServerSideEncryptionConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserContextPolicy": { - "type": "string" - }, - "UserTokenConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.UserTokenConfiguration" - }, - "type": "array" - } - }, - "required": [ - "Edition", - "Name", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kendra::Index" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kendra::Index.CapacityUnitsConfiguration": { - "additionalProperties": false, - "properties": { - "QueryCapacityUnits": { - "type": "number" - }, - "StorageCapacityUnits": { - "type": "number" - } - }, - "required": [ - "QueryCapacityUnits", - "StorageCapacityUnits" - ], - "type": "object" - }, - "AWS::Kendra::Index.DocumentMetadataConfiguration": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Relevance": { - "$ref": "#/definitions/AWS::Kendra::Index.Relevance" - }, - "Search": { - "$ref": "#/definitions/AWS::Kendra::Index.Search" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Kendra::Index.JsonTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "GroupAttributeField": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "GroupAttributeField", - "UserNameAttributeField" - ], - "type": "object" - }, - "AWS::Kendra::Index.JwtTokenTypeConfiguration": { - "additionalProperties": false, - "properties": { - "ClaimRegex": { - "type": "string" - }, - "GroupAttributeField": { - "type": "string" - }, - "Issuer": { - "type": "string" - }, - "KeyLocation": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "URL": { - "type": "string" - }, - "UserNameAttributeField": { - "type": "string" - } - }, - "required": [ - "KeyLocation" - ], - "type": "object" - }, - "AWS::Kendra::Index.Relevance": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "Freshness": { - "type": "boolean" - }, - "Importance": { - "type": "number" - }, - "RankOrder": { - "type": "string" - }, - "ValueImportanceItems": { - "items": { - "$ref": "#/definitions/AWS::Kendra::Index.ValueImportanceItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.Search": { - "additionalProperties": false, - "properties": { - "Displayable": { - "type": "boolean" - }, - "Facetable": { - "type": "boolean" - }, - "Searchable": { - "type": "boolean" - }, - "Sortable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ServerSideEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.UserTokenConfiguration": { - "additionalProperties": false, - "properties": { - "JsonTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JsonTokenTypeConfiguration" - }, - "JwtTokenTypeConfiguration": { - "$ref": "#/definitions/AWS::Kendra::Index.JwtTokenTypeConfiguration" - } - }, - "type": "object" - }, - "AWS::Kendra::Index.ValueImportanceItem": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Kinesis::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RetentionPeriodHours": { - "type": "number" - }, - "ShardCount": { - "type": "number" - }, - "StreamEncryption": { - "$ref": "#/definitions/AWS::Kinesis::Stream.StreamEncryption" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ShardCount" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Kinesis::Stream.StreamEncryption": { - "additionalProperties": false, - "properties": { - "EncryptionType": { - "type": "string" - }, - "KeyId": { - "type": "string" - } - }, - "required": [ - "EncryptionType", - "KeyId" - ], - "type": "object" - }, - "AWS::Kinesis::StreamConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerName": { - "type": "string" - }, - "StreamARN": { - "type": "string" - } - }, - "required": [ - "ConsumerName", - "StreamARN" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Kinesis::StreamConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationCode": { - "type": "string" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.Input" - }, - "type": "array" - } - }, - "required": [ - "Inputs" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalytics::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ReferenceRoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey", - "ReferenceRoleARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration" - }, - "ApplicationDescription": { - "type": "string" - }, - "ApplicationMode": { - "type": "string" - }, - "ApplicationName": { - "type": "string" - }, - "RuntimeEnvironment": { - "type": "string" - }, - "ServiceExecutionRole": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RuntimeEnvironment", - "ServiceExecutionRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": { - "additionalProperties": false, - "properties": { - "CodeContent": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CodeContent" - }, - "CodeContentType": { - "type": "string" - } - }, - "required": [ - "CodeContent", - "CodeContentType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "ApplicationCodeConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration" - }, - "ApplicationSnapshotConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration" - }, - "EnvironmentProperties": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.EnvironmentProperties" - }, - "FlinkApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration" - }, - "SqlApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration" - }, - "ZeppelinApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": { - "additionalProperties": false, - "properties": { - "SnapshotsEnabled": { - "type": "boolean" - } - }, - "required": [ - "SnapshotsEnabled" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CatalogConfiguration": { - "additionalProperties": false, - "properties": { - "GlueDataCatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointInterval": { - "type": "number" - }, - "CheckpointingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "MinPauseBetweenCheckpoints": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CodeContent": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - }, - "TextContent": { - "type": "string" - }, - "ZipFileContent": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactConfiguration": { - "additionalProperties": false, - "properties": { - "ArtifactType": { - "type": "string" - }, - "MavenReference": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MavenReference" - }, - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentLocation" - } - }, - "required": [ - "ArtifactType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "S3ContentLocation": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation" - } - }, - "required": [ - "S3ContentLocation" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": { - "additionalProperties": false, - "properties": { - "PropertyGroups": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.PropertyGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CheckpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration" - }, - "ParallelismConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.GlueDataCatalogConfiguration": { - "additionalProperties": false, - "properties": { - "DatabaseARN": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.Input": { - "additionalProperties": false, - "properties": { - "InputParallelism": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputParallelism" - }, - "InputProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration" - }, - "InputSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputSchema" - }, - "KinesisFirehoseInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput" - }, - "KinesisStreamsInput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput" - }, - "NamePrefix": { - "type": "string" - } - }, - "required": [ - "InputSchema", - "NamePrefix" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputParallelism": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "InputLambdaProcessor": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.InputSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MavenReference": { - "additionalProperties": false, - "properties": { - "ArtifactId": { - "type": "string" - }, - "GroupId": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "ArtifactId", - "GroupId", - "Version" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "ConfigurationType": { - "type": "string" - }, - "LogLevel": { - "type": "string" - }, - "MetricsLevel": { - "type": "string" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": { - "additionalProperties": false, - "properties": { - "AutoScalingEnabled": { - "type": "boolean" - }, - "ConfigurationType": { - "type": "string" - }, - "Parallelism": { - "type": "number" - }, - "ParallelismPerKPU": { - "type": "number" - } - }, - "required": [ - "ConfigurationType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.PropertyGroup": { - "additionalProperties": false, - "properties": { - "PropertyGroupId": { - "type": "string" - }, - "PropertyMap": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentBaseLocation": { - "additionalProperties": false, - "properties": { - "BasePath": { - "type": "string" - }, - "BucketARN": { - "type": "string" - } - }, - "required": [ - "BasePath", - "BucketARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - }, - "ObjectVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Inputs": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.Input" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinApplicationConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CatalogConfiguration" - }, - "CustomArtifactsConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.CustomArtifactsConfiguration" - }, - "DeployAsApplicationConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.DeployAsApplicationConfiguration" - }, - "MonitoringConfiguration": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::Application.ZeppelinMonitoringConfiguration": { - "additionalProperties": false, - "properties": { - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "CloudWatchLoggingOption": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption" - } - }, - "required": [ - "ApplicationName", - "CloudWatchLoggingOption" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": { - "additionalProperties": false, - "properties": { - "LogStreamARN": { - "type": "string" - } - }, - "required": [ - "LogStreamARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "Output": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.Output" - } - }, - "required": [ - "ApplicationName", - "Output" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": { - "additionalProperties": false, - "properties": { - "RecordFormatType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": { - "additionalProperties": false, - "properties": { - "ResourceARN": { - "type": "string" - } - }, - "required": [ - "ResourceARN" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": { - "additionalProperties": false, - "properties": { - "DestinationSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema" - }, - "KinesisFirehoseOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput" - }, - "KinesisStreamsOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput" - }, - "LambdaOutput": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "DestinationSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationName": { - "type": "string" - }, - "ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource" - } - }, - "required": [ - "ApplicationName", - "ReferenceDataSource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordColumnDelimiter": { - "type": "string" - }, - "RecordRowDelimiter": { - "type": "string" - } - }, - "required": [ - "RecordColumnDelimiter", - "RecordRowDelimiter" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": { - "additionalProperties": false, - "properties": { - "RecordRowPath": { - "type": "string" - } - }, - "required": [ - "RecordRowPath" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": { - "additionalProperties": false, - "properties": { - "CSVMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters" - }, - "JSONMappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters" - } - }, - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": { - "additionalProperties": false, - "properties": { - "Mapping": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlType": { - "type": "string" - } - }, - "required": [ - "Name", - "SqlType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": { - "additionalProperties": false, - "properties": { - "MappingParameters": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters" - }, - "RecordFormatType": { - "type": "string" - } - }, - "required": [ - "RecordFormatType" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "ReferenceSchema": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema" - }, - "S3ReferenceDataSource": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource" - }, - "TableName": { - "type": "string" - } - }, - "required": [ - "ReferenceSchema" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": { - "additionalProperties": false, - "properties": { - "RecordColumns": { - "items": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn" - }, - "type": "array" - }, - "RecordEncoding": { - "type": "string" - }, - "RecordFormat": { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat" - } - }, - "required": [ - "RecordColumns", - "RecordFormat" - ], - "type": "object" - }, - "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "FileKey": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "FileKey" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryStreamEncryptionConfigurationInput": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput" - }, - "DeliveryStreamName": { - "type": "string" - }, - "DeliveryStreamType": { - "type": "string" - }, - "ElasticsearchDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration" - }, - "ExtendedS3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration" - }, - "HttpEndpointDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration" - }, - "KinesisStreamSourceConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration" - }, - "RedshiftDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration" - }, - "S3DestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "SplunkDestinationConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::KinesisFirehose::DeliveryStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.BufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.CopyCommand": { - "additionalProperties": false, - "properties": { - "CopyOptions": { - "type": "string" - }, - "DataTableColumns": { - "type": "string" - }, - "DataTableName": { - "type": "string" - } - }, - "required": [ - "DataTableName" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "InputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration" - }, - "OutputFormatConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration" - }, - "SchemaConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.DeliveryStreamEncryptionConfigurationInput": { - "additionalProperties": false, - "properties": { - "KeyARN": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Deserializer": { - "additionalProperties": false, - "properties": { - "HiveJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe" - }, - "OpenXJsonSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": { - "additionalProperties": false, - "properties": { - "IntervalInSeconds": { - "type": "number" - }, - "SizeInMBs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterEndpoint": { - "type": "string" - }, - "DomainARN": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "IndexRotationPeriod": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "TypeName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.VpcConfiguration" - } - }, - "required": [ - "IndexName", - "RoleARN", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KMSEncryptionConfig": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig" - }, - "NoEncryptionConfig": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "DataFormatConversionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": { - "additionalProperties": false, - "properties": { - "TimestampFormats": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute": { - "additionalProperties": false, - "properties": { - "AttributeName": { - "type": "string" - }, - "AttributeValue": { - "type": "string" - } - }, - "required": [ - "AttributeName", - "AttributeValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration": { - "additionalProperties": false, - "properties": { - "AccessKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Url" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "EndpointConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointConfiguration" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RequestConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "EndpointConfiguration", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.HttpEndpointRequestConfiguration": { - "additionalProperties": false, - "properties": { - "CommonAttributes": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.HttpEndpointCommonAttribute" - }, - "type": "array" - }, - "ContentEncoding": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Deserializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Deserializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": { - "additionalProperties": false, - "properties": { - "AWSKMSKeyARN": { - "type": "string" - } - }, - "required": [ - "AWSKMSKeyARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": { - "additionalProperties": false, - "properties": { - "KinesisStreamARN": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "KinesisStreamARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": { - "additionalProperties": false, - "properties": { - "CaseInsensitive": { - "type": "boolean" - }, - "ColumnToJsonKeyMappings": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ConvertDotsInJsonKeysToUnderscores": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "BloomFilterColumns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BloomFilterFalsePositiveProbability": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "DictionaryKeyThreshold": { - "type": "number" - }, - "EnablePadding": { - "type": "boolean" - }, - "FormatVersion": { - "type": "string" - }, - "PaddingTolerance": { - "type": "number" - }, - "RowIndexStride": { - "type": "number" - }, - "StripeSizeBytes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": { - "additionalProperties": false, - "properties": { - "Serializer": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Serializer" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": { - "additionalProperties": false, - "properties": { - "BlockSizeBytes": { - "type": "number" - }, - "Compression": { - "type": "string" - }, - "EnableDictionaryCompression": { - "type": "boolean" - }, - "MaxPaddingBytes": { - "type": "number" - }, - "PageSizeBytes": { - "type": "number" - }, - "WriterVersion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "Processors": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.Processor" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Processor": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessorParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "ClusterJDBCURL": { - "type": "string" - }, - "CopyCommand": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CopyCommand" - }, - "Password": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions" - }, - "RoleARN": { - "type": "string" - }, - "S3BackupConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "ClusterJDBCURL", - "CopyCommand", - "Password", - "RoleARN", - "S3Configuration", - "Username" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RedshiftRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.RetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": { - "additionalProperties": false, - "properties": { - "BucketARN": { - "type": "string" - }, - "BufferingHints": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.BufferingHints" - }, - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "CompressionFormat": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration" - }, - "ErrorOutputPrefix": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "RoleARN": { - "type": "string" - } - }, - "required": [ - "BucketARN", - "RoleARN" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "RoleARN": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VersionId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.Serializer": { - "additionalProperties": false, - "properties": { - "OrcSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.OrcSerDe" - }, - "ParquetSerDe": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ParquetSerDe" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLoggingOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions" - }, - "HECAcknowledgmentTimeoutInSeconds": { - "type": "number" - }, - "HECEndpoint": { - "type": "string" - }, - "HECEndpointType": { - "type": "string" - }, - "HECToken": { - "type": "string" - }, - "ProcessingConfiguration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration" - }, - "RetryOptions": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions" - }, - "S3BackupMode": { - "type": "string" - }, - "S3Configuration": { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration" - } - }, - "required": [ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" - ], - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::KinesisFirehose::DeliveryStream.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "RoleARN": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "RoleARN", - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Admins": { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings.Admins" - }, - "TrustedResourceOwners": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::DataLakeSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.Admins": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataLakePrincipal": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLakePrincipal" - }, - "Permissions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PermissionsWithGrantOption": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Resource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.Resource" - } - }, - "required": [ - "DataLakePrincipal", - "Resource" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Permissions" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LakeFormation::Permissions.ColumnWildcard": { - "additionalProperties": false, - "properties": { - "ExcludedColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLakePrincipal": { - "additionalProperties": false, - "properties": { - "DataLakePrincipalIdentifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DataLocationResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "S3Resource": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.DatabaseResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.Resource": { - "additionalProperties": false, - "properties": { - "DataLocationResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DataLocationResource" - }, - "DatabaseResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.DatabaseResource" - }, - "TableResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableResource" - }, - "TableWithColumnsResource": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWithColumnsResource" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "TableWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.TableWildcard" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWildcard": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::LakeFormation::Permissions.TableWithColumnsResource": { - "additionalProperties": false, - "properties": { - "CatalogId": { - "type": "string" - }, - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ColumnWildcard": { - "$ref": "#/definitions/AWS::LakeFormation::Permissions.ColumnWildcard" - }, - "DatabaseName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LakeFormation::Resource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "UseServiceLinkedRole": { - "type": "boolean" - } - }, - "required": [ - "ResourceArn", - "UseServiceLinkedRole" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LakeFormation::Resource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration" - }, - "RoutingConfig": { - "$ref": "#/definitions/AWS::Lambda::Alias.AliasRoutingConfiguration" - } - }, - "required": [ - "FunctionName", - "FunctionVersion", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Alias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Alias.AliasRoutingConfiguration": { - "additionalProperties": false, - "properties": { - "AdditionalVersionWeights": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Alias.VersionWeight" - }, - "type": "array" - } - }, - "required": [ - "AdditionalVersionWeights" - ], - "type": "object" - }, - "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::Lambda::Alias.VersionWeight": { - "additionalProperties": false, - "properties": { - "FunctionVersion": { - "type": "string" - }, - "FunctionWeight": { - "type": "number" - } - }, - "required": [ - "FunctionVersion", - "FunctionWeight" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPublishers": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.AllowedPublishers" - }, - "CodeSigningPolicies": { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig.CodeSigningPolicies" - }, - "Description": { - "type": "string" - } - }, - "required": [ - "AllowedPublishers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::CodeSigningConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.AllowedPublishers": { - "additionalProperties": false, - "properties": { - "SigningProfileVersionArns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SigningProfileVersionArns" - ], - "type": "object" - }, - "AWS::Lambda::CodeSigningConfig.CodeSigningPolicies": { - "additionalProperties": false, - "properties": { - "UntrustedArtifactOnDeployment": { - "type": "string" - } - }, - "required": [ - "UntrustedArtifactOnDeployment" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.DestinationConfig" - }, - "FunctionName": { - "type": "string" - }, - "MaximumEventAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "Qualifier": { - "type": "string" - } - }, - "required": [ - "FunctionName", - "Qualifier" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventInvokeConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnFailure" - }, - "OnSuccess": { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig.OnSuccess" - } - }, - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventInvokeConfig.OnSuccess": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "required": [ - "Destination" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BatchSize": { - "type": "number" - }, - "BisectBatchOnFunctionError": { - "type": "boolean" - }, - "DestinationConfig": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.DestinationConfig" - }, - "Enabled": { - "type": "boolean" - }, - "EventSourceArn": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "FunctionResponseTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumBatchingWindowInSeconds": { - "type": "number" - }, - "MaximumRecordAgeInSeconds": { - "type": "number" - }, - "MaximumRetryAttempts": { - "type": "number" - }, - "ParallelizationFactor": { - "type": "number" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SelfManagedEventSource": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SelfManagedEventSource" - }, - "SourceAccessConfigurations": { - "items": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.SourceAccessConfiguration" - }, - "type": "array" - }, - "StartingPosition": { - "type": "string" - }, - "StartingPositionTimestamp": { - "type": "number" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TumblingWindowInSeconds": { - "type": "number" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::EventSourceMapping" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.DestinationConfig": { - "additionalProperties": false, - "properties": { - "OnFailure": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.OnFailure" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.Endpoints": { - "additionalProperties": false, - "properties": { - "KafkaBootstrapServers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.OnFailure": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SelfManagedEventSource": { - "additionalProperties": false, - "properties": { - "Endpoints": { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping.Endpoints" - } - }, - "type": "object" - }, - "AWS::Lambda::EventSourceMapping.SourceAccessConfiguration": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "URI": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Code": { - "$ref": "#/definitions/AWS::Lambda::Function.Code" - }, - "CodeSigningConfigArn": { - "type": "string" - }, - "DeadLetterConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.DeadLetterConfig" - }, - "Description": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::Lambda::Function.Environment" - }, - "FileSystemConfigs": { - "items": { - "$ref": "#/definitions/AWS::Lambda::Function.FileSystemConfig" - }, - "type": "array" - }, - "FunctionName": { - "type": "string" - }, - "Handler": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.ImageConfig" - }, - "KmsKeyArn": { - "type": "string" - }, - "Layers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MemorySize": { - "type": "number" - }, - "PackageType": { - "type": "string" - }, - "ReservedConcurrentExecutions": { - "type": "number" - }, - "Role": { - "type": "string" - }, - "Runtime": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timeout": { - "type": "number" - }, - "TracingConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.TracingConfig" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::Lambda::Function.VpcConfig" - } - }, - "required": [ - "Code", - "Role" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Function" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Function.Code": { - "additionalProperties": false, - "properties": { - "ImageUri": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "ZipFile": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.DeadLetterConfig": { - "additionalProperties": false, - "properties": { - "TargetArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.Environment": { - "additionalProperties": false, - "properties": { - "Variables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "LocalMountPath": { - "type": "string" - } - }, - "required": [ - "Arn", - "LocalMountPath" - ], - "type": "object" - }, - "AWS::Lambda::Function.ImageConfig": { - "additionalProperties": false, - "properties": { - "Command": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EntryPoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WorkingDirectory": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.TracingConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Lambda::Function.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Lambda::LayerVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CompatibleRuntimes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Content": { - "$ref": "#/definitions/AWS::Lambda::LayerVersion.Content" - }, - "Description": { - "type": "string" - }, - "LayerName": { - "type": "string" - }, - "LicenseInfo": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersion.Content": { - "additionalProperties": false, - "properties": { - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::Lambda::LayerVersionPermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "LayerVersionArn": { - "type": "string" - }, - "OrganizationId": { - "type": "string" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Action", - "LayerVersionArn", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::LayerVersionPermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Permission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "EventSourceToken": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "SourceAccount": { - "type": "string" - }, - "SourceArn": { - "type": "string" - } - }, - "required": [ - "Action", - "FunctionName", - "Principal" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Permission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeSha256": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FunctionName": { - "type": "string" - }, - "ProvisionedConcurrencyConfig": { - "$ref": "#/definitions/AWS::Lambda::Version.ProvisionedConcurrencyConfiguration" - } - }, - "required": [ - "FunctionName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Lambda::Version" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": { - "additionalProperties": false, - "properties": { - "ProvisionedConcurrentExecutions": { - "type": "number" - } - }, - "required": [ - "ProvisionedConcurrentExecutions" - ], - "type": "object" - }, - "AWS::LicenseManager::Grant": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedOperations": { - "items": { - "type": "string" - }, - "type": "array" - }, - "GrantName": { - "type": "string" - }, - "HomeRegion": { - "type": "string" - }, - "LicenseArn": { - "type": "string" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::Grant" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::LicenseManager::License": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Beneficiary": { - "type": "string" - }, - "ConsumptionConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ConsumptionConfiguration" - }, - "Entitlements": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Entitlement" - }, - "type": "array" - }, - "HomeRegion": { - "type": "string" - }, - "Issuer": { - "$ref": "#/definitions/AWS::LicenseManager::License.IssuerData" - }, - "LicenseMetadata": { - "items": { - "$ref": "#/definitions/AWS::LicenseManager::License.Metadata" - }, - "type": "array" - }, - "LicenseName": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProductSKU": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Validity": { - "$ref": "#/definitions/AWS::LicenseManager::License.ValidityDateFormat" - } - }, - "required": [ - "ConsumptionConfiguration", - "Entitlements", - "HomeRegion", - "Issuer", - "LicenseName", - "ProductName", - "Validity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LicenseManager::License" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LicenseManager::License.BorrowConfiguration": { - "additionalProperties": false, - "properties": { - "AllowEarlyCheckIn": { - "type": "boolean" - }, - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "AllowEarlyCheckIn", - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ConsumptionConfiguration": { - "additionalProperties": false, - "properties": { - "BorrowConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.BorrowConfiguration" - }, - "ProvisionalConfiguration": { - "$ref": "#/definitions/AWS::LicenseManager::License.ProvisionalConfiguration" - }, - "RenewType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LicenseManager::License.Entitlement": { - "additionalProperties": false, - "properties": { - "AllowCheckIn": { - "type": "boolean" - }, - "MaxCount": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Overage": { - "type": "boolean" - }, - "Unit": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Unit" - ], - "type": "object" - }, - "AWS::LicenseManager::License.IssuerData": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SignKey": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::LicenseManager::License.Metadata": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ProvisionalConfiguration": { - "additionalProperties": false, - "properties": { - "MaxTimeToLiveInMinutes": { - "type": "number" - } - }, - "required": [ - "MaxTimeToLiveInMinutes" - ], - "type": "object" - }, - "AWS::LicenseManager::License.ValidityDateFormat": { - "additionalProperties": false, - "properties": { - "Begin": { - "type": "string" - }, - "End": { - "type": "string" - } - }, - "required": [ - "Begin", - "End" - ], - "type": "object" - }, - "AWS::Location::GeofenceCollection": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CollectionName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - } - }, - "required": [ - "CollectionName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::GeofenceCollection" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::Location::Map.MapConfiguration" - }, - "Description": { - "type": "string" - }, - "MapName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "Configuration", - "MapName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Map" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Map.MapConfiguration": { - "additionalProperties": false, - "properties": { - "Style": { - "type": "string" - } - }, - "required": [ - "Style" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataSource": { - "type": "string" - }, - "DataSourceConfiguration": { - "$ref": "#/definitions/AWS::Location::PlaceIndex.DataSourceConfiguration" - }, - "Description": { - "type": "string" - }, - "IndexName": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "DataSource", - "IndexName", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::PlaceIndex" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::PlaceIndex.DataSourceConfiguration": { - "additionalProperties": false, - "properties": { - "IntendedUse": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Location::RouteCalculator": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CalculatorName": { - "type": "string" - }, - "DataSource": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - } - }, - "required": [ - "CalculatorName", - "DataSource", - "PricingPlan" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::RouteCalculator" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::Tracker": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "PricingPlanDataSource": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "PricingPlan", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::Tracker" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Location::TrackerConsumer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConsumerArn": { - "type": "string" - }, - "TrackerName": { - "type": "string" - } - }, - "required": [ - "ConsumerArn", - "TrackerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Location::TrackerConsumer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::Destination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationName": { - "type": "string" - }, - "DestinationPolicy": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "TargetArn": { - "type": "string" - } - }, - "required": [ - "DestinationName", - "DestinationPolicy", - "RoleArn", - "TargetArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::Destination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::LogGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RetentionInDays": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Logs::LogStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - }, - "LogStreamName": { - "type": "string" - } - }, - "required": [ - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::LogStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "MetricTransformations": { - "items": { - "$ref": "#/definitions/AWS::Logs::MetricFilter.MetricTransformation" - }, - "type": "array" - } - }, - "required": [ - "FilterPattern", - "LogGroupName", - "MetricTransformations" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::MetricFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::MetricFilter.MetricTransformation": { - "additionalProperties": false, - "properties": { - "DefaultValue": { - "type": "number" - }, - "MetricName": { - "type": "string" - }, - "MetricNamespace": { - "type": "string" - }, - "MetricValue": { - "type": "string" - } - }, - "required": [ - "MetricName", - "MetricNamespace", - "MetricValue" - ], - "type": "object" - }, - "AWS::Logs::QueryDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "LogGroupNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryString": { - "type": "string" - } - }, - "required": [ - "Name", - "QueryString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::QueryDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "string" - }, - "PolicyName": { - "type": "string" - } - }, - "required": [ - "PolicyDocument", - "PolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Logs::SubscriptionFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "FilterPattern": { - "type": "string" - }, - "LogGroupName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "DestinationArn", - "FilterPattern", - "LogGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Logs::SubscriptionFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutEquipment::InferenceScheduler": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataDelayOffsetInMinutes": { - "type": "number" - }, - "DataInputConfiguration": { - "type": "object" - }, - "DataOutputConfiguration": { - "type": "object" - }, - "DataUploadFrequency": { - "type": "string" - }, - "InferenceSchedulerName": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "ServerSideKmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataInputConfiguration", - "DataOutputConfiguration", - "DataUploadFrequency", - "ModelName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutEquipment::InferenceScheduler" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.Action" - }, - "AlertDescription": { - "type": "string" - }, - "AlertName": { - "type": "string" - }, - "AlertSensitivityThreshold": { - "type": "number" - }, - "AnomalyDetectorArn": { - "type": "string" - } - }, - "required": [ - "Action", - "AlertSensitivityThreshold", - "AnomalyDetectorArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::Alert" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.Action": { - "additionalProperties": false, - "properties": { - "LambdaConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.LambdaConfiguration" - }, - "SNSConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert.SNSConfiguration" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::Alert.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "LambdaArn", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::Alert.SNSConfiguration": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SnsTopicArn": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SnsTopicArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig" - }, - "AnomalyDetectorDescription": { - "type": "string" - }, - "AnomalyDetectorName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "MetricSetList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSet" - }, - "type": "array" - } - }, - "required": [ - "AnomalyDetectorConfig", - "MetricSetList" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutMetrics::AnomalyDetector" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AnomalyDetectorConfig": { - "additionalProperties": false, - "properties": { - "AnomalyDetectorFrequency": { - "type": "string" - } - }, - "required": [ - "AnomalyDetectorFrequency" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig": { - "additionalProperties": false, - "properties": { - "FlowName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FlowName", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "FileCompression": { - "type": "string" - }, - "HeaderList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "QuoteSymbol": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor": { - "additionalProperties": false, - "properties": { - "CsvFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CsvFormatDescriptor" - }, - "JsonFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.JsonFormatDescriptor": { - "additionalProperties": false, - "properties": { - "Charset": { - "type": "string" - }, - "FileCompression": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.Metric": { - "additionalProperties": false, - "properties": { - "AggregationFunction": { - "type": "string" - }, - "MetricName": { - "type": "string" - }, - "Namespace": { - "type": "string" - } - }, - "required": [ - "AggregationFunction", - "MetricName" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSet": { - "additionalProperties": false, - "properties": { - "DimensionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MetricList": { - "items": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.Metric" - }, - "type": "array" - }, - "MetricSetDescription": { - "type": "string" - }, - "MetricSetFrequency": { - "type": "string" - }, - "MetricSetName": { - "type": "string" - }, - "MetricSource": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.MetricSource" - }, - "Offset": { - "type": "number" - }, - "TimestampColumn": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.TimestampColumn" - }, - "Timezone": { - "type": "string" - } - }, - "required": [ - "MetricList", - "MetricSetName", - "MetricSource" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.MetricSource": { - "additionalProperties": false, - "properties": { - "AppFlowConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.AppFlowConfig" - }, - "CloudwatchConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.CloudwatchConfig" - }, - "RDSSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig" - }, - "RedshiftSourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig" - }, - "S3SourceConfig": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RDSSourceConfig": { - "additionalProperties": false, - "properties": { - "DBInstanceIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "DBInstanceIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.RedshiftSourceConfig": { - "additionalProperties": false, - "properties": { - "ClusterIdentifier": { - "type": "string" - }, - "DatabaseHost": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DatabasePort": { - "type": "number" - }, - "RoleArn": { - "type": "string" - }, - "SecretManagerArn": { - "type": "string" - }, - "TableName": { - "type": "string" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration" - } - }, - "required": [ - "ClusterIdentifier", - "DatabaseHost", - "DatabaseName", - "DatabasePort", - "RoleArn", - "SecretManagerArn", - "TableName", - "VpcConfiguration" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.S3SourceConfig": { - "additionalProperties": false, - "properties": { - "FileFormatDescriptor": { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector.FileFormatDescriptor" - }, - "HistoricalDataPathList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TemplatedPathList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "FileFormatDescriptor", - "RoleArn" - ], - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.TimestampColumn": { - "additionalProperties": false, - "properties": { - "ColumnFormat": { - "type": "string" - }, - "ColumnName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::LookoutMetrics::AnomalyDetector.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIdList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIdList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIdList", - "SubnetIdList" - ], - "type": "object" - }, - "AWS::LookoutVision::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectName": { - "type": "string" - } - }, - "required": [ - "ProjectName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::LookoutVision::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BrokerNodeGroupInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerNodeGroupInfo" - }, - "ClientAuthentication": { - "$ref": "#/definitions/AWS::MSK::Cluster.ClientAuthentication" - }, - "ClusterName": { - "type": "string" - }, - "ConfigurationInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.ConfigurationInfo" - }, - "EncryptionInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInfo" - }, - "EnhancedMonitoring": { - "type": "string" - }, - "KafkaVersion": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.LoggingInfo" - }, - "NumberOfBrokerNodes": { - "type": "number" - }, - "OpenMonitoring": { - "$ref": "#/definitions/AWS::MSK::Cluster.OpenMonitoring" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "BrokerNodeGroupInfo", - "ClusterName", - "KafkaVersion", - "NumberOfBrokerNodes" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MSK::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MSK::Cluster.BrokerLogs": { - "additionalProperties": false, - "properties": { - "CloudWatchLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.CloudWatchLogs" - }, - "Firehose": { - "$ref": "#/definitions/AWS::MSK::Cluster.Firehose" - }, - "S3": { - "$ref": "#/definitions/AWS::MSK::Cluster.S3" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.BrokerNodeGroupInfo": { - "additionalProperties": false, - "properties": { - "BrokerAZDistribution": { - "type": "string" - }, - "ClientSubnets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InstanceType": { - "type": "string" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.StorageInfo" - } - }, - "required": [ - "ClientSubnets", - "InstanceType" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ClientAuthentication": { - "additionalProperties": false, - "properties": { - "Sasl": { - "$ref": "#/definitions/AWS::MSK::Cluster.Sasl" - }, - "Tls": { - "$ref": "#/definitions/AWS::MSK::Cluster.Tls" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.CloudWatchLogs": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "LogGroup": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.ConfigurationInfo": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "Revision": { - "type": "number" - } - }, - "required": [ - "Arn", - "Revision" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EBSStorageInfo": { - "additionalProperties": false, - "properties": { - "VolumeSize": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionAtRest": { - "additionalProperties": false, - "properties": { - "DataVolumeKMSKeyId": { - "type": "string" - } - }, - "required": [ - "DataVolumeKMSKeyId" - ], - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInTransit": { - "additionalProperties": false, - "properties": { - "ClientBroker": { - "type": "string" - }, - "InCluster": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.EncryptionInfo": { - "additionalProperties": false, - "properties": { - "EncryptionAtRest": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionAtRest" - }, - "EncryptionInTransit": { - "$ref": "#/definitions/AWS::MSK::Cluster.EncryptionInTransit" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Firehose": { - "additionalProperties": false, - "properties": { - "DeliveryStream": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Iam": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.JmxExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.LoggingInfo": { - "additionalProperties": false, - "properties": { - "BrokerLogs": { - "$ref": "#/definitions/AWS::MSK::Cluster.BrokerLogs" - } - }, - "required": [ - "BrokerLogs" - ], - "type": "object" - }, - "AWS::MSK::Cluster.NodeExporter": { - "additionalProperties": false, - "properties": { - "EnabledInBroker": { - "type": "boolean" - } - }, - "required": [ - "EnabledInBroker" - ], - "type": "object" - }, - "AWS::MSK::Cluster.OpenMonitoring": { - "additionalProperties": false, - "properties": { - "Prometheus": { - "$ref": "#/definitions/AWS::MSK::Cluster.Prometheus" - } - }, - "required": [ - "Prometheus" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Prometheus": { - "additionalProperties": false, - "properties": { - "JmxExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.JmxExporter" - }, - "NodeExporter": { - "$ref": "#/definitions/AWS::MSK::Cluster.NodeExporter" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.S3": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.Sasl": { - "additionalProperties": false, - "properties": { - "Iam": { - "$ref": "#/definitions/AWS::MSK::Cluster.Iam" - }, - "Scram": { - "$ref": "#/definitions/AWS::MSK::Cluster.Scram" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Scram": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "Enabled" - ], - "type": "object" - }, - "AWS::MSK::Cluster.StorageInfo": { - "additionalProperties": false, - "properties": { - "EBSStorageInfo": { - "$ref": "#/definitions/AWS::MSK::Cluster.EBSStorageInfo" - } - }, - "type": "object" - }, - "AWS::MSK::Cluster.Tls": { - "additionalProperties": false, - "properties": { - "CertificateAuthorityArnList": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AirflowConfigurationOptions": { - "type": "object" - }, - "AirflowVersion": { - "type": "string" - }, - "DagS3Path": { - "type": "string" - }, - "EnvironmentClass": { - "type": "string" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "KmsKey": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.LoggingConfiguration" - }, - "MaxWorkers": { - "type": "number" - }, - "MinWorkers": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::MWAA::Environment.NetworkConfiguration" - }, - "PluginsS3ObjectVersion": { - "type": "string" - }, - "PluginsS3Path": { - "type": "string" - }, - "RequirementsS3ObjectVersion": { - "type": "string" - }, - "RequirementsS3Path": { - "type": "string" - }, - "Schedulers": { - "type": "number" - }, - "SourceBucketArn": { - "type": "string" - }, - "Tags": { - "$ref": "#/definitions/AWS::MWAA::Environment.TagMap" - }, - "WebserverAccessMode": { - "type": "string" - }, - "WeeklyMaintenanceWindowStart": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MWAA::Environment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MWAA::Environment.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DagProcessingLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "SchedulerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "TaskLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WebserverLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - }, - "WorkerLogs": { - "$ref": "#/definitions/AWS::MWAA::Environment.ModuleLoggingConfiguration" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.ModuleLoggingConfiguration": { - "additionalProperties": false, - "properties": { - "CloudWatchLogGroupArn": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "LogLevel": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MWAA::Environment.TagMap": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::CustomDataIdentifier": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "IgnoreWords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Keywords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaximumMatchDistance": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Regex": { - "type": "string" - } - }, - "required": [ - "Name", - "Regex" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::CustomDataIdentifier" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "FindingCriteria": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.FindingCriteria" - }, - "Name": { - "type": "string" - }, - "Position": { - "type": "number" - } - }, - "required": [ - "FindingCriteria", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::FindingsFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Macie::FindingsFilter.Criterion": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingCriteria": { - "additionalProperties": false, - "properties": { - "Criterion": { - "$ref": "#/definitions/AWS::Macie::FindingsFilter.Criterion" - } - }, - "type": "object" - }, - "AWS::Macie::FindingsFilter.FindingsFilterListItem": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Macie::Session": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FindingPublishingFrequency": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Macie::Session" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InvitationId": { - "type": "string" - }, - "MemberConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberConfiguration" - }, - "NetworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkConfiguration" - }, - "NetworkId": { - "type": "string" - } - }, - "required": [ - "MemberConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Member" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": { - "additionalProperties": false, - "properties": { - "ProposalDurationInHours": { - "type": "number" - }, - "ThresholdComparator": { - "type": "string" - }, - "ThresholdPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": { - "additionalProperties": false, - "properties": { - "AdminPassword": { - "type": "string" - }, - "AdminUsername": { - "type": "string" - } - }, - "required": [ - "AdminPassword", - "AdminUsername" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "MemberFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.MemberFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkConfiguration": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Framework": { - "type": "string" - }, - "FrameworkVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "NetworkFrameworkConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration" - }, - "VotingPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.VotingPolicy" - } - }, - "required": [ - "Framework", - "FrameworkVersion", - "Name", - "VotingPolicy" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": { - "additionalProperties": false, - "properties": { - "Edition": { - "type": "string" - } - }, - "required": [ - "Edition" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": { - "additionalProperties": false, - "properties": { - "NetworkFabricConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.NetworkFabricConfiguration" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Member.VotingPolicy": { - "additionalProperties": false, - "properties": { - "ApprovalThresholdPolicy": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy" - } - }, - "type": "object" - }, - "AWS::ManagedBlockchain::Node": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MemberId": { - "type": "string" - }, - "NetworkId": { - "type": "string" - }, - "NodeConfiguration": { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node.NodeConfiguration" - } - }, - "required": [ - "NetworkId", - "NodeConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ManagedBlockchain::Node" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ManagedBlockchain::Node.NodeConfiguration": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "InstanceType": { - "type": "string" - } - }, - "required": [ - "AvailabilityZone", - "InstanceType" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AvailabilityZone": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Source": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Source" - }, - "SourceFailoverConfig": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.FailoverConfig" - } - }, - "required": [ - "Name", - "Source" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::Flow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::Flow.FailoverConfig": { - "additionalProperties": false, - "properties": { - "RecoveryWindow": { - "type": "number" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::Flow.Source": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::Flow.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "IngestIp": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataTransferSubscriberFeePercent": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement.Encryption" - }, - "EntitlementStatus": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Subscribers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Description", - "FlowArn", - "Name", - "Subscribers" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowEntitlement" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowEntitlement.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CidrAllowList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Destination": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.Encryption" - }, - "FlowArn": { - "type": "string" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "Protocol": { - "type": "string" - }, - "RemoteId": { - "type": "string" - }, - "SmoothingLatency": { - "type": "number" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceAttachment": { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment" - } - }, - "required": [ - "FlowArn", - "Protocol" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowOutput" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn", - "SecretArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowOutput.VpcInterfaceAttachment": { - "additionalProperties": false, - "properties": { - "VpcInterfaceName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaConnect::FlowSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Decryption": { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource.Encryption" - }, - "Description": { - "type": "string" - }, - "EntitlementArn": { - "type": "string" - }, - "FlowArn": { - "type": "string" - }, - "IngestPort": { - "type": "number" - }, - "MaxBitrate": { - "type": "number" - }, - "MaxLatency": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "StreamId": { - "type": "string" - }, - "VpcInterfaceName": { - "type": "string" - }, - "WhitelistCidr": { - "type": "string" - } - }, - "required": [ - "Description", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowSource.Encryption": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "ConstantInitializationVector": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "KeyType": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Algorithm", - "RoleArn" - ], - "type": "object" - }, - "AWS::MediaConnect::FlowVpcInterface": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "FlowArn", - "Name", - "RoleArn", - "SecurityGroupIds", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConnect::FlowVpcInterface" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerationSettings": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.AccelerationSettings" - }, - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "HopDestinations": { - "items": { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate.HopDestination" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "StatusUpdateInterval": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::JobTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.AccelerationSettings": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::MediaConvert::JobTemplate.HopDestination": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Queue": { - "type": "string" - }, - "WaitMinutes": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaConvert::Preset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Category": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SettingsJson": { - "type": "object" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "SettingsJson" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Preset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaConvert::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PricingPlan": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaConvert::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CdiInputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CdiInputSpecification" - }, - "ChannelClass": { - "type": "string" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestination" - }, - "type": "array" - }, - "EncoderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EncoderSettings" - }, - "InputAttachments": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputAttachment" - }, - "type": "array" - }, - "InputSpecification": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSpecification" - }, - "LogLevel": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VpcOutputSettings" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Channel.AacSettings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "InputType": { - "type": "string" - }, - "Profile": { - "type": "string" - }, - "RateControlMode": { - "type": "string" - }, - "RawFormat": { - "type": "string" - }, - "SampleRate": { - "type": "number" - }, - "Spec": { - "type": "string" - }, - "VbrQuality": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Ac3Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcProfile": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "MetadataControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AncillarySourceSettings": { - "additionalProperties": false, - "properties": { - "SourceAncillaryChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveCdnSettings": { - "additionalProperties": false, - "properties": { - "ArchiveS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - }, - "RawSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RawSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveCdnSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "RolloverInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveOutputSettings": { - "additionalProperties": false, - "properties": { - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveContainerSettings" - }, - "Extension": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ArchiveS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AribDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AribSourceSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioChannelMapping": { - "additionalProperties": false, - "properties": { - "InputChannelLevels": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputChannelLevel" - }, - "type": "array" - }, - "OutputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioCodecSettings": { - "additionalProperties": false, - "properties": { - "AacSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AacSettings" - }, - "Ac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Ac3Settings" - }, - "Eac3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Eac3Settings" - }, - "Mp2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mp2Settings" - }, - "PassThroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.PassThroughSettings" - }, - "WavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioDescription": { - "additionalProperties": false, - "properties": { - "AudioNormalizationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioNormalizationSettings" - }, - "AudioSelectorName": { - "type": "string" - }, - "AudioType": { - "type": "string" - }, - "AudioTypeControl": { - "type": "string" - }, - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioCodecSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageCodeControl": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RemixSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RemixSettings" - }, - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioLanguageSelection": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "LanguageSelectionPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioNormalizationSettings": { - "additionalProperties": false, - "properties": { - "Algorithm": { - "type": "string" - }, - "AlgorithmControl": { - "type": "string" - }, - "TargetLkfs": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioOnlyHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioGroupId": { - "type": "string" - }, - "AudioOnlyImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "AudioTrackType": { - "type": "string" - }, - "SegmentType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioPidSelection": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelector": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSelectorSettings": { - "additionalProperties": false, - "properties": { - "AudioLanguageSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioLanguageSelection" - }, - "AudioPidSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioPidSelection" - }, - "AudioTrackSelection": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrackSelection" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioSilenceFailoverSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectorName": { - "type": "string" - }, - "AudioSilenceThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrack": { - "additionalProperties": false, - "properties": { - "Track": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AudioTrackSelection": { - "additionalProperties": false, - "properties": { - "Tracks": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioTrack" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AutomaticInputFailoverSettings": { - "additionalProperties": false, - "properties": { - "ErrorClearTimeMsec": { - "type": "number" - }, - "FailoverConditions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverCondition" - }, - "type": "array" - }, - "InputPreference": { - "type": "string" - }, - "SecondaryInputId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailBlanking": { - "additionalProperties": false, - "properties": { - "AvailBlankingImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailConfiguration": { - "additionalProperties": false, - "properties": { - "AvailSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.AvailSettings": { - "additionalProperties": false, - "properties": { - "Scte35SpliceInsert": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35SpliceInsert" - }, - "Scte35TimeSignalApos": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte35TimeSignalApos" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BlackoutSlate": { - "additionalProperties": false, - "properties": { - "BlackoutSlateImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkEndBlackout": { - "type": "string" - }, - "NetworkEndBlackoutImage": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "NetworkId": { - "type": "string" - }, - "State": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.BurnInDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDescription": { - "additionalProperties": false, - "properties": { - "CaptionSelectorName": { - "type": "string" - }, - "DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDestinationSettings" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionDestinationSettings": { - "additionalProperties": false, - "properties": { - "AribDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribDestinationSettings" - }, - "BurnInDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BurnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubDestinationSettings" - }, - "EbuTtDDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EbuTtDDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings" - }, - "Scte27DestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27DestinationSettings" - }, - "SmpteTtDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.SmpteTtDestinationSettings" - }, - "TeletextDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TtmlDestinationSettings" - }, - "WebvttDestinationSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.WebvttDestinationSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionLanguageMapping": { - "additionalProperties": false, - "properties": { - "CaptionChannel": { - "type": "number" - }, - "LanguageCode": { - "type": "string" - }, - "LanguageDescription": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionRectangle": { - "additionalProperties": false, - "properties": { - "Height": { - "type": "number" - }, - "LeftOffset": { - "type": "number" - }, - "TopOffset": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelector": { - "additionalProperties": false, - "properties": { - "LanguageCode": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CaptionSelectorSettings": { - "additionalProperties": false, - "properties": { - "AncillarySourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AncillarySourceSettings" - }, - "AribSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AribSourceSettings" - }, - "DvbSubSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.EmbeddedSourceSettings" - }, - "Scte20SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte20SourceSettings" - }, - "Scte27SourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Scte27SourceSettings" - }, - "TeletextSourceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TeletextSourceSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.CdiInputSpecification": { - "additionalProperties": false, - "properties": { - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.ColorSpacePassthroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbNitSettings": { - "additionalProperties": false, - "properties": { - "NetworkId": { - "type": "number" - }, - "NetworkName": { - "type": "string" - }, - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSdtSettings": { - "additionalProperties": false, - "properties": { - "OutputSdt": { - "type": "string" - }, - "RepInterval": { - "type": "number" - }, - "ServiceName": { - "type": "string" - }, - "ServiceProviderName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubDestinationSettings": { - "additionalProperties": false, - "properties": { - "Alignment": { - "type": "string" - }, - "BackgroundColor": { - "type": "string" - }, - "BackgroundOpacity": { - "type": "number" - }, - "Font": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "FontColor": { - "type": "string" - }, - "FontOpacity": { - "type": "number" - }, - "FontResolution": { - "type": "number" - }, - "FontSize": { - "type": "string" - }, - "OutlineColor": { - "type": "string" - }, - "OutlineSize": { - "type": "number" - }, - "ShadowColor": { - "type": "string" - }, - "ShadowOpacity": { - "type": "number" - }, - "ShadowXOffset": { - "type": "number" - }, - "ShadowYOffset": { - "type": "number" - }, - "TeletextGridControl": { - "type": "string" - }, - "XPosition": { - "type": "number" - }, - "YPosition": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbSubSourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.DvbTdtSettings": { - "additionalProperties": false, - "properties": { - "RepInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Eac3Settings": { - "additionalProperties": false, - "properties": { - "AttenuationControl": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BitstreamMode": { - "type": "string" - }, - "CodingMode": { - "type": "string" - }, - "DcFilter": { - "type": "string" - }, - "Dialnorm": { - "type": "number" - }, - "DrcLine": { - "type": "string" - }, - "DrcRf": { - "type": "string" - }, - "LfeControl": { - "type": "string" - }, - "LfeFilter": { - "type": "string" - }, - "LoRoCenterMixLevel": { - "type": "number" - }, - "LoRoSurroundMixLevel": { - "type": "number" - }, - "LtRtCenterMixLevel": { - "type": "number" - }, - "LtRtSurroundMixLevel": { - "type": "number" - }, - "MetadataControl": { - "type": "string" - }, - "PassthroughControl": { - "type": "string" - }, - "PhaseControl": { - "type": "string" - }, - "StereoDownmix": { - "type": "string" - }, - "SurroundExMode": { - "type": "string" - }, - "SurroundMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EbuTtDDestinationSettings": { - "additionalProperties": false, - "properties": { - "CopyrightHolder": { - "type": "string" - }, - "FillLineGap": { - "type": "string" - }, - "FontFamily": { - "type": "string" - }, - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedPlusScte20DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.EmbeddedSourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Scte20Detection": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - }, - "Source608TrackNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.EncoderSettings": { - "additionalProperties": false, - "properties": { - "AudioDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioDescription" - }, - "type": "array" - }, - "AvailBlanking": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailBlanking" - }, - "AvailConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AvailConfiguration" - }, - "BlackoutSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.BlackoutSlate" - }, - "CaptionDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionDescription" - }, - "type": "array" - }, - "FeatureActivations": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FeatureActivations" - }, - "GlobalConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.GlobalConfiguration" - }, - "MotionGraphicsConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsConfiguration" - }, - "NielsenConfiguration": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NielsenConfiguration" - }, - "OutputGroups": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroup" - }, - "type": "array" - }, - "TimecodeConfig": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TimecodeConfig" - }, - "VideoDescriptions": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoDescription" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverCondition": { - "additionalProperties": false, - "properties": { - "FailoverConditionSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FailoverConditionSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FailoverConditionSettings": { - "additionalProperties": false, - "properties": { - "AudioSilenceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSilenceFailoverSettings" - }, - "InputLossSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossFailoverSettings" - }, - "VideoBlackSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoBlackFailoverSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FeatureActivations": { - "additionalProperties": false, - "properties": { - "InputPrepareScheduleActions": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FecOutputSettings": { - "additionalProperties": false, - "properties": { - "ColumnDepth": { - "type": "number" - }, - "IncludeFec": { - "type": "string" - }, - "RowLength": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Fmp4HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureCdnSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureS3Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FrameCaptureCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureCdnSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureHlsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureOutputSettings": { - "additionalProperties": false, - "properties": { - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.FrameCaptureSettings": { - "additionalProperties": false, - "properties": { - "CaptureInterval": { - "type": "number" - }, - "CaptureIntervalUnits": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.GlobalConfiguration": { - "additionalProperties": false, - "properties": { - "InitialAudioGain": { - "type": "number" - }, - "InputEndAction": { - "type": "string" - }, - "InputLossBehavior": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLossBehavior" - }, - "OutputLockingMode": { - "type": "string" - }, - "OutputTimingSource": { - "type": "string" - }, - "SupportLowFramerateInputs": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H264Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufFillPct": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264ColorSpaceSettings" - }, - "EntropyEncoding": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "ForceFieldPictures": { - "type": "string" - }, - "FramerateControl": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopBReference": { - "type": "string" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "NumRefFrames": { - "type": "number" - }, - "ParControl": { - "type": "string" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QualityLevel": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Softness": { - "type": "number" - }, - "SpatialAq": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "Syntax": { - "type": "string" - }, - "TemporalAq": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265ColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "ColorSpacePassthroughSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ColorSpacePassthroughSettings" - }, - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - }, - "Rec601Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec601Settings" - }, - "Rec709Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Rec709Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.H265Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "AlternativeTransferFunction": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufSize": { - "type": "number" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265ColorSpaceSettings" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FlickerAq": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "Level": { - "type": "string" - }, - "LookAheadRateControl": { - "type": "string" - }, - "MaxBitrate": { - "type": "number" - }, - "MinIInterval": { - "type": "number" - }, - "ParDenominator": { - "type": "number" - }, - "ParNumerator": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "QvbrQualityLevel": { - "type": "number" - }, - "RateControlMode": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SceneChangeDetect": { - "type": "string" - }, - "Slices": { - "type": "number" - }, - "Tier": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Hdr10Settings": { - "additionalProperties": false, - "properties": { - "MaxCll": { - "type": "number" - }, - "MaxFall": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsAkamaiSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "Salt": { - "type": "string" - }, - "Token": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsBasicPutSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsCdnSettings": { - "additionalProperties": false, - "properties": { - "HlsAkamaiSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsMediaStoreSettings" - }, - "HlsS3Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsS3Settings" - }, - "HlsWebdavSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsWebdavSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BaseUrlContent": { - "type": "string" - }, - "BaseUrlContent1": { - "type": "string" - }, - "BaseUrlManifest": { - "type": "string" - }, - "BaseUrlManifest1": { - "type": "string" - }, - "CaptionLanguageMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionLanguageMapping" - }, - "type": "array" - }, - "CaptionLanguageSetting": { - "type": "string" - }, - "ClientCache": { - "type": "string" - }, - "CodecSpecification": { - "type": "string" - }, - "ConstantIv": { - "type": "string" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "DirectoryStructure": { - "type": "string" - }, - "DiscontinuityTags": { - "type": "string" - }, - "EncryptionType": { - "type": "string" - }, - "HlsCdnSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsCdnSettings" - }, - "HlsId3SegmentTagging": { - "type": "string" - }, - "IFrameOnlyPlaylists": { - "type": "string" - }, - "IncompleteSegmentBehavior": { - "type": "string" - }, - "IndexNSegments": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "IvInManifest": { - "type": "string" - }, - "IvSource": { - "type": "string" - }, - "KeepSegments": { - "type": "number" - }, - "KeyFormat": { - "type": "string" - }, - "KeyFormatVersions": { - "type": "string" - }, - "KeyProviderSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.KeyProviderSettings" - }, - "ManifestCompression": { - "type": "string" - }, - "ManifestDurationFormat": { - "type": "string" - }, - "MinSegmentLength": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "OutputSelection": { - "type": "string" - }, - "ProgramDateTime": { - "type": "string" - }, - "ProgramDateTimePeriod": { - "type": "number" - }, - "RedundantManifest": { - "type": "string" - }, - "SegmentLength": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SegmentsPerSubdirectory": { - "type": "number" - }, - "StreamInfResolution": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - }, - "TimestampDeltaMilliseconds": { - "type": "number" - }, - "TsFileMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsInputSettings": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "type": "number" - }, - "BufferSegments": { - "type": "number" - }, - "Retries": { - "type": "number" - }, - "RetryInterval": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsMediaStoreSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "MediaStoreStorageClass": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsSettings" - }, - "NameModifier": { - "type": "string" - }, - "SegmentModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsS3Settings": { - "additionalProperties": false, - "properties": { - "CannedAcl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsSettings": { - "additionalProperties": false, - "properties": { - "AudioOnlyHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioOnlyHlsSettings" - }, - "Fmp4HlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Fmp4HlsSettings" - }, - "FrameCaptureHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureHlsSettings" - }, - "StandardHlsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StandardHlsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HlsWebdavSettings": { - "additionalProperties": false, - "properties": { - "ConnectionRetryInterval": { - "type": "number" - }, - "FilecacheDuration": { - "type": "number" - }, - "HttpTransferMode": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.HtmlMotionGraphicsSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.InputAttachment": { - "additionalProperties": false, - "properties": { - "AutomaticInputFailoverSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AutomaticInputFailoverSettings" - }, - "InputAttachmentName": { - "type": "string" - }, - "InputId": { - "type": "string" - }, - "InputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputChannelLevel": { - "additionalProperties": false, - "properties": { - "Gain": { - "type": "number" - }, - "InputChannel": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLocation": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Uri": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossBehavior": { - "additionalProperties": false, - "properties": { - "BlackFrameMsec": { - "type": "number" - }, - "InputLossImageColor": { - "type": "string" - }, - "InputLossImageSlate": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "InputLossImageType": { - "type": "string" - }, - "RepeatFrameMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputLossFailoverSettings": { - "additionalProperties": false, - "properties": { - "InputLossThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSettings": { - "additionalProperties": false, - "properties": { - "AudioSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioSelector" - }, - "type": "array" - }, - "CaptionSelectors": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionSelector" - }, - "type": "array" - }, - "DeblockFilter": { - "type": "string" - }, - "DenoiseFilter": { - "type": "string" - }, - "FilterStrength": { - "type": "number" - }, - "InputFilter": { - "type": "string" - }, - "NetworkInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.NetworkInputSettings" - }, - "Smpte2038DataPreference": { - "type": "string" - }, - "SourceEndBehavior": { - "type": "string" - }, - "VideoSelector": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelector" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.InputSpecification": { - "additionalProperties": false, - "properties": { - "Codec": { - "type": "string" - }, - "MaximumBitrate": { - "type": "string" - }, - "Resolution": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.KeyProviderSettings": { - "additionalProperties": false, - "properties": { - "StaticKeySettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.StaticKeySettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M2tsSettings": { - "additionalProperties": false, - "properties": { - "AbsentInputAudioBehavior": { - "type": "string" - }, - "Arib": { - "type": "string" - }, - "AribCaptionsPid": { - "type": "string" - }, - "AribCaptionsPidControl": { - "type": "string" - }, - "AudioBufferModel": { - "type": "string" - }, - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "AudioStreamType": { - "type": "string" - }, - "Bitrate": { - "type": "number" - }, - "BufferModel": { - "type": "string" - }, - "CcDescriptor": { - "type": "string" - }, - "DvbNitSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbNitSettings" - }, - "DvbSdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbSdtSettings" - }, - "DvbSubPids": { - "type": "string" - }, - "DvbTdtSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.DvbTdtSettings" - }, - "DvbTeletextPid": { - "type": "string" - }, - "Ebif": { - "type": "string" - }, - "EbpAudioInterval": { - "type": "string" - }, - "EbpLookaheadMs": { - "type": "number" - }, - "EbpPlacement": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "EsRateInPes": { - "type": "string" - }, - "EtvPlatformPid": { - "type": "string" - }, - "EtvSignalPid": { - "type": "string" - }, - "FragmentTime": { - "type": "number" - }, - "Klv": { - "type": "string" - }, - "KlvDataPids": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "NullPacketBitrate": { - "type": "number" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "RateMode": { - "type": "string" - }, - "Scte27Pids": { - "type": "string" - }, - "Scte35Control": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "SegmentationMarkers": { - "type": "string" - }, - "SegmentationStyle": { - "type": "string" - }, - "SegmentationTime": { - "type": "number" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.M3u8Settings": { - "additionalProperties": false, - "properties": { - "AudioFramesPerPes": { - "type": "number" - }, - "AudioPids": { - "type": "string" - }, - "EcmPid": { - "type": "string" - }, - "NielsenId3Behavior": { - "type": "string" - }, - "PatInterval": { - "type": "number" - }, - "PcrControl": { - "type": "string" - }, - "PcrPeriod": { - "type": "number" - }, - "PcrPid": { - "type": "string" - }, - "PmtInterval": { - "type": "number" - }, - "PmtPid": { - "type": "string" - }, - "ProgramNum": { - "type": "number" - }, - "Scte35Behavior": { - "type": "string" - }, - "Scte35Pid": { - "type": "string" - }, - "TimedMetadataBehavior": { - "type": "string" - }, - "TimedMetadataPid": { - "type": "string" - }, - "TransportStreamId": { - "type": "number" - }, - "VideoPid": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageGroupSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MediaPackageOutputSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsConfiguration": { - "additionalProperties": false, - "properties": { - "MotionGraphicsInsertion": { - "type": "string" - }, - "MotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MotionGraphicsSettings": { - "additionalProperties": false, - "properties": { - "HtmlMotionGraphicsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HtmlMotionGraphicsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mp2Settings": { - "additionalProperties": false, - "properties": { - "Bitrate": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2FilterSettings": { - "additionalProperties": false, - "properties": { - "TemporalFilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.TemporalFilterSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Mpeg2Settings": { - "additionalProperties": false, - "properties": { - "AdaptiveQuantization": { - "type": "string" - }, - "AfdSignaling": { - "type": "string" - }, - "ColorMetadata": { - "type": "string" - }, - "ColorSpace": { - "type": "string" - }, - "DisplayAspectRatio": { - "type": "string" - }, - "FilterSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2FilterSettings" - }, - "FixedAfd": { - "type": "string" - }, - "FramerateDenominator": { - "type": "number" - }, - "FramerateNumerator": { - "type": "number" - }, - "GopClosedCadence": { - "type": "number" - }, - "GopNumBFrames": { - "type": "number" - }, - "GopSize": { - "type": "number" - }, - "GopSizeUnits": { - "type": "string" - }, - "ScanType": { - "type": "string" - }, - "SubgopLength": { - "type": "string" - }, - "TimecodeInsertion": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothGroupSettings": { - "additionalProperties": false, - "properties": { - "AcquisitionPointId": { - "type": "string" - }, - "AudioOnlyTimecodeControl": { - "type": "string" - }, - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "EventId": { - "type": "string" - }, - "EventIdMode": { - "type": "string" - }, - "EventStopBehavior": { - "type": "string" - }, - "FilecacheDuration": { - "type": "number" - }, - "FragmentLength": { - "type": "number" - }, - "InputLossAction": { - "type": "string" - }, - "NumRetries": { - "type": "number" - }, - "RestartDelay": { - "type": "number" - }, - "SegmentationMode": { - "type": "string" - }, - "SendDelayMs": { - "type": "number" - }, - "SparseTrackType": { - "type": "string" - }, - "StreamManifestBehavior": { - "type": "string" - }, - "TimestampOffset": { - "type": "string" - }, - "TimestampOffsetMode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MsSmoothOutputSettings": { - "additionalProperties": false, - "properties": { - "H265PackagingType": { - "type": "string" - }, - "NameModifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexGroupSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexOutputSettings": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings": { - "additionalProperties": false, - "properties": { - "MultiplexId": { - "type": "string" - }, - "ProgramName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NetworkInputSettings": { - "additionalProperties": false, - "properties": { - "HlsInputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsInputSettings" - }, - "ServerValidation": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.NielsenConfiguration": { - "additionalProperties": false, - "properties": { - "DistributorId": { - "type": "string" - }, - "NielsenPcmToId3Tagging": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Output": { - "additionalProperties": false, - "properties": { - "AudioDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CaptionDescriptionNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OutputName": { - "type": "string" - }, - "OutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputSettings" - }, - "VideoDescriptionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestination": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "MediaPackageSettings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings" - }, - "type": "array" - }, - "MultiplexSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexProgramChannelDestinationSettings" - }, - "Settings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputDestinationSettings" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputDestinationSettings": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroup": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "OutputGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputGroupSettings" - }, - "Outputs": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Output" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputGroupSettings": { - "additionalProperties": false, - "properties": { - "ArchiveGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveGroupSettings" - }, - "FrameCaptureGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureGroupSettings" - }, - "HlsGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsGroupSettings" - }, - "MediaPackageGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageGroupSettings" - }, - "MsSmoothGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothGroupSettings" - }, - "MultiplexGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexGroupSettings" - }, - "RtmpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpGroupSettings" - }, - "UdpGroupSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpGroupSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputLocationRef": { - "additionalProperties": false, - "properties": { - "DestinationRefId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.OutputSettings": { - "additionalProperties": false, - "properties": { - "ArchiveOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.ArchiveOutputSettings" - }, - "FrameCaptureOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureOutputSettings" - }, - "HlsOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.HlsOutputSettings" - }, - "MediaPackageOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MediaPackageOutputSettings" - }, - "MsSmoothOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MsSmoothOutputSettings" - }, - "MultiplexOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.MultiplexOutputSettings" - }, - "RtmpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.RtmpOutputSettings" - }, - "UdpOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.PassThroughSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RawSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec601Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Rec709Settings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RemixSettings": { - "additionalProperties": false, - "properties": { - "ChannelMappings": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Channel.AudioChannelMapping" - }, - "type": "array" - }, - "ChannelsIn": { - "type": "number" - }, - "ChannelsOut": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpCaptionInfoDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpGroupSettings": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AuthenticationScheme": { - "type": "string" - }, - "CacheFullBehavior": { - "type": "string" - }, - "CacheLength": { - "type": "number" - }, - "CaptionData": { - "type": "string" - }, - "InputLossAction": { - "type": "string" - }, - "RestartDelay": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.RtmpOutputSettings": { - "additionalProperties": false, - "properties": { - "CertificateMode": { - "type": "string" - }, - "ConnectionRetryInterval": { - "type": "number" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "NumRetries": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20PlusEmbeddedDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte20SourceSettings": { - "additionalProperties": false, - "properties": { - "Convert608To708": { - "type": "string" - }, - "Source608ChannelNumber": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27DestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte27SourceSettings": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35SpliceInsert": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.Scte35TimeSignalApos": { - "additionalProperties": false, - "properties": { - "AdAvailOffset": { - "type": "number" - }, - "NoRegionalBlackoutFlag": { - "type": "string" - }, - "WebDeliveryAllowedFlag": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.SmpteTtDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.StandardHlsSettings": { - "additionalProperties": false, - "properties": { - "AudioRenditionSets": { - "type": "string" - }, - "M3u8Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M3u8Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.StaticKeySettings": { - "additionalProperties": false, - "properties": { - "KeyProviderServer": { - "$ref": "#/definitions/AWS::MediaLive::Channel.InputLocation" - }, - "StaticKeyValue": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Channel.TeletextSourceSettings": { - "additionalProperties": false, - "properties": { - "OutputRectangle": { - "$ref": "#/definitions/AWS::MediaLive::Channel.CaptionRectangle" - }, - "PageNumber": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TemporalFilterSettings": { - "additionalProperties": false, - "properties": { - "PostFilterSharpening": { - "type": "string" - }, - "Strength": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TimecodeConfig": { - "additionalProperties": false, - "properties": { - "Source": { - "type": "string" - }, - "SyncThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.TtmlDestinationSettings": { - "additionalProperties": false, - "properties": { - "StyleControl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpContainerSettings": { - "additionalProperties": false, - "properties": { - "M2tsSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.M2tsSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpGroupSettings": { - "additionalProperties": false, - "properties": { - "InputLossAction": { - "type": "string" - }, - "TimedMetadataId3Frame": { - "type": "string" - }, - "TimedMetadataId3Period": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.UdpOutputSettings": { - "additionalProperties": false, - "properties": { - "BufferMsec": { - "type": "number" - }, - "ContainerSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.UdpContainerSettings" - }, - "Destination": { - "$ref": "#/definitions/AWS::MediaLive::Channel.OutputLocationRef" - }, - "FecOutputSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FecOutputSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoBlackFailoverSettings": { - "additionalProperties": false, - "properties": { - "BlackDetectThreshold": { - "type": "number" - }, - "VideoBlackThresholdMsec": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoCodecSettings": { - "additionalProperties": false, - "properties": { - "FrameCaptureSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.FrameCaptureSettings" - }, - "H264Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H264Settings" - }, - "H265Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.H265Settings" - }, - "Mpeg2Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Mpeg2Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoDescription": { - "additionalProperties": false, - "properties": { - "CodecSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoCodecSettings" - }, - "Height": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RespondToAfd": { - "type": "string" - }, - "ScalingBehavior": { - "type": "string" - }, - "Sharpness": { - "type": "number" - }, - "Width": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelector": { - "additionalProperties": false, - "properties": { - "ColorSpace": { - "type": "string" - }, - "ColorSpaceSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings" - }, - "ColorSpaceUsage": { - "type": "string" - }, - "SelectorSettings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorSettings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorColorSpaceSettings": { - "additionalProperties": false, - "properties": { - "Hdr10Settings": { - "$ref": "#/definitions/AWS::MediaLive::Channel.Hdr10Settings" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorPid": { - "additionalProperties": false, - "properties": { - "Pid": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorProgramId": { - "additionalProperties": false, - "properties": { - "ProgramId": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VideoSelectorSettings": { - "additionalProperties": false, - "properties": { - "VideoSelectorPid": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorPid" - }, - "VideoSelectorProgramId": { - "$ref": "#/definitions/AWS::MediaLive::Channel.VideoSelectorProgramId" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.VpcOutputSettings": { - "additionalProperties": false, - "properties": { - "PublicAddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WavSettings": { - "additionalProperties": false, - "properties": { - "BitDepth": { - "type": "number" - }, - "CodingMode": { - "type": "string" - }, - "SampleRate": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaLive::Channel.WebvttDestinationSettings": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::MediaLive::Input": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDestinationRequest" - }, - "type": "array" - }, - "InputDevices": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputDeviceSettings" - }, - "type": "array" - }, - "InputSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MediaConnectFlows": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.MediaConnectFlowRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputSourceRequest" - }, - "type": "array" - }, - "Tags": { - "type": "object" - }, - "Type": { - "type": "string" - }, - "Vpc": { - "$ref": "#/definitions/AWS::MediaLive::Input.InputVpcRequest" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::Input" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::Input.InputDestinationRequest": { - "additionalProperties": false, - "properties": { - "StreamName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceRequest": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputDeviceSettings": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputSourceRequest": { - "additionalProperties": false, - "properties": { - "PasswordParam": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.InputVpcRequest": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::MediaLive::Input.MediaConnectFlowRequest": { - "additionalProperties": false, - "properties": { - "FlowArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - }, - "WhitelistRules": { - "items": { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaLive::InputSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::Asset": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "PackagingGroupId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "SourceArn": { - "type": "string" - }, - "SourceRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId", - "SourceArn", - "SourceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Asset" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Asset.EgressEndpoint": { - "additionalProperties": false, - "properties": { - "PackagingConfigurationId": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "PackagingConfigurationId", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "IngressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::Channel.LogConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::Channel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::Channel.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.Authorization" - }, - "ChannelId": { - "type": "string" - }, - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashPackage" - }, - "Description": { - "type": "string" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsPackage" - }, - "Id": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssPackage" - }, - "Origination": { - "type": "string" - }, - "StartoverWindowSeconds": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TimeDelaySeconds": { - "type": "number" - }, - "Whitelist": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ChannelId", - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::OriginEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentPrefix": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashEncryption": { - "additionalProperties": false, - "properties": { - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.DashPackage": { - "additionalProperties": false, - "properties": { - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.DashEncryption" - }, - "ManifestLayout": { - "type": "string" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "MinUpdatePeriodSeconds": { - "type": "number" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Profile": { - "type": "string" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "type": "number" - }, - "UtcTiming": { - "type": "string" - }, - "UtcTimingUri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "KeyRotationIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Id": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.HlsPackage": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "AdTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdsOnDeliveryRestrictions": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.HlsEncryption" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "PlaylistType": { - "type": "string" - }, - "PlaylistWindowSeconds": { - "type": "number" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.MssEncryption" - }, - "ManifestWindowSeconds": { - "type": "number" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "CertificateArn": { - "type": "string" - }, - "ResourceId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::OriginEndpoint.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CmafPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafPackage" - }, - "DashPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashPackage" - }, - "HlsPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsPackage" - }, - "Id": { - "type": "string" - }, - "MssPackage": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssPackage" - }, - "PackagingGroupId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id", - "PackagingGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.CmafPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.CmafEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashManifest": { - "additionalProperties": false, - "properties": { - "ManifestLayout": { - "type": "string" - }, - "ManifestName": { - "type": "string" - }, - "MinBufferTimeSeconds": { - "type": "number" - }, - "Profile": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.DashPackage": { - "additionalProperties": false, - "properties": { - "DashManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashManifest" - }, - "type": "array" - }, - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.DashEncryption" - }, - "IncludeEncoderConfigurationInSegments": { - "type": "boolean" - }, - "PeriodTriggers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "SegmentTemplateFormat": { - "type": "string" - } - }, - "required": [ - "DashManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsEncryption": { - "additionalProperties": false, - "properties": { - "ConstantInitializationVector": { - "type": "string" - }, - "EncryptionMethod": { - "type": "string" - }, - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsManifest": { - "additionalProperties": false, - "properties": { - "AdMarkers": { - "type": "string" - }, - "IncludeIframeOnlyStream": { - "type": "boolean" - }, - "ManifestName": { - "type": "string" - }, - "ProgramDateTimeIntervalSeconds": { - "type": "number" - }, - "RepeatExtXKey": { - "type": "boolean" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.HlsPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsEncryption" - }, - "HlsManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.HlsManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - }, - "UseAudioRenditionGroup": { - "type": "boolean" - } - }, - "required": [ - "HlsManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssEncryption": { - "additionalProperties": false, - "properties": { - "SpekeKeyProvider": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssManifest": { - "additionalProperties": false, - "properties": { - "ManifestName": { - "type": "string" - }, - "StreamSelection": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.StreamSelection" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.MssPackage": { - "additionalProperties": false, - "properties": { - "Encryption": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssEncryption" - }, - "MssManifests": { - "items": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration.MssManifest" - }, - "type": "array" - }, - "SegmentDurationSeconds": { - "type": "number" - } - }, - "required": [ - "MssManifests" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.SpekeKeyProvider": { - "additionalProperties": false, - "properties": { - "RoleArn": { - "type": "string" - }, - "SystemIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "type": "string" - } - }, - "required": [ - "RoleArn", - "SystemIds", - "Url" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingConfiguration.StreamSelection": { - "additionalProperties": false, - "properties": { - "MaxVideoBitsPerSecond": { - "type": "number" - }, - "MinVideoBitsPerSecond": { - "type": "number" - }, - "StreamOrder": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Authorization": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.Authorization" - }, - "EgressAccessLogs": { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup.LogConfiguration" - }, - "Id": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaPackage::PackagingGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.Authorization": { - "additionalProperties": false, - "properties": { - "CdnIdentifierSecret": { - "type": "string" - }, - "SecretsRoleArn": { - "type": "string" - } - }, - "required": [ - "CdnIdentifierSecret", - "SecretsRoleArn" - ], - "type": "object" - }, - "AWS::MediaPackage::PackagingGroup.LogConfiguration": { - "additionalProperties": false, - "properties": { - "LogGroupName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessLoggingEnabled": { - "type": "boolean" - }, - "ContainerName": { - "type": "string" - }, - "CorsPolicy": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.CorsRule" - }, - "type": "array" - }, - "LifecyclePolicy": { - "type": "string" - }, - "MetricPolicy": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicy" - }, - "Policy": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ContainerName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::MediaStore::Container" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::MediaStore::Container.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposeHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxAgeSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicy": { - "additionalProperties": false, - "properties": { - "ContainerLevelMetrics": { - "type": "string" - }, - "MetricPolicyRules": { - "items": { - "$ref": "#/definitions/AWS::MediaStore::Container.MetricPolicyRule" - }, - "type": "array" - } - }, - "required": [ - "ContainerLevelMetrics" - ], - "type": "object" - }, - "AWS::MediaStore::Container.MetricPolicyRule": { - "additionalProperties": false, - "properties": { - "ObjectGroup": { - "type": "string" - }, - "ObjectGroupName": { - "type": "string" - } - }, - "required": [ - "ObjectGroup", - "ObjectGroupName" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::Neptune::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EngineVersion": { - "type": "string" - }, - "IamAuthEnabled": { - "type": "boolean" - }, - "KmsKeyId": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "RestoreToTime": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Neptune::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::Neptune::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Neptune::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Neptune::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeleteProtection": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "FirewallPolicyArn": { - "type": "string" - }, - "FirewallPolicyChangeProtection": { - "type": "boolean" - }, - "SubnetChangeProtection": { - "type": "boolean" - }, - "SubnetMappings": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall.SubnetMapping" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallName", - "FirewallPolicyArn", - "SubnetMappings", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::Firewall" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::Firewall.SubnetMapping": { - "additionalProperties": false, - "properties": { - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "FirewallPolicy": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy" - }, - "FirewallPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "FirewallPolicy", - "FirewallPolicyName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::FirewallPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.FirewallPolicy": { - "additionalProperties": false, - "properties": { - "StatefulRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference" - }, - "type": "array" - }, - "StatelessCustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.CustomAction" - }, - "type": "array" - }, - "StatelessDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessFragmentDefaultActions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StatelessRuleGroupReferences": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference" - }, - "type": "array" - } - }, - "required": [ - "StatelessDefaultActions", - "StatelessFragmentDefaultActions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatefulRuleGroupReference": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::FirewallPolicy.StatelessRuleGroupReference": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "ResourceArn": { - "type": "string" - } - }, - "required": [ - "Priority", - "ResourceArn" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallArn": { - "type": "string" - }, - "FirewallName": { - "type": "string" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration" - } - }, - "required": [ - "FirewallArn", - "LoggingConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::LoggingConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig": { - "additionalProperties": false, - "properties": { - "LogDestination": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LogDestinationType": { - "type": "string" - }, - "LogType": { - "type": "string" - } - }, - "required": [ - "LogDestination", - "LogDestinationType", - "LogType" - ], - "type": "object" - }, - "AWS::NetworkFirewall::LoggingConfiguration.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "LogDestinationConfigs": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration.LogDestinationConfig" - }, - "type": "array" - } - }, - "required": [ - "LogDestinationConfigs" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "RuleGroup": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleGroup" - }, - "RuleGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Capacity", - "RuleGroupName", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkFirewall::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.ActionDefinition": { - "additionalProperties": false, - "properties": { - "PublishMetricAction": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PublishMetricAction" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Address": { - "additionalProperties": false, - "properties": { - "AddressDefinition": { - "type": "string" - } - }, - "required": [ - "AddressDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.CustomAction": { - "additionalProperties": false, - "properties": { - "ActionDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.ActionDefinition" - }, - "ActionName": { - "type": "string" - } - }, - "required": [ - "ActionDefinition", - "ActionName" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Dimension": { - "additionalProperties": false, - "properties": { - "Value": { - "type": "string" - } - }, - "required": [ - "Value" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.Header": { - "additionalProperties": false, - "properties": { - "Destination": { - "type": "string" - }, - "DestinationPort": { - "type": "string" - }, - "Direction": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "Source": { - "type": "string" - }, - "SourcePort": { - "type": "string" - } - }, - "required": [ - "Destination", - "DestinationPort", - "Direction", - "Protocol", - "Source", - "SourcePort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.IPSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.MatchAttributes": { - "additionalProperties": false, - "properties": { - "DestinationPorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "Protocols": { - "items": { - "type": "number" - }, - "type": "array" - }, - "SourcePorts": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortRange" - }, - "type": "array" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Address" - }, - "type": "array" - }, - "TCPFlags": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.TCPFlagField" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortRange": { - "additionalProperties": false, - "properties": { - "FromPort": { - "type": "number" - }, - "ToPort": { - "type": "number" - } - }, - "required": [ - "FromPort", - "ToPort" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PortSet": { - "additionalProperties": false, - "properties": { - "Definition": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.PublishMetricAction": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Dimension" - }, - "type": "array" - } - }, - "required": [ - "Dimensions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleDefinition": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MatchAttributes": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.MatchAttributes" - } - }, - "required": [ - "Actions", - "MatchAttributes" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleGroup": { - "additionalProperties": false, - "properties": { - "RuleVariables": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleVariables" - }, - "RulesSource": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSource" - } - }, - "required": [ - "RulesSource" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleOption": { - "additionalProperties": false, - "properties": { - "Keyword": { - "type": "string" - }, - "Settings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Keyword" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RuleVariables": { - "additionalProperties": false, - "properties": { - "IPSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.IPSet" - } - }, - "type": "object" - }, - "PortSets": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.PortSet" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSource": { - "additionalProperties": false, - "properties": { - "RulesSourceList": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RulesSourceList" - }, - "RulesString": { - "type": "string" - }, - "StatefulRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatefulRule" - }, - "type": "array" - }, - "StatelessRulesAndCustomActions": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions" - } - }, - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.RulesSourceList": { - "additionalProperties": false, - "properties": { - "GeneratedRulesType": { - "type": "string" - }, - "TargetTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Targets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "GeneratedRulesType", - "TargetTypes", - "Targets" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatefulRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Header": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.Header" - }, - "RuleOptions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleOption" - }, - "type": "array" - } - }, - "required": [ - "Action", - "Header", - "RuleOptions" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRule": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "RuleDefinition": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.RuleDefinition" - } - }, - "required": [ - "Priority", - "RuleDefinition" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.StatelessRulesAndCustomActions": { - "additionalProperties": false, - "properties": { - "CustomActions": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.CustomAction" - }, - "type": "array" - }, - "StatelessRules": { - "items": { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup.StatelessRule" - }, - "type": "array" - } - }, - "required": [ - "StatelessRules" - ], - "type": "object" - }, - "AWS::NetworkFirewall::RuleGroup.TCPFlagField": { - "additionalProperties": false, - "properties": { - "Flags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Masks": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Flags" - ], - "type": "object" - }, - "AWS::NetworkManager::CustomerGatewayAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomerGatewayArn": { - "type": "string" - }, - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "CustomerGatewayArn", - "DeviceId", - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::CustomerGatewayAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Device.Location" - }, - "Model": { - "type": "string" - }, - "SerialNumber": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "Vendor": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Device.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::GlobalNetwork": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::GlobalNetwork" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::NetworkManager::Link": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bandwidth": { - "$ref": "#/definitions/AWS::NetworkManager::Link.Bandwidth" - }, - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Provider": { - "type": "string" - }, - "SiteId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Bandwidth", - "GlobalNetworkId", - "SiteId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Link" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Link.Bandwidth": { - "additionalProperties": false, - "properties": { - "DownloadSpeed": { - "type": "number" - }, - "UploadSpeed": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::NetworkManager::LinkAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeviceId": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "LinkId": { - "type": "string" - } - }, - "required": [ - "DeviceId", - "GlobalNetworkId", - "LinkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::LinkAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GlobalNetworkId": { - "type": "string" - }, - "Location": { - "$ref": "#/definitions/AWS::NetworkManager::Site.Location" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GlobalNetworkId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::Site" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NetworkManager::Site.Location": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Latitude": { - "type": "string" - }, - "Longitude": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NetworkManager::TransitGatewayRegistration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GlobalNetworkId": { - "type": "string" - }, - "TransitGatewayArn": { - "type": "string" - } - }, - "required": [ - "GlobalNetworkId", - "TransitGatewayArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NetworkManager::TransitGatewayRegistration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LaunchProfileProtocolVersions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "StreamConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile.StreamConfiguration" - }, - "StudioComponentIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2SubnetIds", - "LaunchProfileProtocolVersions", - "Name", - "StreamConfiguration", - "StudioComponentIds", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::LaunchProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::LaunchProfile.StreamConfiguration": { - "additionalProperties": false, - "properties": { - "ClipboardMode": { - "type": "string" - }, - "Ec2InstanceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "MaxSessionLengthInMinutes": { - "type": "number" - }, - "StreamingImageIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClipboardMode", - "Ec2InstanceTypes", - "StreamingImageIds" - ], - "type": "object" - }, - "AWS::NimbleStudio::StreamingImage": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Ec2ImageId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StudioId": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Ec2ImageId", - "Name", - "StudioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StreamingImage" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdminRoleArn": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "StudioEncryptionConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::Studio.StudioEncryptionConfiguration" - }, - "StudioName": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "UserRoleArn": { - "type": "string" - } - }, - "required": [ - "AdminRoleArn", - "DisplayName", - "StudioName", - "UserRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::Studio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::Studio.StudioEncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "KeyArn": { - "type": "string" - }, - "KeyType": { - "type": "string" - } - }, - "required": [ - "KeyType" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration" - }, - "Description": { - "type": "string" - }, - "Ec2SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "InitializationScripts": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScriptParameters": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue" - }, - "type": "array" - }, - "StudioId": { - "type": "string" - }, - "Subtype": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StudioId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::NimbleStudio::StudioComponent" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration": { - "additionalProperties": false, - "properties": { - "ComputerAttributes": { - "items": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryComputerAttribute" - }, - "type": "array" - }, - "DirectoryId": { - "type": "string" - }, - "OrganizationalUnitDistinguishedName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryUser": { - "type": "string" - }, - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.ScriptParameterKeyValue": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "FileSystemId": { - "type": "string" - }, - "LinuxMountPoint": { - "type": "string" - }, - "ShareName": { - "type": "string" - }, - "WindowsMountDrive": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentConfiguration": { - "additionalProperties": false, - "properties": { - "ActiveDirectoryConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ActiveDirectoryConfiguration" - }, - "ComputeFarmConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.ComputeFarmConfiguration" - }, - "LicenseServiceConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.LicenseServiceConfiguration" - }, - "SharedFileSystemConfiguration": { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent.SharedFileSystemConfiguration" - } - }, - "type": "object" - }, - "AWS::NimbleStudio::StudioComponent.StudioComponentInitializationScript": { - "additionalProperties": false, - "properties": { - "LaunchProfileProtocolVersion": { - "type": "string" - }, - "Platform": { - "type": "string" - }, - "RunContext": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppSource": { - "$ref": "#/definitions/AWS::OpsWorks::App.Source" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "DataSources": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.DataSource" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableSsl": { - "type": "boolean" - }, - "Environment": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::App.EnvironmentVariable" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Shortname": { - "type": "string" - }, - "SslConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::App.SslConfiguration" - }, - "StackId": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::App.DataSource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.EnvironmentVariable": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Secure": { - "type": "boolean" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::OpsWorks::App.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::App.SslConfiguration": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Chain": { - "type": "string" - }, - "PrivateKey": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::ElasticLoadBalancerAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ElasticLoadBalancerName": { - "type": "string" - }, - "LayerId": { - "type": "string" - } - }, - "required": [ - "ElasticLoadBalancerName", - "LayerId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::ElasticLoadBalancerAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "AmiId": { - "type": "string" - }, - "Architecture": { - "type": "string" - }, - "AutoScalingType": { - "type": "string" - }, - "AvailabilityZone": { - "type": "string" - }, - "BlockDeviceMappings": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.BlockDeviceMapping" - }, - "type": "array" - }, - "EbsOptimized": { - "type": "boolean" - }, - "ElasticIps": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Hostname": { - "type": "string" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "InstanceType": { - "type": "string" - }, - "LayerIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Os": { - "type": "string" - }, - "RootDeviceType": { - "type": "string" - }, - "SshKeyName": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - }, - "Tenancy": { - "type": "string" - }, - "TimeBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.TimeBasedAutoScaling" - }, - "VirtualizationType": { - "type": "string" - }, - "Volumes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "InstanceType", - "LayerIds", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Instance.BlockDeviceMapping": { - "additionalProperties": false, - "properties": { - "DeviceName": { - "type": "string" - }, - "Ebs": { - "$ref": "#/definitions/AWS::OpsWorks::Instance.EbsBlockDevice" - }, - "NoDevice": { - "type": "string" - }, - "VirtualName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.EbsBlockDevice": { - "additionalProperties": false, - "properties": { - "DeleteOnTermination": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "SnapshotId": { - "type": "string" - }, - "VolumeSize": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Instance.TimeBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "Friday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Monday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Saturday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Sunday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Thursday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tuesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Wednesday": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "AutoAssignElasticIps": { - "type": "boolean" - }, - "AutoAssignPublicIps": { - "type": "boolean" - }, - "CustomInstanceProfileArn": { - "type": "string" - }, - "CustomJson": { - "type": "object" - }, - "CustomRecipes": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.Recipes" - }, - "CustomSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableAutoHealing": { - "type": "boolean" - }, - "InstallUpdatesOnBoot": { - "type": "boolean" - }, - "LifecycleEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LifecycleEventConfiguration" - }, - "LoadBasedAutoScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.LoadBasedAutoScaling" - }, - "Name": { - "type": "string" - }, - "Packages": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shortname": { - "type": "string" - }, - "StackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "UseEbsOptimizedInstances": { - "type": "boolean" - }, - "VolumeConfigurations": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.VolumeConfiguration" - }, - "type": "array" - } - }, - "required": [ - "AutoAssignElasticIps", - "AutoAssignPublicIps", - "EnableAutoHealing", - "Name", - "Shortname", - "StackId", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Layer" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Layer.AutoScalingThresholds": { - "additionalProperties": false, - "properties": { - "CpuThreshold": { - "type": "number" - }, - "IgnoreMetricsTime": { - "type": "number" - }, - "InstanceCount": { - "type": "number" - }, - "LoadThreshold": { - "type": "number" - }, - "MemoryThreshold": { - "type": "number" - }, - "ThresholdsWaitTime": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LifecycleEventConfiguration": { - "additionalProperties": false, - "properties": { - "ShutdownEventConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.ShutdownEventConfiguration" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.LoadBasedAutoScaling": { - "additionalProperties": false, - "properties": { - "DownScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - }, - "Enable": { - "type": "boolean" - }, - "UpScaling": { - "$ref": "#/definitions/AWS::OpsWorks::Layer.AutoScalingThresholds" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.Recipes": { - "additionalProperties": false, - "properties": { - "Configure": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Deploy": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Setup": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Shutdown": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Undeploy": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.ShutdownEventConfiguration": { - "additionalProperties": false, - "properties": { - "DelayUntilElbConnectionsDrained": { - "type": "boolean" - }, - "ExecutionTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Layer.VolumeConfiguration": { - "additionalProperties": false, - "properties": { - "Encrypted": { - "type": "boolean" - }, - "Iops": { - "type": "number" - }, - "MountPoint": { - "type": "string" - }, - "NumberOfDisks": { - "type": "number" - }, - "RaidLevel": { - "type": "number" - }, - "Size": { - "type": "number" - }, - "VolumeType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AgentVersion": { - "type": "string" - }, - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "ChefConfiguration": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ChefConfiguration" - }, - "CloneAppIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClonePermissions": { - "type": "boolean" - }, - "ConfigurationManager": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.StackConfigurationManager" - }, - "CustomCookbooksSource": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.Source" - }, - "CustomJson": { - "type": "object" - }, - "DefaultAvailabilityZone": { - "type": "string" - }, - "DefaultInstanceProfileArn": { - "type": "string" - }, - "DefaultOs": { - "type": "string" - }, - "DefaultRootDeviceType": { - "type": "string" - }, - "DefaultSshKeyName": { - "type": "string" - }, - "DefaultSubnetId": { - "type": "string" - }, - "EcsClusterArn": { - "type": "string" - }, - "ElasticIps": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.ElasticIp" - }, - "type": "array" - }, - "HostnameTheme": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RdsDbInstances": { - "items": { - "$ref": "#/definitions/AWS::OpsWorks::Stack.RdsDbInstance" - }, - "type": "array" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SourceStackId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseCustomCookbooks": { - "type": "boolean" - }, - "UseOpsworksSecurityGroups": { - "type": "boolean" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "DefaultInstanceProfileArn", - "Name", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Stack" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.ChefConfiguration": { - "additionalProperties": false, - "properties": { - "BerkshelfVersion": { - "type": "string" - }, - "ManageBerkshelf": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.ElasticIp": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.RdsDbInstance": { - "additionalProperties": false, - "properties": { - "DbPassword": { - "type": "string" - }, - "DbUser": { - "type": "string" - }, - "RdsDbInstanceArn": { - "type": "string" - } - }, - "required": [ - "DbPassword", - "DbUser", - "RdsDbInstanceArn" - ], - "type": "object" - }, - "AWS::OpsWorks::Stack.Source": { - "additionalProperties": false, - "properties": { - "Password": { - "type": "string" - }, - "Revision": { - "type": "string" - }, - "SshKey": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Url": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::Stack.StackConfigurationManager": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::OpsWorks::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowSelfManagement": { - "type": "boolean" - }, - "IamUserArn": { - "type": "string" - }, - "SshPublicKey": { - "type": "string" - }, - "SshUsername": { - "type": "string" - } - }, - "required": [ - "IamUserArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorks::Volume": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Ec2VolumeId": { - "type": "string" - }, - "MountPoint": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "StackId": { - "type": "string" - } - }, - "required": [ - "Ec2VolumeId", - "StackId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorks::Volume" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatePublicIpAddress": { - "type": "boolean" - }, - "BackupId": { - "type": "string" - }, - "BackupRetentionCount": { - "type": "number" - }, - "CustomCertificate": { - "type": "string" - }, - "CustomDomain": { - "type": "string" - }, - "CustomPrivateKey": { - "type": "string" - }, - "DisableAutomatedBackup": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineAttributes": { - "items": { - "$ref": "#/definitions/AWS::OpsWorksCM::Server.EngineAttribute" - }, - "type": "array" - }, - "EngineModel": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "InstanceProfileArn": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KeyPair": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ServerName": { - "type": "string" - }, - "ServiceRoleArn": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::OpsWorksCM::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::OpsWorksCM::Server.EngineAttribute": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ADMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId", - "ClientId", - "ClientSecret" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ADMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::APNSVoipSandboxChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "BundleId": { - "type": "string" - }, - "Certificate": { - "type": "string" - }, - "DefaultAuthenticationMethod": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "PrivateKey": { - "type": "string" - }, - "TeamId": { - "type": "string" - }, - "TokenKey": { - "type": "string" - }, - "TokenKeyId": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::APNSVoipSandboxChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.CampaignHook" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.Limits" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings.QuietTime" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::ApplicationSettings" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::ApplicationSettings.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::BaiduChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SecretKey": { - "type": "string" - } - }, - "required": [ - "ApiKey", - "ApplicationId", - "SecretKey" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::BaiduChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AdditionalTreatments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.WriteTreatmentResource" - }, - "type": "array" - }, - "ApplicationId": { - "type": "string" - }, - "CampaignHook": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignHook" - }, - "Description": { - "type": "string" - }, - "HoldoutPercent": { - "type": "number" - }, - "IsPaused": { - "type": "boolean" - }, - "Limits": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Limits" - }, - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SegmentId": { - "type": "string" - }, - "SegmentVersion": { - "type": "number" - }, - "Tags": { - "type": "object" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "MessageConfiguration", - "Name", - "Schedule", - "SegmentId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Campaign" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEmailMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "FromAddress": { - "type": "string" - }, - "HtmlBody": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignEventFilter": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.EventDimensions" - }, - "FilterType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignHook": { - "additionalProperties": false, - "properties": { - "LambdaFunctionName": { - "type": "string" - }, - "Mode": { - "type": "string" - }, - "WebUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.CampaignSmsMessage": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "EntityId": { - "type": "string" - }, - "MessageType": { - "type": "string" - }, - "OriginationNumber": { - "type": "string" - }, - "SenderId": { - "type": "string" - }, - "TemplateId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.EventDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "EventType": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.SetDimension" - }, - "Metrics": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Limits": { - "additionalProperties": false, - "properties": { - "Daily": { - "type": "number" - }, - "MaximumDuration": { - "type": "number" - }, - "MessagesPerSecond": { - "type": "number" - }, - "Total": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.Message": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageSmallIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "JsonBody": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "RawContent": { - "type": "string" - }, - "SilentPush": { - "type": "boolean" - }, - "TimeToLive": { - "type": "number" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MessageConfiguration": { - "additionalProperties": false, - "properties": { - "ADMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "APNSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "BaiduMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "DefaultMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "EmailMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEmailMessage" - }, - "GCMMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Message" - }, - "SMSMessage": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignSmsMessage" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.MetricDimension": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.QuietTime": { - "additionalProperties": false, - "properties": { - "End": { - "type": "string" - }, - "Start": { - "type": "string" - } - }, - "required": [ - "End", - "Start" - ], - "type": "object" - }, - "AWS::Pinpoint::Campaign.Schedule": { - "additionalProperties": false, - "properties": { - "EndTime": { - "type": "string" - }, - "EventFilter": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.CampaignEventFilter" - }, - "Frequency": { - "type": "string" - }, - "IsLocalTime": { - "type": "boolean" - }, - "QuietTime": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.QuietTime" - }, - "StartTime": { - "type": "string" - }, - "TimeZone": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Campaign.WriteTreatmentResource": { - "additionalProperties": false, - "properties": { - "MessageConfiguration": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.MessageConfiguration" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Pinpoint::Campaign.Schedule" - }, - "SizePercent": { - "type": "number" - }, - "TreatmentDescription": { - "type": "string" - }, - "TreatmentName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::EmailChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "ConfigurationSet": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "FromAddress": { - "type": "string" - }, - "Identity": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "FromAddress", - "Identity" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EmailTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultSubstitutions": { - "type": "string" - }, - "HtmlPart": { - "type": "string" - }, - "Subject": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "required": [ - "Subject", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EmailTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::EventStream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "DestinationStreamArn": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "ApplicationId", - "DestinationStreamArn", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::EventStream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::GCMChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApiKey": { - "type": "string" - }, - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApiKey", - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::GCMChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ADM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "APNS": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate" - }, - "Baidu": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Default": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "GCM": { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::PushTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "MediaUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "ImageIconUrl": { - "type": "string" - }, - "ImageUrl": { - "type": "string" - }, - "SmallImageIconUrl": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Body": { - "type": "string" - }, - "Sound": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::SMSChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - }, - "SenderId": { - "type": "string" - }, - "ShortCode": { - "type": "string" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SMSChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Dimensions": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "Name": { - "type": "string" - }, - "SegmentGroups": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentGroups" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "ApplicationId", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::Segment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.AttributeDimension": { - "additionalProperties": false, - "properties": { - "AttributeType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Behavior": { - "additionalProperties": false, - "properties": { - "Recency": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Recency" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Coordinates": { - "additionalProperties": false, - "properties": { - "Latitude": { - "type": "number" - }, - "Longitude": { - "type": "number" - } - }, - "required": [ - "Latitude", - "Longitude" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Demographic": { - "additionalProperties": false, - "properties": { - "AppVersion": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Channel": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "DeviceType": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Make": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Model": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "Platform": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.GPSPoint": { - "additionalProperties": false, - "properties": { - "Coordinates": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Coordinates" - }, - "RangeInKilometers": { - "type": "number" - } - }, - "required": [ - "Coordinates", - "RangeInKilometers" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.Groups": { - "additionalProperties": false, - "properties": { - "Dimensions": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SegmentDimensions" - }, - "type": "array" - }, - "SourceSegments": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SourceSegments" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Location": { - "additionalProperties": false, - "properties": { - "Country": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.SetDimension" - }, - "GPSPoint": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.GPSPoint" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.Recency": { - "additionalProperties": false, - "properties": { - "Duration": { - "type": "string" - }, - "RecencyType": { - "type": "string" - } - }, - "required": [ - "Duration", - "RecencyType" - ], - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentDimensions": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Behavior": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Behavior" - }, - "Demographic": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Demographic" - }, - "Location": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Location" - }, - "Metrics": { - "type": "object" - }, - "UserAttributes": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SegmentGroups": { - "additionalProperties": false, - "properties": { - "Groups": { - "items": { - "$ref": "#/definitions/AWS::Pinpoint::Segment.Groups" - }, - "type": "array" - }, - "Include": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SetDimension": { - "additionalProperties": false, - "properties": { - "DimensionType": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::Pinpoint::Segment.SourceSegments": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::Pinpoint::SmsTemplate": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Body": { - "type": "string" - }, - "DefaultSubstitutions": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "TemplateDescription": { - "type": "string" - }, - "TemplateName": { - "type": "string" - } - }, - "required": [ - "Body", - "TemplateName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::SmsTemplate" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Pinpoint::VoiceChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplicationId": { - "type": "string" - }, - "Enabled": { - "type": "boolean" - } - }, - "required": [ - "ApplicationId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Pinpoint::VoiceChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.DeliveryOptions" - }, - "Name": { - "type": "string" - }, - "ReputationOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.ReputationOptions" - }, - "SendingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.SendingOptions" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.Tags" - }, - "type": "array" - }, - "TrackingOptions": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet.TrackingOptions" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": { - "additionalProperties": false, - "properties": { - "SendingPoolName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": { - "additionalProperties": false, - "properties": { - "ReputationMetricsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.SendingOptions": { - "additionalProperties": false, - "properties": { - "SendingEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": { - "additionalProperties": false, - "properties": { - "CustomRedirectDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination" - }, - "EventDestinationName": { - "type": "string" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestinationName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PinpointDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination" - }, - "SnsDestination": { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamArn": { - "type": "string" - }, - "IamRoleArn": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamArn", - "IamRoleArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": { - "additionalProperties": false, - "properties": { - "ApplicationArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": { - "additionalProperties": false, - "properties": { - "TopicArn": { - "type": "string" - } - }, - "required": [ - "TopicArn" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PoolName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool.Tags" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::DedicatedIpPool" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::PinpointEmail::DedicatedIpPool.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DkimSigningEnabled": { - "type": "boolean" - }, - "FeedbackForwardingEnabled": { - "type": "boolean" - }, - "MailFromAttributes": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.MailFromAttributes" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::PinpointEmail::Identity.Tags" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::PinpointEmail::Identity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::PinpointEmail::Identity.MailFromAttributes": { - "additionalProperties": false, - "properties": { - "BehaviorOnMxFailure": { - "type": "string" - }, - "MailFromDomain": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::PinpointEmail::Identity.Tags": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QLDB::Ledger": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "KmsKey": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "PermissionsMode": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PermissionsMode" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Ledger" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ExclusiveEndTime": { - "type": "string" - }, - "InclusiveStartTime": { - "type": "string" - }, - "KinesisConfiguration": { - "$ref": "#/definitions/AWS::QLDB::Stream.KinesisConfiguration" - }, - "LedgerName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "StreamName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InclusiveStartTime", - "KinesisConfiguration", - "LedgerName", - "RoleArn", - "StreamName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QLDB::Stream" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QLDB::Stream.KinesisConfiguration": { - "additionalProperties": false, - "properties": { - "AggregationEnabled": { - "type": "boolean" - }, - "StreamArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AnalysisId": { - "type": "string" - }, - "AwsAccountId": { - "type": "string" - }, - "Errors": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisError" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - } - }, - "required": [ - "AnalysisId", - "AwsAccountId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Analysis" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisError": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.AnalysisSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.AnalysisSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Analysis.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Analysis.Sheet": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SheetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Analysis.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "DashboardId": { - "type": "string" - }, - "DashboardPublishOptions": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardPublishOptions" - }, - "Name": { - "type": "string" - }, - "Parameters": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.Parameters" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeArn": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "DashboardId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Dashboard" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.AdHocFilteringOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardPublishOptions": { - "additionalProperties": false, - "properties": { - "AdHocFilteringOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.AdHocFilteringOption" - }, - "ExportToCSVOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.ExportToCSVOption" - }, - "SheetControlsOption": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.SheetControlsOption" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DashboardSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.DashboardSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DateTimeParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.DecimalParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.ExportToCSVOption": { - "additionalProperties": false, - "properties": { - "AvailabilityStatus": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.IntegerParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "number" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.Parameters": { - "additionalProperties": false, - "properties": { - "DateTimeParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DateTimeParameter" - }, - "type": "array" - }, - "DecimalParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.DecimalParameter" - }, - "type": "array" - }, - "IntegerParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.IntegerParameter" - }, - "type": "array" - }, - "StringParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Dashboard.StringParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Dashboard.SheetControlsOption": { - "additionalProperties": false, - "properties": { - "VisibilityState": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Dashboard.StringParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Values" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "ColumnGroups": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnGroup" - }, - "type": "array" - }, - "ColumnLevelPermissionRules": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnLevelPermissionRule" - }, - "type": "array" - }, - "DataSetId": { - "type": "string" - }, - "FieldFolders": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FieldFolder" - } - }, - "type": "object" - }, - "ImportMode": { - "type": "string" - }, - "IngestionWaitPolicy": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.IngestionWaitPolicy" - }, - "LogicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTable" - } - }, - "type": "object" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ResourcePermission" - }, - "type": "array" - }, - "PhysicalTableMap": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.PhysicalTable" - } - }, - "type": "object" - }, - "RowLevelPermissionDataSet": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RowLevelPermissionDataSet" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CalculatedColumn": { - "additionalProperties": false, - "properties": { - "ColumnId": { - "type": "string" - }, - "ColumnName": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "ColumnId", - "ColumnName", - "Expression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CastColumnTypeOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "NewColumnType": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnType" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnDescription": { - "additionalProperties": false, - "properties": { - "Text": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnGroup": { - "additionalProperties": false, - "properties": { - "GeoSpatialColumnGroup": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.GeoSpatialColumnGroup" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnLevelPermissionRule": { - "additionalProperties": false, - "properties": { - "ColumnNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ColumnTag": { - "additionalProperties": false, - "properties": { - "ColumnDescription": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnDescription" - }, - "ColumnGeographicRole": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.CreateColumnsOperation": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CalculatedColumn" - }, - "type": "array" - } - }, - "required": [ - "Columns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.CustomSql": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "DataSourceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "SqlQuery": { - "type": "string" - } - }, - "required": [ - "Columns", - "DataSourceArn", - "Name", - "SqlQuery" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.FieldFolder": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.FilterOperation": { - "additionalProperties": false, - "properties": { - "ConditionExpression": { - "type": "string" - } - }, - "required": [ - "ConditionExpression" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.GeoSpatialColumnGroup": { - "additionalProperties": false, - "properties": { - "Columns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CountryCode": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Columns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.IngestionWaitPolicy": { - "additionalProperties": false, - "properties": { - "IngestionWaitTimeInHours": { - "type": "number" - }, - "WaitForSpiceIngestion": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.InputColumn": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinInstruction": { - "additionalProperties": false, - "properties": { - "LeftJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "LeftOperand": { - "type": "string" - }, - "OnClause": { - "type": "string" - }, - "RightJoinKeyProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinKeyProperties" - }, - "RightOperand": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "LeftOperand", - "OnClause", - "RightOperand", - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.JoinKeyProperties": { - "additionalProperties": false, - "properties": { - "UniqueKey": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTable": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DataTransforms": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TransformOperation" - }, - "type": "array" - }, - "Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.LogicalTableSource" - } - }, - "required": [ - "Alias", - "Source" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.LogicalTableSource": { - "additionalProperties": false, - "properties": { - "JoinInstruction": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.JoinInstruction" - }, - "PhysicalTableId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.OutputColumn": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.PhysicalTable": { - "additionalProperties": false, - "properties": { - "CustomSql": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CustomSql" - }, - "RelationalTable": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RelationalTable" - }, - "S3Source": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.S3Source" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.ProjectOperation": { - "additionalProperties": false, - "properties": { - "ProjectedColumns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ProjectedColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RelationalTable": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Schema": { - "type": "string" - } - }, - "required": [ - "DataSourceArn", - "InputColumns", - "Name" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RenameColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "NewColumnName": { - "type": "string" - } - }, - "required": [ - "ColumnName", - "NewColumnName" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.RowLevelPermissionDataSet": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FormatVersion": { - "type": "string" - }, - "Namespace": { - "type": "string" - }, - "PermissionPolicy": { - "type": "string" - } - }, - "required": [ - "Arn", - "PermissionPolicy" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.S3Source": { - "additionalProperties": false, - "properties": { - "DataSourceArn": { - "type": "string" - }, - "InputColumns": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.InputColumn" - }, - "type": "array" - }, - "UploadSettings": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.UploadSettings" - } - }, - "required": [ - "DataSourceArn", - "InputColumns" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TagColumnOperation": { - "additionalProperties": false, - "properties": { - "ColumnName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ColumnTag" - }, - "type": "array" - } - }, - "required": [ - "ColumnName", - "Tags" - ], - "type": "object" - }, - "AWS::QuickSight::DataSet.TransformOperation": { - "additionalProperties": false, - "properties": { - "CastColumnTypeOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CastColumnTypeOperation" - }, - "CreateColumnsOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.CreateColumnsOperation" - }, - "FilterOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.FilterOperation" - }, - "ProjectOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.ProjectOperation" - }, - "RenameColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.RenameColumnOperation" - }, - "TagColumnOperation": { - "$ref": "#/definitions/AWS::QuickSight::DataSet.TagColumnOperation" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSet.UploadSettings": { - "additionalProperties": false, - "properties": { - "ContainsHeader": { - "type": "boolean" - }, - "Delimiter": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "StartFromRow": { - "type": "number" - }, - "TextQualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "AwsAccountId": { - "type": "string" - }, - "Credentials": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceCredentials" - }, - "DataSourceId": { - "type": "string" - }, - "DataSourceParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "ErrorInfo": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceErrorInfo" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ResourcePermission" - }, - "type": "array" - }, - "SslProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SslProperties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - }, - "VpcConnectionProperties": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.VpcConnectionProperties" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::DataSource" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AmazonElasticsearchParameters": { - "additionalProperties": false, - "properties": { - "Domain": { - "type": "string" - } - }, - "required": [ - "Domain" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AthenaParameters": { - "additionalProperties": false, - "properties": { - "WorkGroup": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.AuroraPostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.CredentialPair": { - "additionalProperties": false, - "properties": { - "AlternateDataSourceParameters": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.DataSourceParameters" - }, - "type": "array" - }, - "Password": { - "type": "string" - }, - "Username": { - "type": "string" - } - }, - "required": [ - "Password", - "Username" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceCredentials": { - "additionalProperties": false, - "properties": { - "CopySourceArn": { - "type": "string" - }, - "CredentialPair": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.CredentialPair" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceErrorInfo": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.DataSourceParameters": { - "additionalProperties": false, - "properties": { - "AmazonElasticsearchParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AmazonElasticsearchParameters" - }, - "AthenaParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AthenaParameters" - }, - "AuroraParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraParameters" - }, - "AuroraPostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.AuroraPostgreSqlParameters" - }, - "MariaDbParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MariaDbParameters" - }, - "MySqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.MySqlParameters" - }, - "OracleParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.OracleParameters" - }, - "PostgreSqlParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PostgreSqlParameters" - }, - "PrestoParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.PrestoParameters" - }, - "RdsParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RdsParameters" - }, - "RedshiftParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.RedshiftParameters" - }, - "S3Parameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.S3Parameters" - }, - "SnowflakeParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SnowflakeParameters" - }, - "SparkParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SparkParameters" - }, - "SqlServerParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.SqlServerParameters" - }, - "TeradataParameters": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.TeradataParameters" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.ManifestFileLocation": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MariaDbParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.MySqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.OracleParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PostgreSqlParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.PrestoParameters": { - "additionalProperties": false, - "properties": { - "Catalog": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Catalog", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RdsParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "InstanceId": { - "type": "string" - } - }, - "required": [ - "Database", - "InstanceId" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.RedshiftParameters": { - "additionalProperties": false, - "properties": { - "ClusterId": { - "type": "string" - }, - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.S3Parameters": { - "additionalProperties": false, - "properties": { - "ManifestFileLocation": { - "$ref": "#/definitions/AWS::QuickSight::DataSource.ManifestFileLocation" - } - }, - "required": [ - "ManifestFileLocation" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SnowflakeParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Warehouse": { - "type": "string" - } - }, - "required": [ - "Database", - "Host", - "Warehouse" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SparkParameters": { - "additionalProperties": false, - "properties": { - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SqlServerParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.SslProperties": { - "additionalProperties": false, - "properties": { - "DisableSsl": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::DataSource.TeradataParameters": { - "additionalProperties": false, - "properties": { - "Database": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Port": { - "type": "number" - } - }, - "required": [ - "Database", - "Host", - "Port" - ], - "type": "object" - }, - "AWS::QuickSight::DataSource.VpcConnectionProperties": { - "additionalProperties": false, - "properties": { - "VpcConnectionArn": { - "type": "string" - } - }, - "required": [ - "VpcConnectionArn" - ], - "type": "object" - }, - "AWS::QuickSight::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.ResourcePermission" - }, - "type": "array" - }, - "SourceEntity": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceEntity" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TemplateId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "TemplateId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Template.DataSetReference": { - "additionalProperties": false, - "properties": { - "DataSetArn": { - "type": "string" - }, - "DataSetPlaceholder": { - "type": "string" - } - }, - "required": [ - "DataSetArn", - "DataSetPlaceholder" - ], - "type": "object" - }, - "AWS::QuickSight::Template.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceAnalysis": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "DataSetReferences": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Template.DataSetReference" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "DataSetReferences" - ], - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceEntity": { - "additionalProperties": false, - "properties": { - "SourceAnalysis": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceAnalysis" - }, - "SourceTemplate": { - "$ref": "#/definitions/AWS::QuickSight::Template.TemplateSourceTemplate" - } - }, - "type": "object" - }, - "AWS::QuickSight::Template.TemplateSourceTemplate": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::QuickSight::Theme": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AwsAccountId": { - "type": "string" - }, - "BaseThemeId": { - "type": "string" - }, - "Configuration": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ThemeConfiguration" - }, - "Name": { - "type": "string" - }, - "Permissions": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.ResourcePermission" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "ThemeId": { - "type": "string" - }, - "VersionDescription": { - "type": "string" - } - }, - "required": [ - "AwsAccountId", - "ThemeId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::QuickSight::Theme" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.BorderStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.DataColorPalette": { - "additionalProperties": false, - "properties": { - "Colors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EmptyFillColor": { - "type": "string" - }, - "MinMaxGradient": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Font": { - "additionalProperties": false, - "properties": { - "FontFamily": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.GutterStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.MarginStyle": { - "additionalProperties": false, - "properties": { - "Show": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ResourcePermission": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principal": { - "type": "string" - } - }, - "required": [ - "Actions", - "Principal" - ], - "type": "object" - }, - "AWS::QuickSight::Theme.SheetStyle": { - "additionalProperties": false, - "properties": { - "Tile": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileStyle" - }, - "TileLayout": { - "$ref": "#/definitions/AWS::QuickSight::Theme.TileLayoutStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.ThemeConfiguration": { - "additionalProperties": false, - "properties": { - "DataColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.DataColorPalette" - }, - "Sheet": { - "$ref": "#/definitions/AWS::QuickSight::Theme.SheetStyle" - }, - "Typography": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Typography" - }, - "UIColorPalette": { - "$ref": "#/definitions/AWS::QuickSight::Theme.UIColorPalette" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileLayoutStyle": { - "additionalProperties": false, - "properties": { - "Gutter": { - "$ref": "#/definitions/AWS::QuickSight::Theme.GutterStyle" - }, - "Margin": { - "$ref": "#/definitions/AWS::QuickSight::Theme.MarginStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.TileStyle": { - "additionalProperties": false, - "properties": { - "Border": { - "$ref": "#/definitions/AWS::QuickSight::Theme.BorderStyle" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.Typography": { - "additionalProperties": false, - "properties": { - "FontFamilies": { - "items": { - "$ref": "#/definitions/AWS::QuickSight::Theme.Font" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::QuickSight::Theme.UIColorPalette": { - "additionalProperties": false, - "properties": { - "Accent": { - "type": "string" - }, - "AccentForeground": { - "type": "string" - }, - "Danger": { - "type": "string" - }, - "DangerForeground": { - "type": "string" - }, - "Dimension": { - "type": "string" - }, - "DimensionForeground": { - "type": "string" - }, - "Measure": { - "type": "string" - }, - "MeasureForeground": { - "type": "string" - }, - "PrimaryBackground": { - "type": "string" - }, - "PrimaryForeground": { - "type": "string" - }, - "SecondaryBackground": { - "type": "string" - }, - "SecondaryForeground": { - "type": "string" - }, - "Success": { - "type": "string" - }, - "SuccessForeground": { - "type": "string" - }, - "Warning": { - "type": "string" - }, - "WarningForeground": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RAM::ResourceShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowExternalPrincipals": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "PermissionArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Principals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RAM::ResourceShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBCluster.DBClusterRole" - }, - "type": "array" - }, - "AvailabilityZones": { - "items": { - "type": "string" - }, - "type": "array" - }, - "BacktrackWindow": { - "type": "number" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBClusterParameterGroupName": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DatabaseName": { - "type": "string" - }, - "DeletionProtection": { - "type": "boolean" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableHttpEndpoint": { - "type": "boolean" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineMode": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ReplicationSourceIdentifier": { - "type": "string" - }, - "RestoreType": { - "type": "string" - }, - "ScalingConfiguration": { - "$ref": "#/definitions/AWS::RDS::DBCluster.ScalingConfiguration" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UseLatestRestorableTime": { - "type": "boolean" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Engine" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.DBClusterRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBCluster.ScalingConfiguration": { - "additionalProperties": false, - "properties": { - "AutoPause": { - "type": "boolean" - }, - "MaxCapacity": { - "type": "number" - }, - "MinCapacity": { - "type": "number" - }, - "SecondsUntilAutoPause": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::RDS::DBClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family", - "Parameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllocatedStorage": { - "type": "string" - }, - "AllowMajorVersionUpgrade": { - "type": "boolean" - }, - "AssociatedRoles": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.DBInstanceRole" - }, - "type": "array" - }, - "AutoMinorVersionUpgrade": { - "type": "boolean" - }, - "AvailabilityZone": { - "type": "string" - }, - "BackupRetentionPeriod": { - "type": "number" - }, - "CACertificateIdentifier": { - "type": "string" - }, - "CharacterSetName": { - "type": "string" - }, - "CopyTagsToSnapshot": { - "type": "boolean" - }, - "DBClusterIdentifier": { - "type": "string" - }, - "DBInstanceClass": { - "type": "string" - }, - "DBInstanceIdentifier": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "DBParameterGroupName": { - "type": "string" - }, - "DBSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBSnapshotIdentifier": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "DeleteAutomatedBackups": { - "type": "boolean" - }, - "DeletionProtection": { - "type": "boolean" - }, - "Domain": { - "type": "string" - }, - "DomainIAMRoleName": { - "type": "string" - }, - "EnableCloudwatchLogsExports": { - "items": { - "type": "string" - }, - "type": "array" - }, - "EnableIAMDatabaseAuthentication": { - "type": "boolean" - }, - "EnablePerformanceInsights": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "Iops": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - }, - "LicenseModel": { - "type": "string" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "MaxAllocatedStorage": { - "type": "number" - }, - "MonitoringInterval": { - "type": "number" - }, - "MonitoringRoleArn": { - "type": "string" - }, - "MultiAZ": { - "type": "boolean" - }, - "OptionGroupName": { - "type": "string" - }, - "PerformanceInsightsKMSKeyId": { - "type": "string" - }, - "PerformanceInsightsRetentionPeriod": { - "type": "number" - }, - "Port": { - "type": "string" - }, - "PreferredBackupWindow": { - "type": "string" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "ProcessorFeatures": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBInstance.ProcessorFeature" - }, - "type": "array" - }, - "PromotionTier": { - "type": "number" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SourceDBInstanceIdentifier": { - "type": "string" - }, - "SourceRegion": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - }, - "StorageType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Timezone": { - "type": "string" - }, - "UseDefaultProcessorFeatures": { - "type": "boolean" - }, - "VPCSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBInstanceClass" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.DBInstanceRole": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "RoleArn" - ], - "type": "object" - }, - "AWS::RDS::DBInstance.ProcessorFeature": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Family": { - "type": "string" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "Family" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Auth": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.AuthFormat" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "DebugLogging": { - "type": "boolean" - }, - "EngineFamily": { - "type": "string" - }, - "IdleClientTimeout": { - "type": "number" - }, - "RequireTLS": { - "type": "boolean" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxy.TagFormat" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Auth", - "DBProxyName", - "EngineFamily", - "RoleArn", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxy.AuthFormat": { - "additionalProperties": false, - "properties": { - "AuthScheme": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "IAMAuth": { - "type": "string" - }, - "SecretArn": { - "type": "string" - }, - "UserName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxy.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBProxyEndpointName": { - "type": "string" - }, - "DBProxyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint.TagFormat" - }, - "type": "array" - }, - "TargetRole": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcSubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "DBProxyEndpointName", - "DBProxyName", - "VpcSubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyEndpoint.TagFormat": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionPoolConfigurationInfo": { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat" - }, - "DBClusterIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBInstanceIdentifiers": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DBProxyName": { - "type": "string" - }, - "TargetGroupName": { - "type": "string" - } - }, - "required": [ - "DBProxyName", - "TargetGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBProxyTargetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBProxyTargetGroup.ConnectionPoolConfigurationInfoFormat": { - "additionalProperties": false, - "properties": { - "ConnectionBorrowTimeout": { - "type": "number" - }, - "InitQuery": { - "type": "string" - }, - "MaxConnectionsPercent": { - "type": "number" - }, - "MaxIdleConnectionsPercent": { - "type": "number" - }, - "SessionPinningFilters": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupIngress": { - "items": { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup.Ingress" - }, - "type": "array" - }, - "EC2VpcId": { - "type": "string" - }, - "GroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSecurityGroupIngress", - "GroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSecurityGroup.Ingress": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::RDS::DBSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "DBSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupId": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "DBSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::DBSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DBSubnetGroupDescription": { - "type": "string" - }, - "DBSubnetGroupName": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DBSubnetGroupDescription", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::DBSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::EventSubscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - }, - "EventCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SnsTopicArn": { - "type": "string" - }, - "SourceIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SnsTopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::EventSubscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::GlobalCluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtection": { - "type": "boolean" - }, - "Engine": { - "type": "string" - }, - "EngineVersion": { - "type": "string" - }, - "GlobalClusterIdentifier": { - "type": "string" - }, - "SourceDBClusterIdentifier": { - "type": "string" - }, - "StorageEncrypted": { - "type": "boolean" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::GlobalCluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EngineName": { - "type": "string" - }, - "MajorEngineVersion": { - "type": "string" - }, - "OptionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionConfiguration" - }, - "type": "array" - }, - "OptionGroupDescription": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EngineName", - "MajorEngineVersion", - "OptionConfigurations", - "OptionGroupDescription" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RDS::OptionGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionConfiguration": { - "additionalProperties": false, - "properties": { - "DBSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - }, - "OptionName": { - "type": "string" - }, - "OptionSettings": { - "items": { - "$ref": "#/definitions/AWS::RDS::OptionGroup.OptionSetting" - }, - "type": "array" - }, - "OptionVersion": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "VpcSecurityGroupMemberships": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OptionName" - ], - "type": "object" - }, - "AWS::RDS::OptionGroup.OptionSetting": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowVersionUpgrade": { - "type": "boolean" - }, - "AutomatedSnapshotRetentionPeriod": { - "type": "number" - }, - "AvailabilityZone": { - "type": "string" - }, - "ClusterIdentifier": { - "type": "string" - }, - "ClusterParameterGroupName": { - "type": "string" - }, - "ClusterSecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ClusterSubnetGroupName": { - "type": "string" - }, - "ClusterType": { - "type": "string" - }, - "ClusterVersion": { - "type": "string" - }, - "DBName": { - "type": "string" - }, - "ElasticIp": { - "type": "string" - }, - "Encrypted": { - "type": "boolean" - }, - "Endpoint": { - "$ref": "#/definitions/AWS::Redshift::Cluster.Endpoint" - }, - "HsmClientCertificateIdentifier": { - "type": "string" - }, - "HsmConfigurationIdentifier": { - "type": "string" - }, - "IamRoles": { - "items": { - "type": "string" - }, - "type": "array" - }, - "KmsKeyId": { - "type": "string" - }, - "LoggingProperties": { - "$ref": "#/definitions/AWS::Redshift::Cluster.LoggingProperties" - }, - "MasterUserPassword": { - "type": "string" - }, - "MasterUsername": { - "type": "string" - }, - "NodeType": { - "type": "string" - }, - "NumberOfNodes": { - "type": "number" - }, - "OwnerAccount": { - "type": "string" - }, - "Port": { - "type": "number" - }, - "PreferredMaintenanceWindow": { - "type": "string" - }, - "PubliclyAccessible": { - "type": "boolean" - }, - "SnapshotClusterIdentifier": { - "type": "string" - }, - "SnapshotIdentifier": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcSecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "ClusterType", - "DBName", - "MasterUserPassword", - "MasterUsername", - "NodeType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::Cluster.Endpoint": { - "additionalProperties": false, - "properties": { - "Address": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Redshift::Cluster.LoggingProperties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "S3KeyPrefix": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "ParameterGroupFamily": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup.Parameter" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "ParameterGroupFamily" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterParameterGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterParameterGroup.Parameter": { - "additionalProperties": false, - "properties": { - "ParameterName": { - "type": "string" - }, - "ParameterValue": { - "type": "string" - } - }, - "required": [ - "ParameterName", - "ParameterValue" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSecurityGroupIngress": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CIDRIP": { - "type": "string" - }, - "ClusterSecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupName": { - "type": "string" - }, - "EC2SecurityGroupOwnerId": { - "type": "string" - } - }, - "required": [ - "ClusterSecurityGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSecurityGroupIngress" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Redshift::ClusterSubnetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Description", - "SubnetIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Redshift::ClusterSubnetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Configuration": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationItem" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResourceQuery": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ResourceQuery" - }, - "Resources": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ResourceGroups::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationItem": { - "additionalProperties": false, - "properties": { - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.ConfigurationParameter" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ConfigurationParameter": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.Query": { - "additionalProperties": false, - "properties": { - "ResourceTypeFilters": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackIdentifier": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.ResourceQuery": { - "additionalProperties": false, - "properties": { - "Query": { - "$ref": "#/definitions/AWS::ResourceGroups::Group.Query" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::ResourceGroups::Group.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::RoboMaker::Fleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Fleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::RoboMaker::Robot": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "Fleet": { - "type": "string" - }, - "GreengrassGroupId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "Architecture", - "GreengrassGroupId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::Robot" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.RobotSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RobotSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::RobotApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::RobotApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CurrentRevisionId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RenderingEngine": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RenderingEngine" - }, - "RobotSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite" - }, - "SimulationSoftwareSuite": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication.SourceConfig" - }, - "type": "array" - }, - "Tags": { - "type": "object" - } - }, - "required": [ - "RenderingEngine", - "RobotSoftwareSuite", - "SimulationSoftwareSuite", - "Sources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplication" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RenderingEngine": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Name", - "Version" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplication.SourceConfig": { - "additionalProperties": false, - "properties": { - "Architecture": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - } - }, - "required": [ - "Architecture", - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "AWS::RoboMaker::SimulationApplicationVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "CurrentRevisionId": { - "type": "string" - } - }, - "required": [ - "Application" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::RoboMaker::SimulationApplicationVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::DNSSEC": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "HostedZoneId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::DNSSEC" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HealthCheckConfig": { - "type": "object" - }, - "HealthCheckTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HealthCheck.HealthCheckTag" - }, - "type": "array" - } - }, - "required": [ - "HealthCheckConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HealthCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HealthCheck.HealthCheckTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneConfig" - }, - "HostedZoneTags": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.HostedZoneTag" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "QueryLoggingConfig": { - "$ref": "#/definitions/AWS::Route53::HostedZone.QueryLoggingConfig" - }, - "VPCs": { - "items": { - "$ref": "#/definitions/AWS::Route53::HostedZone.VPC" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::HostedZone" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneConfig": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::HostedZone.HostedZoneTag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.QueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroupArn": { - "type": "string" - } - }, - "required": [ - "CloudWatchLogsLogGroupArn" - ], - "type": "object" - }, - "AWS::Route53::HostedZone.VPC": { - "additionalProperties": false, - "properties": { - "VPCId": { - "type": "string" - }, - "VPCRegion": { - "type": "string" - } - }, - "required": [ - "VPCId", - "VPCRegion" - ], - "type": "object" - }, - "AWS::Route53::KeySigningKey": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedZoneId": { - "type": "string" - }, - "KeyManagementServiceArn": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "HostedZoneId", - "KeyManagementServiceArn", - "Name", - "Status" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::KeySigningKey" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSet.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSet.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSet.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "RecordSets": { - "items": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.RecordSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53::RecordSetGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.AliasTarget": { - "additionalProperties": false, - "properties": { - "DNSName": { - "type": "string" - }, - "EvaluateTargetHealth": { - "type": "boolean" - }, - "HostedZoneId": { - "type": "string" - } - }, - "required": [ - "DNSName", - "HostedZoneId" - ], - "type": "object" - }, - "AWS::Route53::RecordSetGroup.GeoLocation": { - "additionalProperties": false, - "properties": { - "ContinentCode": { - "type": "string" - }, - "CountryCode": { - "type": "string" - }, - "SubdivisionCode": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53::RecordSetGroup.RecordSet": { - "additionalProperties": false, - "properties": { - "AliasTarget": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.AliasTarget" - }, - "Comment": { - "type": "string" - }, - "Failover": { - "type": "string" - }, - "GeoLocation": { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup.GeoLocation" - }, - "HealthCheckId": { - "type": "string" - }, - "HostedZoneId": { - "type": "string" - }, - "HostedZoneName": { - "type": "string" - }, - "MultiValueAnswer": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Region": { - "type": "string" - }, - "ResourceRecords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SetIdentifier": { - "type": "string" - }, - "TTL": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Weight": { - "type": "number" - } - }, - "required": [ - "Name", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::Cluster" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::Cluster.ClusterEndpoint": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryControl::ControlPanel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::ControlPanel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::RoutingControl": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ClusterArn": { - "type": "string" - }, - "ControlPanelArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::RoutingControl" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AssertionRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.AssertionRule" - }, - "ControlPanelArn": { - "type": "string" - }, - "GatingRule": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.GatingRule" - }, - "Name": { - "type": "string" - }, - "RuleConfig": { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule.RuleConfig" - } - }, - "required": [ - "ControlPanelArn", - "Name", - "RuleConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryControl::SafetyRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.AssertionRule": { - "additionalProperties": false, - "properties": { - "AssertedControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "AssertedControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.GatingRule": { - "additionalProperties": false, - "properties": { - "GatingControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "TargetControls": { - "items": { - "type": "string" - }, - "type": "array" - }, - "WaitPeriodMs": { - "type": "number" - } - }, - "required": [ - "GatingControls", - "TargetControls", - "WaitPeriodMs" - ], - "type": "object" - }, - "AWS::Route53RecoveryControl::SafetyRule.RuleConfig": { - "additionalProperties": false, - "properties": { - "Inverted": { - "type": "boolean" - }, - "Threshold": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Inverted", - "Threshold", - "Type" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::Cell": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CellName": { - "type": "string" - }, - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "CellName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::Cell" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ReadinessCheck": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ReadinessCheckName": { - "type": "string" - }, - "ResourceSetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ReadinessCheckName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ReadinessCheck" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::RecoveryGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Cells": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RecoveryGroupName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RecoveryGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::RecoveryGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceSetName": { - "type": "string" - }, - "ResourceSetType": { - "type": "string" - }, - "Resources": { - "items": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.Resource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ResourceSetName", - "ResourceSetType", - "Resources" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53RecoveryReadiness::ResourceSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "HostedZoneArn": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - }, - "RecordType": { - "type": "string" - }, - "TargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.TargetResource" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.NLBResource": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "RecordSetId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.Resource": { - "additionalProperties": false, - "properties": { - "ComponentId": { - "type": "string" - }, - "DnsTargetResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.DNSTargetResource" - }, - "ReadinessScopes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ResourceArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Route53RecoveryReadiness::ResourceSet.TargetResource": { - "additionalProperties": false, - "properties": { - "NLBResource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.NLBResource" - }, - "R53Resource": { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet.R53ResourceRecord" - } - }, - "type": "object" - }, - "AWS::Route53Resolver::FirewallDomainList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainFileUrl": { - "type": "string" - }, - "Domains": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallDomainList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRules": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup.FirewallRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroup.FirewallRule": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "BlockOverrideDnsType": { - "type": "string" - }, - "BlockOverrideDomain": { - "type": "string" - }, - "BlockOverrideTtl": { - "type": "number" - }, - "BlockResponse": { - "type": "string" - }, - "FirewallDomainListId": { - "type": "string" - }, - "Priority": { - "type": "number" - } - }, - "required": [ - "Action", - "FirewallDomainListId", - "Priority" - ], - "type": "object" - }, - "AWS::Route53Resolver::FirewallRuleGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FirewallRuleGroupId": { - "type": "string" - }, - "MutationProtection": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "FirewallRuleGroupId", - "Priority", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::FirewallRuleGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverDNSSECConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverDNSSECConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Direction": { - "type": "string" - }, - "IpAddresses": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Direction", - "IpAddresses", - "SecurityGroupIds" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverEndpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverEndpoint.IpAddressRequest": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "SubnetId" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DestinationArn": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResolverQueryLogConfigId": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ResolverEndpointId": { - "type": "string" - }, - "RuleType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetIps": { - "items": { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule.TargetAddress" - }, - "type": "array" - } - }, - "required": [ - "DomainName", - "RuleType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRule.TargetAddress": { - "additionalProperties": false, - "properties": { - "Ip": { - "type": "string" - }, - "Port": { - "type": "string" - } - }, - "required": [ - "Ip" - ], - "type": "object" - }, - "AWS::Route53Resolver::ResolverRuleAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ResolverRuleId": { - "type": "string" - }, - "VPCId": { - "type": "string" - } - }, - "required": [ - "ResolverRuleId", - "VPCId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Route53Resolver::ResolverRuleAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "PolicyStatus": { - "type": "object" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.PublicAccessBlockConfiguration" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccelerateConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.AccelerateConfiguration" - }, - "AccessControl": { - "type": "string" - }, - "AnalyticsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.AnalyticsConfiguration" - }, - "type": "array" - }, - "BucketEncryption": { - "$ref": "#/definitions/AWS::S3::Bucket.BucketEncryption" - }, - "BucketName": { - "type": "string" - }, - "CorsConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsConfiguration" - }, - "IntelligentTieringConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.IntelligentTieringConfiguration" - }, - "type": "array" - }, - "InventoryConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.InventoryConfiguration" - }, - "type": "array" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LifecycleConfiguration" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.LoggingConfiguration" - }, - "MetricsConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.MetricsConfiguration" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationConfiguration" - }, - "ObjectLockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockConfiguration" - }, - "ObjectLockEnabled": { - "type": "boolean" - }, - "OwnershipControls": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControls" - }, - "PublicAccessBlockConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.PublicAccessBlockConfiguration" - }, - "ReplicationConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VersioningConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.VersioningConfiguration" - }, - "WebsiteConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.WebsiteConfiguration" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::S3::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccelerateConfiguration": { - "additionalProperties": false, - "properties": { - "AccelerationStatus": { - "type": "string" - } - }, - "required": [ - "AccelerationStatus" - ], - "type": "object" - }, - "AWS::S3::Bucket.AccessControlTranslation": { - "additionalProperties": false, - "properties": { - "Owner": { - "type": "string" - } - }, - "required": [ - "Owner" - ], - "type": "object" - }, - "AWS::S3::Bucket.AnalyticsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "StorageClassAnalysis": { - "$ref": "#/definitions/AWS::S3::Bucket.StorageClassAnalysis" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id", - "StorageClassAnalysis" - ], - "type": "object" - }, - "AWS::S3::Bucket.BucketEncryption": { - "additionalProperties": false, - "properties": { - "ServerSideEncryptionConfiguration": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionRule" - }, - "type": "array" - } - }, - "required": [ - "ServerSideEncryptionConfiguration" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsConfiguration": { - "additionalProperties": false, - "properties": { - "CorsRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.CorsRule" - }, - "type": "array" - } - }, - "required": [ - "CorsRules" - ], - "type": "object" - }, - "AWS::S3::Bucket.CorsRule": { - "additionalProperties": false, - "properties": { - "AllowedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedMethods": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AllowedOrigins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ExposedHeaders": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Id": { - "type": "string" - }, - "MaxAge": { - "type": "number" - } - }, - "required": [ - "AllowedMethods", - "AllowedOrigins" - ], - "type": "object" - }, - "AWS::S3::Bucket.DataExport": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "OutputSchemaVersion": { - "type": "string" - } - }, - "required": [ - "Destination", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::Bucket.DefaultRetention": { - "additionalProperties": false, - "properties": { - "Days": { - "type": "number" - }, - "Mode": { - "type": "string" - }, - "Years": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.DeleteMarkerReplication": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Destination": { - "additionalProperties": false, - "properties": { - "BucketAccountId": { - "type": "string" - }, - "BucketArn": { - "type": "string" - }, - "Format": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "BucketArn", - "Format" - ], - "type": "object" - }, - "AWS::S3::Bucket.EncryptionConfiguration": { - "additionalProperties": false, - "properties": { - "ReplicaKmsKeyID": { - "type": "string" - } - }, - "required": [ - "ReplicaKmsKeyID" - ], - "type": "object" - }, - "AWS::S3::Bucket.FilterRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.IntelligentTieringConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Tierings": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Tiering" - }, - "type": "array" - } - }, - "required": [ - "Id", - "Status", - "Tierings" - ], - "type": "object" - }, - "AWS::S3::Bucket.InventoryConfiguration": { - "additionalProperties": false, - "properties": { - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.Destination" - }, - "Enabled": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "IncludedObjectVersions": { - "type": "string" - }, - "OptionalFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "ScheduleFrequency": { - "type": "string" - } - }, - "required": [ - "Destination", - "Enabled", - "Id", - "IncludedObjectVersions", - "ScheduleFrequency" - ], - "type": "object" - }, - "AWS::S3::Bucket.LambdaConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Function": { - "type": "string" - } - }, - "required": [ - "Event", - "Function" - ], - "type": "object" - }, - "AWS::S3::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "DestinationBucketName": { - "type": "string" - }, - "LogFilePrefix": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Metrics": { - "additionalProperties": false, - "properties": { - "EventThreshold": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.MetricsConfiguration": { - "additionalProperties": false, - "properties": { - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "required": [ - "Id" - ], - "type": "object" - }, - "AWS::S3::Bucket.NoncurrentVersionTransition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass", - "TransitionInDays" - ], - "type": "object" - }, - "AWS::S3::Bucket.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "LambdaConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.LambdaConfiguration" - }, - "type": "array" - }, - "QueueConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.QueueConfiguration" - }, - "type": "array" - }, - "TopicConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TopicConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.NotificationFilter": { - "additionalProperties": false, - "properties": { - "S3Key": { - "$ref": "#/definitions/AWS::S3::Bucket.S3KeyFilter" - } - }, - "required": [ - "S3Key" - ], - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockConfiguration": { - "additionalProperties": false, - "properties": { - "ObjectLockEnabled": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::S3::Bucket.ObjectLockRule" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ObjectLockRule": { - "additionalProperties": false, - "properties": { - "DefaultRetention": { - "$ref": "#/definitions/AWS::S3::Bucket.DefaultRetention" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControls": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.OwnershipControlsRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.OwnershipControlsRule": { - "additionalProperties": false, - "properties": { - "ObjectOwnership": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.PublicAccessBlockConfiguration": { - "additionalProperties": false, - "properties": { - "BlockPublicAcls": { - "type": "boolean" - }, - "BlockPublicPolicy": { - "type": "boolean" - }, - "IgnorePublicAcls": { - "type": "boolean" - }, - "RestrictPublicBuckets": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.QueueConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Queue": { - "type": "string" - } - }, - "required": [ - "Event", - "Queue" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectAllRequestsTo": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "HostName" - ], - "type": "object" - }, - "AWS::S3::Bucket.RedirectRule": { - "additionalProperties": false, - "properties": { - "HostName": { - "type": "string" - }, - "HttpRedirectCode": { - "type": "string" - }, - "Protocol": { - "type": "string" - }, - "ReplaceKeyPrefixWith": { - "type": "string" - }, - "ReplaceKeyWith": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicaModifications": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationConfiguration": { - "additionalProperties": false, - "properties": { - "Role": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRule" - }, - "type": "array" - } - }, - "required": [ - "Role", - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationDestination": { - "additionalProperties": false, - "properties": { - "AccessControlTranslation": { - "$ref": "#/definitions/AWS::S3::Bucket.AccessControlTranslation" - }, - "Account": { - "type": "string" - }, - "Bucket": { - "type": "string" - }, - "EncryptionConfiguration": { - "$ref": "#/definitions/AWS::S3::Bucket.EncryptionConfiguration" - }, - "Metrics": { - "$ref": "#/definitions/AWS::S3::Bucket.Metrics" - }, - "ReplicationTime": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTime" - }, - "StorageClass": { - "type": "string" - } - }, - "required": [ - "Bucket" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRule": { - "additionalProperties": false, - "properties": { - "DeleteMarkerReplication": { - "$ref": "#/definitions/AWS::S3::Bucket.DeleteMarkerReplication" - }, - "Destination": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationDestination" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleFilter" - }, - "Id": { - "type": "string" - }, - "Prefix": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "SourceSelectionCriteria": { - "$ref": "#/definitions/AWS::S3::Bucket.SourceSelectionCriteria" - }, - "Status": { - "type": "string" - } - }, - "required": [ - "Destination", - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleAndOperator": { - "additionalProperties": false, - "properties": { - "Prefix": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationRuleFilter": { - "additionalProperties": false, - "properties": { - "And": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationRuleAndOperator" - }, - "Prefix": { - "type": "string" - }, - "TagFilter": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTime": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - }, - "Time": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicationTimeValue" - } - }, - "required": [ - "Status", - "Time" - ], - "type": "object" - }, - "AWS::S3::Bucket.ReplicationTimeValue": { - "additionalProperties": false, - "properties": { - "Minutes": { - "type": "number" - } - }, - "required": [ - "Minutes" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRule": { - "additionalProperties": false, - "properties": { - "RedirectRule": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectRule" - }, - "RoutingRuleCondition": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRuleCondition" - } - }, - "required": [ - "RedirectRule" - ], - "type": "object" - }, - "AWS::S3::Bucket.RoutingRuleCondition": { - "additionalProperties": false, - "properties": { - "HttpErrorCodeReturnedEquals": { - "type": "string" - }, - "KeyPrefixEquals": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "ExpiredObjectDeleteMarker": { - "type": "boolean" - }, - "Id": { - "type": "string" - }, - "NoncurrentVersionExpirationInDays": { - "type": "number" - }, - "NoncurrentVersionTransition": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "NoncurrentVersionTransitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.NoncurrentVersionTransition" - }, - "type": "array" - }, - "Prefix": { - "type": "string" - }, - "Status": { - "type": "string" - }, - "TagFilters": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.TagFilter" - }, - "type": "array" - }, - "Transition": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "Transitions": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.Transition" - }, - "type": "array" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.S3KeyFilter": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.FilterRule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionByDefault": { - "additionalProperties": false, - "properties": { - "KMSMasterKeyID": { - "type": "string" - }, - "SSEAlgorithm": { - "type": "string" - } - }, - "required": [ - "SSEAlgorithm" - ], - "type": "object" - }, - "AWS::S3::Bucket.ServerSideEncryptionRule": { - "additionalProperties": false, - "properties": { - "BucketKeyEnabled": { - "type": "boolean" - }, - "ServerSideEncryptionByDefault": { - "$ref": "#/definitions/AWS::S3::Bucket.ServerSideEncryptionByDefault" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SourceSelectionCriteria": { - "additionalProperties": false, - "properties": { - "ReplicaModifications": { - "$ref": "#/definitions/AWS::S3::Bucket.ReplicaModifications" - }, - "SseKmsEncryptedObjects": { - "$ref": "#/definitions/AWS::S3::Bucket.SseKmsEncryptedObjects" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.SseKmsEncryptedObjects": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.StorageClassAnalysis": { - "additionalProperties": false, - "properties": { - "DataExport": { - "$ref": "#/definitions/AWS::S3::Bucket.DataExport" - } - }, - "type": "object" - }, - "AWS::S3::Bucket.TagFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::S3::Bucket.Tiering": { - "additionalProperties": false, - "properties": { - "AccessTier": { - "type": "string" - }, - "Days": { - "type": "number" - } - }, - "required": [ - "AccessTier", - "Days" - ], - "type": "object" - }, - "AWS::S3::Bucket.TopicConfiguration": { - "additionalProperties": false, - "properties": { - "Event": { - "type": "string" - }, - "Filter": { - "$ref": "#/definitions/AWS::S3::Bucket.NotificationFilter" - }, - "Topic": { - "type": "string" - } - }, - "required": [ - "Event", - "Topic" - ], - "type": "object" - }, - "AWS::S3::Bucket.Transition": { - "additionalProperties": false, - "properties": { - "StorageClass": { - "type": "string" - }, - "TransitionDate": { - "type": "string" - }, - "TransitionInDays": { - "type": "number" - } - }, - "required": [ - "StorageClass" - ], - "type": "object" - }, - "AWS::S3::Bucket.VersioningConfiguration": { - "additionalProperties": false, - "properties": { - "Status": { - "type": "string" - } - }, - "required": [ - "Status" - ], - "type": "object" - }, - "AWS::S3::Bucket.WebsiteConfiguration": { - "additionalProperties": false, - "properties": { - "ErrorDocument": { - "type": "string" - }, - "IndexDocument": { - "type": "string" - }, - "RedirectAllRequestsTo": { - "$ref": "#/definitions/AWS::S3::Bucket.RedirectAllRequestsTo" - }, - "RoutingRules": { - "items": { - "$ref": "#/definitions/AWS::S3::Bucket.RoutingRule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "StorageLensConfiguration": { - "$ref": "#/definitions/AWS::S3::StorageLens.StorageLensConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "StorageLensConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3::StorageLens" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3::StorageLens.AccountLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "BucketLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketLevel" - } - }, - "required": [ - "BucketLevel" - ], - "type": "object" - }, - "AWS::S3::StorageLens.ActivityMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.AwsOrg": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::S3::StorageLens.BucketLevel": { - "additionalProperties": false, - "properties": { - "ActivityMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.ActivityMetrics" - }, - "PrefixLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevel" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.BucketsAndRegions": { - "additionalProperties": false, - "properties": { - "Buckets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Regions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.DataExport": { - "additionalProperties": false, - "properties": { - "S3BucketDestination": { - "$ref": "#/definitions/AWS::S3::StorageLens.S3BucketDestination" - } - }, - "required": [ - "S3BucketDestination" - ], - "type": "object" - }, - "AWS::S3::StorageLens.Encryption": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevel": { - "additionalProperties": false, - "properties": { - "StorageMetrics": { - "$ref": "#/definitions/AWS::S3::StorageLens.PrefixLevelStorageMetrics" - } - }, - "required": [ - "StorageMetrics" - ], - "type": "object" - }, - "AWS::S3::StorageLens.PrefixLevelStorageMetrics": { - "additionalProperties": false, - "properties": { - "IsEnabled": { - "type": "boolean" - }, - "SelectionCriteria": { - "$ref": "#/definitions/AWS::S3::StorageLens.SelectionCriteria" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.S3BucketDestination": { - "additionalProperties": false, - "properties": { - "AccountId": { - "type": "string" - }, - "Arn": { - "type": "string" - }, - "Encryption": { - "$ref": "#/definitions/AWS::S3::StorageLens.Encryption" - }, - "Format": { - "type": "string" - }, - "OutputSchemaVersion": { - "type": "string" - }, - "Prefix": { - "type": "string" - } - }, - "required": [ - "AccountId", - "Arn", - "Format", - "OutputSchemaVersion" - ], - "type": "object" - }, - "AWS::S3::StorageLens.SelectionCriteria": { - "additionalProperties": false, - "properties": { - "Delimiter": { - "type": "string" - }, - "MaxDepth": { - "type": "number" - }, - "MinStorageBytesPercentage": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::S3::StorageLens.StorageLensConfiguration": { - "additionalProperties": false, - "properties": { - "AccountLevel": { - "$ref": "#/definitions/AWS::S3::StorageLens.AccountLevel" - }, - "AwsOrg": { - "$ref": "#/definitions/AWS::S3::StorageLens.AwsOrg" - }, - "DataExport": { - "$ref": "#/definitions/AWS::S3::StorageLens.DataExport" - }, - "Exclude": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "Id": { - "type": "string" - }, - "Include": { - "$ref": "#/definitions/AWS::S3::StorageLens.BucketsAndRegions" - }, - "IsEnabled": { - "type": "boolean" - }, - "StorageLensArn": { - "type": "string" - } - }, - "required": [ - "AccountLevel", - "Id", - "IsEnabled" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "ObjectLambdaConfiguration": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.ObjectLambdaConfiguration": { - "additionalProperties": false, - "properties": { - "AllowedFeatures": { - "items": { - "type": "string" - }, - "type": "array" - }, - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "SupportingAccessPoint": { - "type": "string" - }, - "TransformationConfigurations": { - "items": { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration" - }, - "type": "array" - } - }, - "required": [ - "SupportingAccessPoint", - "TransformationConfigurations" - ], - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPoint.TransformationConfiguration": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContentTransformation": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::S3ObjectLambda::AccessPointPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ObjectLambdaAccessPoint": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "ObjectLambdaAccessPoint", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3ObjectLambda::AccessPointPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policy": { - "type": "object" - }, - "VpcConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint.VpcConfiguration" - } - }, - "required": [ - "Bucket", - "Name", - "VpcConfiguration" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::AccessPoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::AccessPoint.VpcConfiguration": { - "additionalProperties": false, - "properties": { - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::Bucket": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "LifecycleConfiguration": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.LifecycleConfiguration" - }, - "OutpostId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "BucketName", - "OutpostId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Bucket" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload": { - "additionalProperties": false, - "properties": { - "DaysAfterInitiation": { - "type": "number" - } - }, - "required": [ - "DaysAfterInitiation" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.LifecycleConfiguration": { - "additionalProperties": false, - "properties": { - "Rules": { - "items": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.Rule" - }, - "type": "array" - } - }, - "required": [ - "Rules" - ], - "type": "object" - }, - "AWS::S3Outposts::Bucket.Rule": { - "additionalProperties": false, - "properties": { - "AbortIncompleteMultipartUpload": { - "$ref": "#/definitions/AWS::S3Outposts::Bucket.AbortIncompleteMultipartUpload" - }, - "ExpirationDate": { - "type": "string" - }, - "ExpirationInDays": { - "type": "number" - }, - "Filter": { - "type": "object" - }, - "Id": { - "type": "string" - }, - "Status": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::S3Outposts::BucketPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "PolicyDocument": { - "type": "object" - } - }, - "required": [ - "Bucket", - "PolicyDocument" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::BucketPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessType": { - "type": "string" - }, - "CustomerOwnedIpv4Pool": { - "type": "string" - }, - "OutpostId": { - "type": "string" - }, - "SecurityGroupId": { - "type": "string" - }, - "SubnetId": { - "type": "string" - } - }, - "required": [ - "OutpostId", - "SecurityGroupId", - "SubnetId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::S3Outposts::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::S3Outposts::Endpoint.NetworkInterface": { - "additionalProperties": false, - "properties": { - "NetworkInterfaceId": { - "type": "string" - } - }, - "required": [ - "NetworkInterfaceId" - ], - "type": "object" - }, - "AWS::SDB::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SDB::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConfigurationSetName": { - "type": "string" - }, - "EventDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.EventDestination" - } - }, - "required": [ - "ConfigurationSetName", - "EventDestination" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ConfigurationSetEventDestination" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination": { - "additionalProperties": false, - "properties": { - "DimensionConfigurations": { - "items": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": { - "additionalProperties": false, - "properties": { - "DefaultDimensionValue": { - "type": "string" - }, - "DimensionName": { - "type": "string" - }, - "DimensionValueSource": { - "type": "string" - } - }, - "required": [ - "DefaultDimensionValue", - "DimensionName", - "DimensionValueSource" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.EventDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.CloudWatchDestination" - }, - "Enabled": { - "type": "boolean" - }, - "KinesisFirehoseDestination": { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination" - }, - "MatchingEventTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "MatchingEventTypes" - ], - "type": "object" - }, - "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": { - "additionalProperties": false, - "properties": { - "DeliveryStreamARN": { - "type": "string" - }, - "IAMRoleARN": { - "type": "string" - } - }, - "required": [ - "DeliveryStreamARN", - "IAMRoleARN" - ], - "type": "object" - }, - "AWS::SES::ContactList": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContactListName": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Topics": { - "items": { - "$ref": "#/definitions/AWS::SES::ContactList.Topic" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ContactList" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::ContactList.Topic": { - "additionalProperties": false, - "properties": { - "DefaultSubscriptionStatus": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "TopicName": { - "type": "string" - } - }, - "required": [ - "DefaultSubscriptionStatus", - "DisplayName", - "TopicName" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Filter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.Filter" - } - }, - "required": [ - "Filter" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptFilter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.Filter": { - "additionalProperties": false, - "properties": { - "IpFilter": { - "$ref": "#/definitions/AWS::SES::ReceiptFilter.IpFilter" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "IpFilter" - ], - "type": "object" - }, - "AWS::SES::ReceiptFilter.IpFilter": { - "additionalProperties": false, - "properties": { - "Cidr": { - "type": "string" - }, - "Policy": { - "type": "string" - } - }, - "required": [ - "Cidr", - "Policy" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "After": { - "type": "string" - }, - "Rule": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Rule" - }, - "RuleSetName": { - "type": "string" - } - }, - "required": [ - "Rule", - "RuleSetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Action": { - "additionalProperties": false, - "properties": { - "AddHeaderAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.AddHeaderAction" - }, - "BounceAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.BounceAction" - }, - "LambdaAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.LambdaAction" - }, - "S3Action": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.S3Action" - }, - "SNSAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.SNSAction" - }, - "StopAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.StopAction" - }, - "WorkmailAction": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.WorkmailAction" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.AddHeaderAction": { - "additionalProperties": false, - "properties": { - "HeaderName": { - "type": "string" - }, - "HeaderValue": { - "type": "string" - } - }, - "required": [ - "HeaderName", - "HeaderValue" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.BounceAction": { - "additionalProperties": false, - "properties": { - "Message": { - "type": "string" - }, - "Sender": { - "type": "string" - }, - "SmtpReplyCode": { - "type": "string" - }, - "StatusCode": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Message", - "Sender", - "SmtpReplyCode" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.LambdaAction": { - "additionalProperties": false, - "properties": { - "FunctionArn": { - "type": "string" - }, - "InvocationType": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "FunctionArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.Rule": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SES::ReceiptRule.Action" - }, - "type": "array" - }, - "Enabled": { - "type": "boolean" - }, - "Name": { - "type": "string" - }, - "Recipients": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScanEnabled": { - "type": "boolean" - }, - "TlsPolicy": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.S3Action": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "KmsKeyArn": { - "type": "string" - }, - "ObjectKeyPrefix": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "BucketName" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.SNSAction": { - "additionalProperties": false, - "properties": { - "Encoding": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SES::ReceiptRule.StopAction": { - "additionalProperties": false, - "properties": { - "Scope": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Scope" - ], - "type": "object" - }, - "AWS::SES::ReceiptRule.WorkmailAction": { - "additionalProperties": false, - "properties": { - "OrganizationArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "OrganizationArn" - ], - "type": "object" - }, - "AWS::SES::ReceiptRuleSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleSetName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::ReceiptRuleSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Template": { - "$ref": "#/definitions/AWS::SES::Template.Template" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SES::Template" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SES::Template.Template": { - "additionalProperties": false, - "properties": { - "HtmlPart": { - "type": "string" - }, - "SubjectPart": { - "type": "string" - }, - "TemplateName": { - "type": "string" - }, - "TextPart": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SNS::Subscription": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeliveryPolicy": { - "type": "object" - }, - "Endpoint": { - "type": "string" - }, - "FilterPolicy": { - "type": "object" - }, - "Protocol": { - "type": "string" - }, - "RawMessageDelivery": { - "type": "boolean" - }, - "RedrivePolicy": { - "type": "object" - }, - "Region": { - "type": "string" - }, - "SubscriptionRoleArn": { - "type": "string" - }, - "TopicArn": { - "type": "string" - } - }, - "required": [ - "Protocol", - "TopicArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Subscription" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SNS::Topic": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DisplayName": { - "type": "string" - }, - "FifoTopic": { - "type": "boolean" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "Subscription": { - "items": { - "$ref": "#/definitions/AWS::SNS::Topic.Subscription" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TopicName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::Topic" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SNS::Topic.Subscription": { - "additionalProperties": false, - "properties": { - "Endpoint": { - "type": "string" - }, - "Protocol": { - "type": "string" - } - }, - "required": [ - "Endpoint", - "Protocol" - ], - "type": "object" - }, - "AWS::SNS::TopicPolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Topics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Topics" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SNS::TopicPolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SQS::Queue": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ContentBasedDeduplication": { - "type": "boolean" - }, - "DeduplicationScope": { - "type": "string" - }, - "DelaySeconds": { - "type": "number" - }, - "FifoQueue": { - "type": "boolean" - }, - "FifoThroughputLimit": { - "type": "string" - }, - "KmsDataKeyReusePeriodSeconds": { - "type": "number" - }, - "KmsMasterKeyId": { - "type": "string" - }, - "MaximumMessageSize": { - "type": "number" - }, - "MessageRetentionPeriod": { - "type": "number" - }, - "QueueName": { - "type": "string" - }, - "ReceiveMessageWaitTimeSeconds": { - "type": "number" - }, - "RedrivePolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityTimeout": { - "type": "number" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::Queue" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SQS::QueuePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PolicyDocument": { - "type": "object" - }, - "Queues": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "PolicyDocument", - "Queues" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SQS::QueuePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApplyOnlyAtCronInterval": { - "type": "boolean" - }, - "AssociationName": { - "type": "string" - }, - "AutomationTargetParameterName": { - "type": "string" - }, - "CalendarNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ComplianceSeverity": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "InstanceId": { - "type": "string" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OutputLocation": { - "$ref": "#/definitions/AWS::SSM::Association.InstanceAssociationOutputLocation" - }, - "Parameters": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "ScheduleExpression": { - "type": "string" - }, - "SyncCompliance": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::Association.Target" - }, - "type": "array" - }, - "WaitForSuccessTimeoutSeconds": { - "type": "number" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Association" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Association.InstanceAssociationOutputLocation": { - "additionalProperties": false, - "properties": { - "S3Location": { - "$ref": "#/definitions/AWS::SSM::Association.S3OutputLocation" - } - }, - "type": "object" - }, - "AWS::SSM::Association.S3OutputLocation": { - "additionalProperties": false, - "properties": { - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "OutputS3Region": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::Association.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::Document": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attachments": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.AttachmentsSource" - }, - "type": "array" - }, - "Content": { - "type": "object" - }, - "DocumentFormat": { - "type": "string" - }, - "DocumentType": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Requires": { - "items": { - "$ref": "#/definitions/AWS::SSM::Document.DocumentRequires" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "TargetType": { - "type": "string" - }, - "VersionName": { - "type": "string" - } - }, - "required": [ - "Content" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Document" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::Document.AttachmentsSource": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::Document.DocumentRequires": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindow": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowUnassociatedTargets": { - "type": "boolean" - }, - "Cutoff": { - "type": "number" - }, - "Description": { - "type": "string" - }, - "Duration": { - "type": "number" - }, - "EndDate": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Schedule": { - "type": "string" - }, - "ScheduleOffset": { - "type": "number" - }, - "ScheduleTimezone": { - "type": "string" - }, - "StartDate": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AllowUnassociatedTargets", - "Cutoff", - "Duration", - "Name", - "Schedule" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindow" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "OwnerInformation": { - "type": "string" - }, - "ResourceType": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget.Targets" - }, - "type": "array" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "ResourceType", - "Targets", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTarget" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTarget.Targets": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "LoggingInfo": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.LoggingInfo" - }, - "MaxConcurrency": { - "type": "string" - }, - "MaxErrors": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ServiceRoleArn": { - "type": "string" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.Target" - }, - "type": "array" - }, - "TaskArn": { - "type": "string" - }, - "TaskInvocationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters" - }, - "TaskParameters": { - "type": "object" - }, - "TaskType": { - "type": "string" - }, - "WindowId": { - "type": "string" - } - }, - "required": [ - "Priority", - "TaskArn", - "TaskType", - "WindowId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::MaintenanceWindowTask" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.LoggingInfo": { - "additionalProperties": false, - "properties": { - "Region": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Prefix": { - "type": "string" - } - }, - "required": [ - "Region", - "S3Bucket" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": { - "additionalProperties": false, - "properties": { - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": { - "additionalProperties": false, - "properties": { - "ClientContext": { - "type": "string" - }, - "Payload": { - "type": "string" - }, - "Qualifier": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": { - "additionalProperties": false, - "properties": { - "Comment": { - "type": "string" - }, - "DocumentHash": { - "type": "string" - }, - "DocumentHashType": { - "type": "string" - }, - "NotificationConfig": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.NotificationConfig" - }, - "OutputS3BucketName": { - "type": "string" - }, - "OutputS3KeyPrefix": { - "type": "string" - }, - "Parameters": { - "type": "object" - }, - "ServiceRoleArn": { - "type": "string" - }, - "TimeoutSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": { - "additionalProperties": false, - "properties": { - "Input": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.NotificationConfig": { - "additionalProperties": false, - "properties": { - "NotificationArn": { - "type": "string" - }, - "NotificationEvents": { - "items": { - "type": "string" - }, - "type": "array" - }, - "NotificationType": { - "type": "string" - } - }, - "required": [ - "NotificationArn" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.Target": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": { - "additionalProperties": false, - "properties": { - "MaintenanceWindowAutomationParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters" - }, - "MaintenanceWindowLambdaParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters" - }, - "MaintenanceWindowRunCommandParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters" - }, - "MaintenanceWindowStepFunctionsParameters": { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters" - } - }, - "type": "object" - }, - "AWS::SSM::Parameter": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "DataType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Policies": { - "type": "string" - }, - "Tags": { - "type": "object" - }, - "Tier": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::Parameter" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ApprovalRules": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.RuleGroup" - }, - "ApprovedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ApprovedPatchesComplianceLevel": { - "type": "string" - }, - "ApprovedPatchesEnableNonSecurity": { - "type": "boolean" - }, - "Description": { - "type": "string" - }, - "GlobalFilters": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - }, - "Name": { - "type": "string" - }, - "OperatingSystem": { - "type": "string" - }, - "PatchGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatches": { - "items": { - "type": "string" - }, - "type": "array" - }, - "RejectedPatchesAction": { - "type": "string" - }, - "Sources": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchSource" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::PatchBaseline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchFilterGroup": { - "additionalProperties": false, - "properties": { - "PatchFilters": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchSource": { - "additionalProperties": false, - "properties": { - "Configuration": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Products": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.PatchStringDate": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SSM::PatchBaseline.Rule": { - "additionalProperties": false, - "properties": { - "ApproveAfterDays": { - "type": "number" - }, - "ApproveUntilDate": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchStringDate" - }, - "ComplianceLevel": { - "type": "string" - }, - "EnableNonSecurity": { - "type": "boolean" - }, - "PatchFilterGroup": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.PatchFilterGroup" - } - }, - "type": "object" - }, - "AWS::SSM::PatchBaseline.RuleGroup": { - "additionalProperties": false, - "properties": { - "PatchRules": { - "items": { - "$ref": "#/definitions/AWS::SSM::PatchBaseline.Rule" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSM::ResourceDataSync": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "S3Destination": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.S3Destination" - }, - "SyncFormat": { - "type": "string" - }, - "SyncName": { - "type": "string" - }, - "SyncSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.SyncSource" - }, - "SyncType": { - "type": "string" - } - }, - "required": [ - "SyncName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSM::ResourceDataSync" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.AwsOrganizationsSource": { - "additionalProperties": false, - "properties": { - "OrganizationSourceType": { - "type": "string" - }, - "OrganizationalUnits": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "OrganizationSourceType" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.S3Destination": { - "additionalProperties": false, - "properties": { - "BucketName": { - "type": "string" - }, - "BucketPrefix": { - "type": "string" - }, - "BucketRegion": { - "type": "string" - }, - "KMSKeyArn": { - "type": "string" - }, - "SyncFormat": { - "type": "string" - } - }, - "required": [ - "BucketName", - "BucketRegion", - "SyncFormat" - ], - "type": "object" - }, - "AWS::SSM::ResourceDataSync.SyncSource": { - "additionalProperties": false, - "properties": { - "AwsOrganizationsSource": { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync.AwsOrganizationsSource" - }, - "IncludeFutureRegions": { - "type": "boolean" - }, - "SourceRegions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SourceType": { - "type": "string" - } - }, - "required": [ - "SourceRegions", - "SourceType" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Alias": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "Plan": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Stage" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Alias", - "DisplayName", - "Plan", - "Type" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::Contact" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ChannelTargetInfo": { - "additionalProperties": false, - "properties": { - "ChannelId": { - "type": "string" - }, - "RetryIntervalInMinutes": { - "type": "number" - } - }, - "required": [ - "ChannelId", - "RetryIntervalInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.ContactTargetInfo": { - "additionalProperties": false, - "properties": { - "ContactId": { - "type": "string" - }, - "IsEssential": { - "type": "boolean" - } - }, - "required": [ - "ContactId", - "IsEssential" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Stage": { - "additionalProperties": false, - "properties": { - "DurationInMinutes": { - "type": "number" - }, - "Targets": { - "items": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.Targets" - }, - "type": "array" - } - }, - "required": [ - "DurationInMinutes" - ], - "type": "object" - }, - "AWS::SSMContacts::Contact.Targets": { - "additionalProperties": false, - "properties": { - "ChannelTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ChannelTargetInfo" - }, - "ContactTargetInfo": { - "$ref": "#/definitions/AWS::SSMContacts::Contact.ContactTargetInfo" - } - }, - "type": "object" - }, - "AWS::SSMContacts::ContactChannel": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ChannelAddress": { - "type": "string" - }, - "ChannelName": { - "type": "string" - }, - "ChannelType": { - "type": "string" - }, - "ContactId": { - "type": "string" - }, - "DeferActivation": { - "type": "boolean" - } - }, - "required": [ - "ChannelAddress", - "ChannelName", - "ChannelType", - "ContactId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMContacts::ContactChannel" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeletionProtected": { - "type": "boolean" - }, - "Regions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.ReplicationRegion" - }, - "type": "array" - } - }, - "required": [ - "Regions" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ReplicationSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.RegionConfiguration": { - "additionalProperties": false, - "properties": { - "SseKmsKeyId": { - "type": "string" - } - }, - "required": [ - "SseKmsKeyId" - ], - "type": "object" - }, - "AWS::SSMIncidents::ReplicationSet.ReplicationRegion": { - "additionalProperties": false, - "properties": { - "RegionConfiguration": { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet.RegionConfiguration" - }, - "RegionName": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Actions": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.Action" - }, - "type": "array" - }, - "ChatChannel": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.ChatChannel" - }, - "DisplayName": { - "type": "string" - }, - "Engagements": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncidentTemplate": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.IncidentTemplate" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "IncidentTemplate", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSMIncidents::ResponsePlan" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.Action": { - "additionalProperties": false, - "properties": { - "SsmAutomation": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmAutomation" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.ChatChannel": { - "additionalProperties": false, - "properties": { - "ChatbotSns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.IncidentTemplate": { - "additionalProperties": false, - "properties": { - "DedupeString": { - "type": "string" - }, - "Impact": { - "type": "number" - }, - "NotificationTargets": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.NotificationTargetItem" - }, - "type": "array" - }, - "Summary": { - "type": "string" - }, - "Title": { - "type": "string" - } - }, - "required": [ - "Impact", - "Title" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.NotificationTargetItem": { - "additionalProperties": false, - "properties": { - "SnsTopicArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmAutomation": { - "additionalProperties": false, - "properties": { - "DocumentName": { - "type": "string" - }, - "DocumentVersion": { - "type": "string" - }, - "Parameters": { - "items": { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan.SsmParameter" - }, - "type": "array" - }, - "RoleArn": { - "type": "string" - }, - "TargetAccount": { - "type": "string" - } - }, - "required": [ - "DocumentName", - "RoleArn" - ], - "type": "object" - }, - "AWS::SSMIncidents::ResponsePlan.SsmParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Key", - "Values" - ], - "type": "object" - }, - "AWS::SSO::Assignment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceArn": { - "type": "string" - }, - "PermissionSetArn": { - "type": "string" - }, - "PrincipalId": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "InstanceArn", - "PermissionSetArn", - "PrincipalId", - "PrincipalType", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::Assignment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AccessControlAttributes": { - "items": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute" - }, - "type": "array" - }, - "InstanceArn": { - "type": "string" - } - }, - "required": [ - "InstanceArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::InstanceAccessControlAttributeConfiguration" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttribute": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::SSO::InstanceAccessControlAttributeConfiguration.AccessControlAttributeValue": { - "additionalProperties": false, - "properties": { - "Source": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Source" - ], - "type": "object" - }, - "AWS::SSO::PermissionSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "InlinePolicy": { - "type": "object" - }, - "InstanceArn": { - "type": "string" - }, - "ManagedPolicies": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "RelayStateType": { - "type": "string" - }, - "SessionDuration": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "InstanceArn", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SSO::PermissionSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppName": { - "type": "string" - }, - "AppType": { - "type": "string" - }, - "DomainId": { - "type": "string" - }, - "ResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::App.ResourceSpec" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - } - }, - "required": [ - "AppName", - "AppType", - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::App" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::App.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "KernelGatewayImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "AppImageConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::AppImageConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.FileSystemConfig": { - "additionalProperties": false, - "properties": { - "DefaultGid": { - "type": "number" - }, - "DefaultUid": { - "type": "number" - }, - "MountPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelGatewayImageConfig": { - "additionalProperties": false, - "properties": { - "FileSystemConfig": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.FileSystemConfig" - }, - "KernelSpecs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig.KernelSpec" - }, - "type": "array" - } - }, - "required": [ - "KernelSpecs" - ], - "type": "object" - }, - "AWS::SageMaker::AppImageConfig.KernelSpec": { - "additionalProperties": false, - "properties": { - "DisplayName": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CodeRepositoryName": { - "type": "string" - }, - "GitConfig": { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository.GitConfig" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "GitConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::CodeRepository" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::CodeRepository.GitConfig": { - "additionalProperties": false, - "properties": { - "Branch": { - "type": "string" - }, - "RepositoryUrl": { - "type": "string" - }, - "SecretArn": { - "type": "string" - } - }, - "required": [ - "RepositoryUrl" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification" - }, - "DataQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig" - }, - "DataQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput" - }, - "DataQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig" - }, - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DataQualityAppSpecification", - "DataQualityJobInput", - "DataQualityJobOutputConfig", - "JobResources", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DataQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.DataQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::DataQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::Device": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Device": { - "type": "object" - }, - "DeviceFleetName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Device" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Device.Device": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceName": { - "type": "string" - }, - "IotThingName": { - "type": "string" - } - }, - "required": [ - "DeviceName" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DeviceFleetName": { - "type": "string" - }, - "OutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet.EdgeOutputConfig" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DeviceFleetName", - "OutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::DeviceFleet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::DeviceFleet.EdgeOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "S3OutputLocation": { - "type": "string" - } - }, - "required": [ - "S3OutputLocation" - ], - "type": "object" - }, - "AWS::SageMaker::Domain": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AppNetworkAccessType": { - "type": "string" - }, - "AuthMode": { - "type": "string" - }, - "DefaultUserSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.UserSettings" - }, - "DomainName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "AuthMode", - "DefaultUserSettings", - "DomainName", - "SubnetIds", - "VpcId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Domain" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::Domain.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Domain.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::Domain.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Domain.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::Domain.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Endpoint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DeploymentConfig": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.DeploymentConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "ExcludeRetainedVariantProperties": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.VariantProperty" - }, - "type": "array" - }, - "RetainAllVariantProperties": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EndpointConfigName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Endpoint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.Alarm": { - "additionalProperties": false, - "properties": { - "AlarmName": { - "type": "string" - } - }, - "required": [ - "AlarmName" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.AutoRollbackConfig": { - "additionalProperties": false, - "properties": { - "Alarms": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.Alarm" - }, - "type": "array" - } - }, - "required": [ - "Alarms" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy": { - "additionalProperties": false, - "properties": { - "MaximumExecutionTimeoutInSeconds": { - "type": "number" - }, - "TerminationWaitInSeconds": { - "type": "number" - }, - "TrafficRoutingConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.TrafficRoutingConfig" - } - }, - "required": [ - "TrafficRoutingConfiguration" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.CapacitySize": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.DeploymentConfig": { - "additionalProperties": false, - "properties": { - "AutoRollbackConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.AutoRollbackConfig" - }, - "BlueGreenUpdatePolicy": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.BlueGreenUpdatePolicy" - } - }, - "required": [ - "BlueGreenUpdatePolicy" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.TrafficRoutingConfig": { - "additionalProperties": false, - "properties": { - "CanarySize": { - "$ref": "#/definitions/AWS::SageMaker::Endpoint.CapacitySize" - }, - "Type": { - "type": "string" - }, - "WaitIntervalInSeconds": { - "type": "number" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Endpoint.VariantProperty": { - "additionalProperties": false, - "properties": { - "VariantPropertyType": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DataCaptureConfig": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.DataCaptureConfig" - }, - "EndpointConfigName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "ProductionVariants": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.ProductionVariant" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProductionVariants" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::EndpointConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader": { - "additionalProperties": false, - "properties": { - "CsvContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "JsonContentTypes": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.CaptureOption": { - "additionalProperties": false, - "properties": { - "CaptureMode": { - "type": "string" - } - }, - "required": [ - "CaptureMode" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.DataCaptureConfig": { - "additionalProperties": false, - "properties": { - "CaptureContentTypeHeader": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureContentTypeHeader" - }, - "CaptureOptions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig.CaptureOption" - }, - "type": "array" - }, - "DestinationS3Uri": { - "type": "string" - }, - "EnableCapture": { - "type": "boolean" - }, - "InitialSamplingPercentage": { - "type": "number" - }, - "KmsKeyId": { - "type": "string" - } - }, - "required": [ - "CaptureOptions", - "DestinationS3Uri", - "InitialSamplingPercentage" - ], - "type": "object" - }, - "AWS::SageMaker::EndpointConfig.ProductionVariant": { - "additionalProperties": false, - "properties": { - "AcceleratorType": { - "type": "string" - }, - "InitialInstanceCount": { - "type": "number" - }, - "InitialVariantWeight": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "ModelName": { - "type": "string" - }, - "VariantName": { - "type": "string" - } - }, - "required": [ - "InitialInstanceCount", - "InitialVariantWeight", - "InstanceType", - "ModelName", - "VariantName" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "EventTimeFeatureName": { - "type": "string" - }, - "FeatureDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup.FeatureDefinition" - }, - "type": "array" - }, - "FeatureGroupName": { - "type": "string" - }, - "OfflineStoreConfig": { - "type": "object" - }, - "OnlineStoreConfig": { - "type": "object" - }, - "RecordIdentifierFeatureName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "EventTimeFeatureName", - "FeatureDefinitions", - "FeatureGroupName", - "RecordIdentifierFeatureName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::FeatureGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::FeatureGroup.FeatureDefinition": { - "additionalProperties": false, - "properties": { - "FeatureName": { - "type": "string" - }, - "FeatureType": { - "type": "string" - } - }, - "required": [ - "FeatureName", - "FeatureType" - ], - "type": "object" - }, - "AWS::SageMaker::Image": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ImageDescription": { - "type": "string" - }, - "ImageDisplayName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageRoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ImageName", - "ImageRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Image" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ImageVersion": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BaseImage": { - "type": "string" - }, - "ImageName": { - "type": "string" - } - }, - "required": [ - "BaseImage", - "ImageName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ImageVersion" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Containers": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "type": "array" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "InferenceExecutionConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.InferenceExecutionConfig" - }, - "ModelName": { - "type": "string" - }, - "PrimaryContainer": { - "$ref": "#/definitions/AWS::SageMaker::Model.ContainerDefinition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.VpcConfig" - } - }, - "required": [ - "ExecutionRoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Model" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Model.ContainerDefinition": { - "additionalProperties": false, - "properties": { - "ContainerHostname": { - "type": "string" - }, - "Environment": { - "type": "object" - }, - "Image": { - "type": "string" - }, - "ImageConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.ImageConfig" - }, - "Mode": { - "type": "string" - }, - "ModelDataUrl": { - "type": "string" - }, - "ModelPackageName": { - "type": "string" - }, - "MultiModelConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.MultiModelConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.ImageConfig": { - "additionalProperties": false, - "properties": { - "RepositoryAccessMode": { - "type": "string" - }, - "RepositoryAuthConfig": { - "$ref": "#/definitions/AWS::SageMaker::Model.RepositoryAuthConfig" - } - }, - "required": [ - "RepositoryAccessMode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.InferenceExecutionConfig": { - "additionalProperties": false, - "properties": { - "Mode": { - "type": "string" - } - }, - "required": [ - "Mode" - ], - "type": "object" - }, - "AWS::SageMaker::Model.MultiModelConfig": { - "additionalProperties": false, - "properties": { - "ModelCacheSetting": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Model.RepositoryAuthConfig": { - "additionalProperties": false, - "properties": { - "RepositoryCredentialsProviderArn": { - "type": "string" - } - }, - "required": [ - "RepositoryCredentialsProviderArn" - ], - "type": "object" - }, - "AWS::SageMaker::Model.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources" - }, - "ModelBiasAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification" - }, - "ModelBiasBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig" - }, - "ModelBiasJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput" - }, - "ModelBiasJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelBiasAppSpecification", - "ModelBiasJobInput", - "ModelBiasJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelBiasJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.ModelBiasJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelBiasJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources" - }, - "ModelExplainabilityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification" - }, - "ModelExplainabilityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig" - }, - "ModelExplainabilityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput" - }, - "ModelExplainabilityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelExplainabilityAppSpecification", - "ModelExplainabilityJobInput", - "ModelExplainabilityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelExplainabilityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FeaturesAttribute": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityAppSpecification": { - "additionalProperties": false, - "properties": { - "ConfigUri": { - "type": "string" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - } - }, - "required": [ - "ConfigUri", - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.ModelExplainabilityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelExplainabilityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::ModelPackageGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ModelPackageGroupDescription": { - "type": "string" - }, - "ModelPackageGroupName": { - "type": "string" - }, - "ModelPackageGroupPolicy": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ModelPackageGroupName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelPackageGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "JobDefinitionName": { - "type": "string" - }, - "JobResources": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources" - }, - "ModelQualityAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification" - }, - "ModelQualityBaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig" - }, - "ModelQualityJobInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput" - }, - "ModelQualityJobOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "JobResources", - "ModelQualityAppSpecification", - "ModelQualityJobInput", - "ModelQualityJobOutputConfig", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::ModelQualityJobDefinition" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndTimeOffset": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "InferenceAttribute": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "ProbabilityAttribute": { - "type": "string" - }, - "ProbabilityThresholdAttribute": { - "type": "number" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - }, - "StartTimeOffset": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.Environment" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "ProblemType": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri", - "ProblemType" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityBaselineConfig": { - "additionalProperties": false, - "properties": { - "BaseliningJobName": { - "type": "string" - }, - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ConstraintsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.ModelQualityJobInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.EndpointInput" - }, - "GroundTruthS3Input": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input" - } - }, - "required": [ - "EndpointInput", - "GroundTruthS3Input" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringGroundTruthS3Input": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "required": [ - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::ModelQualityJobDefinition.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastMonitoringExecutionSummary": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary" - }, - "MonitoringScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "MonitoringScheduleStatus": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "MonitoringScheduleConfig", - "MonitoringScheduleName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::MonitoringSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.BaselineConfig": { - "additionalProperties": false, - "properties": { - "ConstraintsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ConstraintsResource" - }, - "StatisticsResource": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StatisticsResource" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ClusterConfig": { - "additionalProperties": false, - "properties": { - "InstanceCount": { - "type": "number" - }, - "InstanceType": { - "type": "string" - }, - "VolumeKmsKeyId": { - "type": "string" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceCount", - "InstanceType", - "VolumeSizeInGB" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ConstraintsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.EndpointInput": { - "additionalProperties": false, - "properties": { - "EndpointName": { - "type": "string" - }, - "LocalPath": { - "type": "string" - }, - "S3DataDistributionType": { - "type": "string" - }, - "S3InputMode": { - "type": "string" - } - }, - "required": [ - "EndpointName", - "LocalPath" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.Environment": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification": { - "additionalProperties": false, - "properties": { - "ContainerArguments": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ContainerEntrypoint": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ImageUri": { - "type": "string" - }, - "PostAnalyticsProcessorSourceUri": { - "type": "string" - }, - "RecordPreprocessorSourceUri": { - "type": "string" - } - }, - "required": [ - "ImageUri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringExecutionSummary": { - "additionalProperties": false, - "properties": { - "CreationTime": { - "type": "string" - }, - "EndpointName": { - "type": "string" - }, - "FailureReason": { - "type": "string" - }, - "LastModifiedTime": { - "type": "string" - }, - "MonitoringExecutionStatus": { - "type": "string" - }, - "MonitoringScheduleName": { - "type": "string" - }, - "ProcessingJobArn": { - "type": "string" - }, - "ScheduledTime": { - "type": "string" - } - }, - "required": [ - "CreationTime", - "LastModifiedTime", - "MonitoringExecutionStatus", - "MonitoringScheduleName", - "ScheduledTime" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringInput": { - "additionalProperties": false, - "properties": { - "EndpointInput": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.EndpointInput" - } - }, - "required": [ - "EndpointInput" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition": { - "additionalProperties": false, - "properties": { - "BaselineConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.BaselineConfig" - }, - "Environment": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.Environment" - }, - "MonitoringAppSpecification": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringAppSpecification" - }, - "MonitoringInputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringInput" - }, - "type": "array" - }, - "MonitoringOutputConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig" - }, - "MonitoringResources": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringResources" - }, - "NetworkConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.NetworkConfig" - }, - "RoleArn": { - "type": "string" - }, - "StoppingCondition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.StoppingCondition" - } - }, - "required": [ - "MonitoringAppSpecification", - "MonitoringInputs", - "MonitoringOutputConfig", - "MonitoringResources", - "RoleArn" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutput": { - "additionalProperties": false, - "properties": { - "S3Output": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.S3Output" - } - }, - "required": [ - "S3Output" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringOutputConfig": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "MonitoringOutputs": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringOutput" - }, - "type": "array" - } - }, - "required": [ - "MonitoringOutputs" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringResources": { - "additionalProperties": false, - "properties": { - "ClusterConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ClusterConfig" - } - }, - "required": [ - "ClusterConfig" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.MonitoringScheduleConfig": { - "additionalProperties": false, - "properties": { - "MonitoringJobDefinition": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.MonitoringJobDefinition" - }, - "MonitoringJobDefinitionName": { - "type": "string" - }, - "MonitoringType": { - "type": "string" - }, - "ScheduleConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.ScheduleConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.NetworkConfig": { - "additionalProperties": false, - "properties": { - "EnableInterContainerTrafficEncryption": { - "type": "boolean" - }, - "EnableNetworkIsolation": { - "type": "boolean" - }, - "VpcConfig": { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule.VpcConfig" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.S3Output": { - "additionalProperties": false, - "properties": { - "LocalPath": { - "type": "string" - }, - "S3UploadMode": { - "type": "string" - }, - "S3Uri": { - "type": "string" - } - }, - "required": [ - "LocalPath", - "S3Uri" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.ScheduleConfig": { - "additionalProperties": false, - "properties": { - "ScheduleExpression": { - "type": "string" - } - }, - "required": [ - "ScheduleExpression" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StatisticsResource": { - "additionalProperties": false, - "properties": { - "S3Uri": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.StoppingCondition": { - "additionalProperties": false, - "properties": { - "MaxRuntimeInSeconds": { - "type": "number" - } - }, - "required": [ - "MaxRuntimeInSeconds" - ], - "type": "object" - }, - "AWS::SageMaker::MonitoringSchedule.VpcConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Subnets": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "SecurityGroupIds", - "Subnets" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceleratorTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdditionalCodeRepositories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "DefaultCodeRepository": { - "type": "string" - }, - "DirectInternetAccess": { - "type": "string" - }, - "InstanceType": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "LifecycleConfigName": { - "type": "string" - }, - "NotebookInstanceName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "RootAccess": { - "type": "string" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VolumeSizeInGB": { - "type": "number" - } - }, - "required": [ - "InstanceType", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "NotebookInstanceLifecycleConfigName": { - "type": "string" - }, - "OnCreate": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - }, - "OnStart": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::NotebookInstanceLifecycleConfig" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::Pipeline": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PipelineDefinition": { - "type": "object" - }, - "PipelineDescription": { - "type": "string" - }, - "PipelineDisplayName": { - "type": "string" - }, - "PipelineName": { - "type": "string" - }, - "RoleArn": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PipelineDefinition", - "PipelineName", - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Pipeline" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::Project": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProjectDescription": { - "type": "string" - }, - "ProjectName": { - "type": "string" - }, - "ServiceCatalogProvisioningDetails": { - "type": "object" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ProjectName", - "ServiceCatalogProvisioningDetails" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Project" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DomainId": { - "type": "string" - }, - "SingleSignOnUserIdentifier": { - "type": "string" - }, - "SingleSignOnUserValue": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserProfileName": { - "type": "string" - }, - "UserSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.UserSettings" - } - }, - "required": [ - "DomainId", - "UserProfileName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::UserProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.CustomImage": { - "additionalProperties": false, - "properties": { - "AppImageConfigName": { - "type": "string" - }, - "ImageName": { - "type": "string" - }, - "ImageVersionNumber": { - "type": "number" - } - }, - "required": [ - "AppImageConfigName", - "ImageName" - ], - "type": "object" - }, - "AWS::SageMaker::UserProfile.JupyterServerAppSettings": { - "additionalProperties": false, - "properties": { - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.KernelGatewayAppSettings": { - "additionalProperties": false, - "properties": { - "CustomImages": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.CustomImage" - }, - "type": "array" - }, - "DefaultResourceSpec": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.ResourceSpec" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.ResourceSpec": { - "additionalProperties": false, - "properties": { - "InstanceType": { - "type": "string" - }, - "SageMakerImageArn": { - "type": "string" - }, - "SageMakerImageVersionArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.SharingSettings": { - "additionalProperties": false, - "properties": { - "NotebookOutputOption": { - "type": "string" - }, - "S3KmsKeyId": { - "type": "string" - }, - "S3OutputPath": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SageMaker::UserProfile.UserSettings": { - "additionalProperties": false, - "properties": { - "ExecutionRole": { - "type": "string" - }, - "JupyterServerAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.JupyterServerAppSettings" - }, - "KernelGatewayAppSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.KernelGatewayAppSettings" - }, - "SecurityGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SharingSettings": { - "$ref": "#/definitions/AWS::SageMaker::UserProfile.SharingSettings" - } - }, - "type": "object" - }, - "AWS::SageMaker::Workteam": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "MemberDefinitions": { - "items": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.MemberDefinition" - }, - "type": "array" - }, - "NotificationConfiguration": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.NotificationConfiguration" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "WorkteamName": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SageMaker::Workteam" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.CognitoMemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoClientId": { - "type": "string" - }, - "CognitoUserGroup": { - "type": "string" - }, - "CognitoUserPool": { - "type": "string" - } - }, - "required": [ - "CognitoClientId", - "CognitoUserGroup", - "CognitoUserPool" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.MemberDefinition": { - "additionalProperties": false, - "properties": { - "CognitoMemberDefinition": { - "$ref": "#/definitions/AWS::SageMaker::Workteam.CognitoMemberDefinition" - } - }, - "required": [ - "CognitoMemberDefinition" - ], - "type": "object" - }, - "AWS::SageMaker::Workteam.NotificationConfiguration": { - "additionalProperties": false, - "properties": { - "NotificationTopicArn": { - "type": "string" - } - }, - "required": [ - "NotificationTopicArn" - ], - "type": "object" - }, - "AWS::SecretsManager::ResourcePolicy": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BlockPublicPolicy": { - "type": "boolean" - }, - "ResourcePolicy": { - "type": "object" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "ResourcePolicy", - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::ResourcePolicy" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HostedRotationLambda": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.HostedRotationLambda" - }, - "RotationLambdaARN": { - "type": "string" - }, - "RotationRules": { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule.RotationRules" - }, - "SecretId": { - "type": "string" - } - }, - "required": [ - "SecretId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::RotationSchedule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.HostedRotationLambda": { - "additionalProperties": false, - "properties": { - "KmsKeyArn": { - "type": "string" - }, - "MasterSecretArn": { - "type": "string" - }, - "MasterSecretKmsKeyArn": { - "type": "string" - }, - "RotationLambdaName": { - "type": "string" - }, - "RotationType": { - "type": "string" - }, - "VpcSecurityGroupIds": { - "type": "string" - }, - "VpcSubnetIds": { - "type": "string" - } - }, - "required": [ - "RotationType" - ], - "type": "object" - }, - "AWS::SecretsManager::RotationSchedule.RotationRules": { - "additionalProperties": false, - "properties": { - "AutomaticallyAfterDays": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "GenerateSecretString": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.GenerateSecretString" - }, - "KmsKeyId": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "ReplicaRegions": { - "items": { - "$ref": "#/definitions/AWS::SecretsManager::Secret.ReplicaRegion" - }, - "type": "array" - }, - "SecretString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::Secret" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::SecretsManager::Secret.GenerateSecretString": { - "additionalProperties": false, - "properties": { - "ExcludeCharacters": { - "type": "string" - }, - "ExcludeLowercase": { - "type": "boolean" - }, - "ExcludeNumbers": { - "type": "boolean" - }, - "ExcludePunctuation": { - "type": "boolean" - }, - "ExcludeUppercase": { - "type": "boolean" - }, - "GenerateStringKey": { - "type": "string" - }, - "IncludeSpace": { - "type": "boolean" - }, - "PasswordLength": { - "type": "number" - }, - "RequireEachIncludedType": { - "type": "boolean" - }, - "SecretStringTemplate": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::SecretsManager::Secret.ReplicaRegion": { - "additionalProperties": false, - "properties": { - "KmsKeyId": { - "type": "string" - }, - "Region": { - "type": "string" - } - }, - "required": [ - "Region" - ], - "type": "object" - }, - "AWS::SecretsManager::SecretTargetAttachment": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "SecretId": { - "type": "string" - }, - "TargetId": { - "type": "string" - }, - "TargetType": { - "type": "string" - } - }, - "required": [ - "SecretId", - "TargetId", - "TargetType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecretsManager::SecretTargetAttachment" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::SecurityHub::Hub": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Tags": { - "type": "object" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::SecurityHub::Hub" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceCatalog::AcceptedPortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::AcceptedPortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Distributor": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Owner": { - "type": "string" - }, - "ProvisioningArtifactParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties" - }, - "type": "array" - }, - "ReplaceProvisioningArtifacts": { - "type": "boolean" - }, - "SupportDescription": { - "type": "string" - }, - "SupportEmail": { - "type": "string" - }, - "SupportUrl": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name", - "Owner", - "ProvisioningArtifactParameters" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DisableTemplateValidation": { - "type": "boolean" - }, - "Info": { - "type": "object" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Info" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PathId": { - "type": "string" - }, - "PathName": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "ProductName": { - "type": "string" - }, - "ProvisionedProductName": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ProvisioningArtifactName": { - "type": "string" - }, - "ProvisioningParameters": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter" - }, - "type": "array" - }, - "ProvisioningPreferences": { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::CloudFormationProvisionedProduct" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": { - "additionalProperties": false, - "properties": { - "StackSetAccounts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackSetFailureToleranceCount": { - "type": "number" - }, - "StackSetFailureTolerancePercentage": { - "type": "number" - }, - "StackSetMaxConcurrencyCount": { - "type": "number" - }, - "StackSetMaxConcurrencyPercentage": { - "type": "number" - }, - "StackSetOperationType": { - "type": "string" - }, - "StackSetRegions": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::ServiceCatalog::LaunchNotificationConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "NotificationArns": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - } - }, - "required": [ - "NotificationArns", - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchNotificationConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchRoleConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "LocalRoleName": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RoleArn": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchRoleConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::LaunchTemplateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "Rules": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "Rules" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::LaunchTemplateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::Portfolio": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "DisplayName": { - "type": "string" - }, - "ProviderName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DisplayName", - "ProviderName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::Portfolio" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioPrincipalAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "PrincipalARN": { - "type": "string" - }, - "PrincipalType": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "PrincipalARN", - "PrincipalType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioPrincipalAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioProductAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "SourcePortfolioId": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioProductAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::PortfolioShare": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountId": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ShareTagOptions": { - "type": "boolean" - } - }, - "required": [ - "AccountId", - "PortfolioId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::PortfolioShare" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ResourceUpdateConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "TagUpdateOnProvisionedProduct": { - "type": "string" - } - }, - "required": [ - "PortfolioId", - "ProductId", - "TagUpdateOnProvisionedProduct" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ResourceUpdateConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "Definition": { - "items": { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction.DefinitionParameter" - }, - "type": "array" - }, - "DefinitionType": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Definition", - "DefinitionType", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceAction" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceAction.DefinitionParameter": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::ServiceCatalog::ServiceActionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ProductId": { - "type": "string" - }, - "ProvisioningArtifactId": { - "type": "string" - }, - "ServiceActionId": { - "type": "string" - } - }, - "required": [ - "ProductId", - "ProvisioningArtifactId", - "ServiceActionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::ServiceActionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::StackSetConstraint": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AcceptLanguage": { - "type": "string" - }, - "AccountList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "AdminRole": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "ExecutionRole": { - "type": "string" - }, - "PortfolioId": { - "type": "string" - }, - "ProductId": { - "type": "string" - }, - "RegionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "StackInstanceControl": { - "type": "string" - } - }, - "required": [ - "AccountList", - "AdminRole", - "Description", - "ExecutionRole", - "PortfolioId", - "ProductId", - "RegionList", - "StackInstanceControl" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::StackSetConstraint" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOption": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Active": { - "type": "boolean" - }, - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOption" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalog::TagOptionAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceId": { - "type": "string" - }, - "TagOptionId": { - "type": "string" - } - }, - "required": [ - "ResourceId", - "TagOptionId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalog::TagOptionAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::Application": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::Application" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Attributes": { - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "Attributes", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "AttributeGroup": { - "type": "string" - } - }, - "required": [ - "Application", - "AttributeGroup" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceCatalogAppRegistry::ResourceAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Application": { - "type": "string" - }, - "Resource": { - "type": "string" - }, - "ResourceType": { - "type": "string" - } - }, - "required": [ - "Application", - "Resource", - "ResourceType" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceCatalogAppRegistry::ResourceAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::HttpNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::HttpNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Instance": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "InstanceAttributes": { - "type": "object" - }, - "InstanceId": { - "type": "string" - }, - "ServiceId": { - "type": "string" - } - }, - "required": [ - "InstanceAttributes", - "ServiceId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Instance" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Vpc": { - "type": "string" - } - }, - "required": [ - "Name", - "Vpc" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PrivateDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace.PrivateDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PrivateDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Properties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.Properties" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::PublicDnsNamespace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.Properties": { - "additionalProperties": false, - "properties": { - "DnsProperties": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.PublicDnsPropertiesMutable": { - "additionalProperties": false, - "properties": { - "SOA": { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace.SOA" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::PublicDnsNamespace.SOA": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::ServiceDiscovery::Service": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "DnsConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsConfig" - }, - "HealthCheckConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckConfig" - }, - "HealthCheckCustomConfig": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.HealthCheckCustomConfig" - }, - "Name": { - "type": "string" - }, - "NamespaceId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "Type": { - "type": "string" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::ServiceDiscovery::Service" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsConfig": { - "additionalProperties": false, - "properties": { - "DnsRecords": { - "items": { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service.DnsRecord" - }, - "type": "array" - }, - "NamespaceId": { - "type": "string" - }, - "RoutingPolicy": { - "type": "string" - } - }, - "required": [ - "DnsRecords" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.DnsRecord": { - "additionalProperties": false, - "properties": { - "TTL": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "TTL", - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - }, - "ResourcePath": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": { - "additionalProperties": false, - "properties": { - "FailureThreshold": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Signer::ProfilePermission": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Action": { - "type": "string" - }, - "Principal": { - "type": "string" - }, - "ProfileName": { - "type": "string" - }, - "ProfileVersion": { - "type": "string" - }, - "StatementId": { - "type": "string" - } - }, - "required": [ - "Action", - "Principal", - "ProfileName", - "StatementId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::ProfilePermission" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "PlatformId": { - "type": "string" - }, - "SignatureValidityPeriod": { - "$ref": "#/definitions/AWS::Signer::SigningProfile.SignatureValidityPeriod" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "PlatformId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Signer::SigningProfile" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Signer::SigningProfile.SignatureValidityPeriod": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::StepFunctions::Activity": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::Activity.TagsEntry" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::Activity" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::Activity.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Definition": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.Definition" - }, - "DefinitionS3Location": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.S3Location" - }, - "DefinitionString": { - "type": "string" - }, - "DefinitionSubstitutions": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "LoggingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LoggingConfiguration" - }, - "RoleArn": { - "type": "string" - }, - "StateMachineName": { - "type": "string" - }, - "StateMachineType": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TagsEntry" - }, - "type": "array" - }, - "TracingConfiguration": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.TracingConfiguration" - } - }, - "required": [ - "RoleArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::StepFunctions::StateMachine" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": { - "additionalProperties": false, - "properties": { - "LogGroupArn": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.Definition": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LogDestination": { - "additionalProperties": false, - "properties": { - "CloudWatchLogsLogGroup": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.LoggingConfiguration": { - "additionalProperties": false, - "properties": { - "Destinations": { - "items": { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine.LogDestination" - }, - "type": "array" - }, - "IncludeExecutionData": { - "type": "boolean" - }, - "Level": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::StepFunctions::StateMachine.S3Location": { - "additionalProperties": false, - "properties": { - "Bucket": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Version": { - "type": "string" - } - }, - "required": [ - "Bucket", - "Key" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TagsEntry": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - }, - "AWS::StepFunctions::StateMachine.TracingConfiguration": { - "additionalProperties": false, - "properties": { - "Enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ArtifactS3Location": { - "type": "string" - }, - "Code": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Code" - }, - "ExecutionRoleArn": { - "type": "string" - }, - "FailureRetentionPeriod": { - "type": "number" - }, - "Name": { - "type": "string" - }, - "RunConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.RunConfig" - }, - "RuntimeVersion": { - "type": "string" - }, - "Schedule": { - "$ref": "#/definitions/AWS::Synthetics::Canary.Schedule" - }, - "StartCanaryAfterCreation": { - "type": "boolean" - }, - "SuccessRetentionPeriod": { - "type": "number" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VPCConfig": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VPCConfig" - }, - "VisualReference": { - "$ref": "#/definitions/AWS::Synthetics::Canary.VisualReference" - } - }, - "required": [ - "ArtifactS3Location", - "Code", - "ExecutionRoleArn", - "Name", - "RuntimeVersion", - "Schedule", - "StartCanaryAfterCreation" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Synthetics::Canary" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.BaseScreenshot": { - "additionalProperties": false, - "properties": { - "IgnoreCoordinates": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ScreenshotName": { - "type": "string" - } - }, - "required": [ - "ScreenshotName" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.Code": { - "additionalProperties": false, - "properties": { - "Handler": { - "type": "string" - }, - "S3Bucket": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - }, - "Script": { - "type": "string" - } - }, - "required": [ - "Handler" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.RunConfig": { - "additionalProperties": false, - "properties": { - "ActiveTracing": { - "type": "boolean" - }, - "EnvironmentVariables": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "MemoryInMB": { - "type": "number" - }, - "TimeoutInSeconds": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::Synthetics::Canary.Schedule": { - "additionalProperties": false, - "properties": { - "DurationInSeconds": { - "type": "string" - }, - "Expression": { - "type": "string" - } - }, - "required": [ - "Expression" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VPCConfig": { - "additionalProperties": false, - "properties": { - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcId": { - "type": "string" - } - }, - "required": [ - "SecurityGroupIds", - "SubnetIds" - ], - "type": "object" - }, - "AWS::Synthetics::Canary.VisualReference": { - "additionalProperties": false, - "properties": { - "BaseCanaryRunId": { - "type": "string" - }, - "BaseScreenshots": { - "items": { - "$ref": "#/definitions/AWS::Synthetics::Canary.BaseScreenshot" - }, - "type": "array" - } - }, - "required": [ - "BaseCanaryRunId" - ], - "type": "object" - }, - "AWS::Timestream::Database": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "KmsKeyId": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Database" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Timestream::Table": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DatabaseName": { - "type": "string" - }, - "RetentionProperties": { - "type": "object" - }, - "TableName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "DatabaseName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Timestream::Table" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::Server": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Certificate": { - "type": "string" - }, - "Domain": { - "type": "string" - }, - "EndpointDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.EndpointDetails" - }, - "EndpointType": { - "type": "string" - }, - "IdentityProviderDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.IdentityProviderDetails" - }, - "IdentityProviderType": { - "type": "string" - }, - "LoggingRole": { - "type": "string" - }, - "ProtocolDetails": { - "$ref": "#/definitions/AWS::Transfer::Server.ProtocolDetails" - }, - "Protocols": { - "items": { - "$ref": "#/definitions/AWS::Transfer::Server.Protocol" - }, - "type": "array" - }, - "SecurityPolicyName": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::Server" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::Transfer::Server.EndpointDetails": { - "additionalProperties": false, - "properties": { - "AddressAllocationIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SecurityGroupIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "SubnetIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "VpcEndpointId": { - "type": "string" - }, - "VpcId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.IdentityProviderDetails": { - "additionalProperties": false, - "properties": { - "DirectoryId": { - "type": "string" - }, - "InvocationRole": { - "type": "string" - }, - "Url": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::Server.Protocol": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::Transfer::Server.ProtocolDetails": { - "additionalProperties": false, - "properties": { - "PassiveIp": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::Transfer::User": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "HomeDirectory": { - "type": "string" - }, - "HomeDirectoryMappings": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.HomeDirectoryMapEntry" - }, - "type": "array" - }, - "HomeDirectoryType": { - "type": "string" - }, - "Policy": { - "type": "string" - }, - "PosixProfile": { - "$ref": "#/definitions/AWS::Transfer::User.PosixProfile" - }, - "Role": { - "type": "string" - }, - "ServerId": { - "type": "string" - }, - "SshPublicKeys": { - "items": { - "$ref": "#/definitions/AWS::Transfer::User.SshPublicKey" - }, - "type": "array" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - } - }, - "required": [ - "Role", - "ServerId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::Transfer::User" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::Transfer::User.HomeDirectoryMapEntry": { - "additionalProperties": false, - "properties": { - "Entry": { - "type": "string" - }, - "Target": { - "type": "string" - } - }, - "required": [ - "Entry", - "Target" - ], - "type": "object" - }, - "AWS::Transfer::User.PosixProfile": { - "additionalProperties": false, - "properties": { - "Gid": { - "type": "number" - }, - "SecondaryGids": { - "items": { - "type": "number" - }, - "type": "array" - }, - "Uid": { - "type": "number" - } - }, - "required": [ - "Gid", - "Uid" - ], - "type": "object" - }, - "AWS::Transfer::User.SshPublicKey": { - "additionalProperties": false, - "properties": {}, - "type": "object" - }, - "AWS::WAF::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAF::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAF::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAF::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name", - "SizeConstraints" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAF::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAF::WebACL.ActivatedRule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::WebACL.ActivatedRule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAF::WebACL.WafAction" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAF::WebACL.WafAction": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name", - "XssMatchTuples" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAF::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAF::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAF::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ByteMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::ByteMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.ByteMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "TargetString": { - "type": "string" - }, - "TargetStringBase64": { - "type": "string" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::ByteMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "GeoMatchConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::GeoMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "IPSetDescriptors": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::IPSet.IPSetDescriptor" - }, - "type": "array" - }, - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::IPSet.IPSetDescriptor": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Type", - "Value" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MatchPredicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule.Predicate" - }, - "type": "array" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RateKey": { - "type": "string" - }, - "RateLimit": { - "type": "number" - } - }, - "required": [ - "MetricName", - "Name", - "RateKey", - "RateLimit" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RateBasedRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::RateBasedRule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "RegexPatternStrings": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "Name", - "RegexPatternStrings" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Predicates": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::Rule.Predicate" - }, - "type": "array" - } - }, - "required": [ - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::Rule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::Rule.Predicate": { - "additionalProperties": false, - "properties": { - "DataId": { - "type": "string" - }, - "Negated": { - "type": "boolean" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "DataId", - "Negated", - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SizeConstraints": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.SizeConstraint" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SizeConstraintSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "SqlInjectionMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::SqlInjectionMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "MetricName": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Rule" - }, - "type": "array" - } - }, - "required": [ - "DefaultAction", - "MetricName", - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Action": { - "additionalProperties": false, - "properties": { - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFRegional::WebACL.Action" - }, - "Priority": { - "type": "number" - }, - "RuleId": { - "type": "string" - } - }, - "required": [ - "Action", - "Priority", - "RuleId" - ], - "type": "object" - }, - "AWS::WAFRegional::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLId": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "XssMatchTuples": { - "items": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.XssMatchTuple" - }, - "type": "array" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFRegional::XssMatchSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.FieldToMatch": { - "additionalProperties": false, - "properties": { - "Data": { - "type": "string" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::WAFRegional::XssMatchSet.XssMatchTuple": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet.FieldToMatch" - }, - "TextTransformation": { - "type": "string" - } - }, - "required": [ - "FieldToMatch", - "TextTransformation" - ], - "type": "object" - }, - "AWS::WAFv2::IPSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Addresses": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Description": { - "type": "string" - }, - "IPAddressVersion": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "Addresses", - "IPAddressVersion", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::IPSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RegexPatternSet": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "RegularExpressionList": { - "items": { - "type": "string" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "RegularExpressionList", - "Scope" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RegexPatternSet" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "Capacity": { - "type": "number" - }, - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.CustomResponseBody" - } - }, - "type": "object" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Capacity", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::RuleGroup" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.LabelSummary": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RuleAction" - }, - "Name": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "type": "object" - }, - "Block": { - "type": "object" - }, - "Count": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.LabelMatchStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::RuleGroup.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::RuleGroup.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "CustomResponseBodies": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponseBody" - } - }, - "type": "object" - }, - "DefaultAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.DefaultAction" - }, - "Description": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Rules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Rule" - }, - "type": "array" - }, - "Scope": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "DefaultAction", - "Scope", - "VisibilityConfig" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACL" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.AllowAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.AndStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.BlockAction": { - "additionalProperties": false, - "properties": { - "CustomResponse": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomResponse" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ByteMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "PositionalConstraint": { - "type": "string" - }, - "SearchString": { - "type": "string" - }, - "SearchStringBase64": { - "type": "string" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "PositionalConstraint", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CountAction": { - "additionalProperties": false, - "properties": { - "CustomRequestHandling": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomRequestHandling" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomHTTPHeader": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Name", - "Value" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomRequestHandling": { - "additionalProperties": false, - "properties": { - "InsertHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "InsertHeaders" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponse": { - "additionalProperties": false, - "properties": { - "CustomResponseBodyKey": { - "type": "string" - }, - "ResponseCode": { - "type": "number" - }, - "ResponseHeaders": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CustomHTTPHeader" - }, - "type": "array" - } - }, - "required": [ - "ResponseCode" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.CustomResponseBody": { - "additionalProperties": false, - "properties": { - "Content": { - "type": "string" - }, - "ContentType": { - "type": "string" - } - }, - "required": [ - "Content", - "ContentType" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.DefaultAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ExcludedRule": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.FieldToMatch": { - "additionalProperties": false, - "properties": { - "AllQueryArguments": { - "type": "object" - }, - "Body": { - "type": "object" - }, - "JsonBody": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonBody" - }, - "Method": { - "type": "object" - }, - "QueryString": { - "type": "object" - }, - "SingleHeader": { - "type": "object" - }, - "SingleQueryArgument": { - "type": "object" - }, - "UriPath": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.ForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.GeoMatchStatement": { - "additionalProperties": false, - "properties": { - "CountryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration": { - "additionalProperties": false, - "properties": { - "FallbackBehavior": { - "type": "string" - }, - "HeaderName": { - "type": "string" - }, - "Position": { - "type": "string" - } - }, - "required": [ - "FallbackBehavior", - "HeaderName", - "Position" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.IPSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "IPSetForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetForwardedIPConfiguration" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonBody": { - "additionalProperties": false, - "properties": { - "InvalidFallbackBehavior": { - "type": "string" - }, - "MatchPattern": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.JsonMatchPattern" - }, - "MatchScope": { - "type": "string" - } - }, - "required": [ - "MatchPattern", - "MatchScope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.JsonMatchPattern": { - "additionalProperties": false, - "properties": { - "All": { - "type": "object" - }, - "IncludedPaths": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.Label": { - "additionalProperties": false, - "properties": { - "Name": { - "type": "string" - } - }, - "required": [ - "Name" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.LabelMatchStatement": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Scope": { - "type": "string" - } - }, - "required": [ - "Key", - "Scope" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": { - "additionalProperties": false, - "properties": { - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - }, - "Name": { - "type": "string" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VendorName": { - "type": "string" - } - }, - "required": [ - "Name", - "VendorName" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.NotStatement": { - "additionalProperties": false, - "properties": { - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "Statement" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OrStatement": { - "additionalProperties": false, - "properties": { - "Statements": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "type": "array" - } - }, - "required": [ - "Statements" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.OverrideAction": { - "additionalProperties": false, - "properties": { - "Count": { - "type": "object" - }, - "None": { - "type": "object" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RateBasedStatement": { - "additionalProperties": false, - "properties": { - "AggregateKeyType": { - "type": "string" - }, - "ForwardedIPConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ForwardedIPConfiguration" - }, - "Limit": { - "type": "number" - }, - "ScopeDownStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - } - }, - "required": [ - "AggregateKeyType", - "Limit" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "Arn", - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Rule": { - "additionalProperties": false, - "properties": { - "Action": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleAction" - }, - "Name": { - "type": "string" - }, - "OverrideAction": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OverrideAction" - }, - "Priority": { - "type": "number" - }, - "RuleLabels": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Label" - }, - "type": "array" - }, - "Statement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.Statement" - }, - "VisibilityConfig": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.VisibilityConfig" - } - }, - "required": [ - "Name", - "Priority", - "Statement", - "VisibilityConfig" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleAction": { - "additionalProperties": false, - "properties": { - "Allow": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AllowAction" - }, - "Block": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.BlockAction" - }, - "Count": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.CountAction" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": { - "additionalProperties": false, - "properties": { - "Arn": { - "type": "string" - }, - "ExcludedRules": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ExcludedRule" - }, - "type": "array" - } - }, - "required": [ - "Arn" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SizeConstraintStatement": { - "additionalProperties": false, - "properties": { - "ComparisonOperator": { - "type": "string" - }, - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "Size": { - "type": "number" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "ComparisonOperator", - "FieldToMatch", - "Size", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.SqliMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.Statement": { - "additionalProperties": false, - "properties": { - "AndStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.AndStatement" - }, - "ByteMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ByteMatchStatement" - }, - "GeoMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.GeoMatchStatement" - }, - "IPSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.IPSetReferenceStatement" - }, - "LabelMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.LabelMatchStatement" - }, - "ManagedRuleGroupStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.ManagedRuleGroupStatement" - }, - "NotStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.NotStatement" - }, - "OrStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.OrStatement" - }, - "RateBasedStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RateBasedStatement" - }, - "RegexPatternSetReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement" - }, - "RuleGroupReferenceStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.RuleGroupReferenceStatement" - }, - "SizeConstraintStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SizeConstraintStatement" - }, - "SqliMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.SqliMatchStatement" - }, - "XssMatchStatement": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.XssMatchStatement" - } - }, - "type": "object" - }, - "AWS::WAFv2::WebACL.TextTransformation": { - "additionalProperties": false, - "properties": { - "Priority": { - "type": "number" - }, - "Type": { - "type": "string" - } - }, - "required": [ - "Priority", - "Type" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.VisibilityConfig": { - "additionalProperties": false, - "properties": { - "CloudWatchMetricsEnabled": { - "type": "boolean" - }, - "MetricName": { - "type": "string" - }, - "SampledRequestsEnabled": { - "type": "boolean" - } - }, - "required": [ - "CloudWatchMetricsEnabled", - "MetricName", - "SampledRequestsEnabled" - ], - "type": "object" - }, - "AWS::WAFv2::WebACL.XssMatchStatement": { - "additionalProperties": false, - "properties": { - "FieldToMatch": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.FieldToMatch" - }, - "TextTransformations": { - "items": { - "$ref": "#/definitions/AWS::WAFv2::WebACL.TextTransformation" - }, - "type": "array" - } - }, - "required": [ - "FieldToMatch", - "TextTransformations" - ], - "type": "object" - }, - "AWS::WAFv2::WebACLAssociation": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ResourceArn": { - "type": "string" - }, - "WebACLArn": { - "type": "string" - } - }, - "required": [ - "ResourceArn", - "WebACLArn" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WAFv2::WebACLAssociation" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "ConnectionString": { - "type": "string" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - } - }, - "required": [ - "ConnectionString" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::ConnectionAlias" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::ConnectionAlias.ConnectionAliasAssociation": { - "additionalProperties": false, - "properties": { - "AssociatedAccountId": { - "type": "string" - }, - "AssociationStatus": { - "type": "string" - }, - "ConnectionIdentifier": { - "type": "string" - }, - "ResourceId": { - "type": "string" - } - }, - "type": "object" - }, - "AWS::WorkSpaces::Workspace": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "BundleId": { - "type": "string" - }, - "DirectoryId": { - "type": "string" - }, - "RootVolumeEncryptionEnabled": { - "type": "boolean" - }, - "Tags": { - "items": { - "$ref": "#/definitions/Tag" - }, - "type": "array" - }, - "UserName": { - "type": "string" - }, - "UserVolumeEncryptionEnabled": { - "type": "boolean" - }, - "VolumeEncryptionKey": { - "type": "string" - }, - "WorkspaceProperties": { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace.WorkspaceProperties" - } - }, - "required": [ - "BundleId", - "DirectoryId", - "UserName" - ], - "type": "object" - }, - "Type": { - "enum": [ - "AWS::WorkSpaces::Workspace" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "AWS::WorkSpaces::Workspace.WorkspaceProperties": { - "additionalProperties": false, - "properties": { - "ComputeTypeName": { - "type": "string" - }, - "RootVolumeSizeGib": { - "type": "number" - }, - "RunningMode": { - "type": "string" - }, - "RunningModeAutoStopTimeoutInMinutes": { - "type": "number" - }, - "UserVolumeSizeGib": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::Group": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "FilterExpression": { - "type": "string" - }, - "GroupName": { - "type": "string" - }, - "InsightsConfiguration": { - "$ref": "#/definitions/AWS::XRay::Group.InsightsConfiguration" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::Group" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::Group.InsightsConfiguration": { - "additionalProperties": false, - "properties": { - "InsightsEnabled": { - "type": "boolean" - }, - "NotificationsEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "RuleName": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - }, - "SamplingRuleRecord": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleRecord" - }, - "SamplingRuleUpdate": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRuleUpdate" - }, - "Tags": { - "items": { - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "Type": { - "enum": [ - "AWS::XRay::SamplingRule" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRule": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - }, - "Version": { - "type": "number" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleRecord": { - "additionalProperties": false, - "properties": { - "CreatedAt": { - "type": "string" - }, - "ModifiedAt": { - "type": "string" - }, - "SamplingRule": { - "$ref": "#/definitions/AWS::XRay::SamplingRule.SamplingRule" - } - }, - "type": "object" - }, - "AWS::XRay::SamplingRule.SamplingRuleUpdate": { - "additionalProperties": false, - "properties": { - "Attributes": { - "additionalProperties": true, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "string" - } - }, - "type": "object" - }, - "FixedRate": { - "type": "number" - }, - "HTTPMethod": { - "type": "string" - }, - "Host": { - "type": "string" - }, - "Priority": { - "type": "number" - }, - "ReservoirSize": { - "type": "number" - }, - "ResourceARN": { - "type": "string" - }, - "RuleARN": { - "type": "string" - }, - "RuleName": { - "type": "string" - }, - "ServiceName": { - "type": "string" - }, - "ServiceType": { - "type": "string" - }, - "URLPath": { - "type": "string" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill": { - "additionalProperties": false, - "properties": { - "DeletionPolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - }, - "DependsOn": { - "anyOf": [ - { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - { - "items": { - "pattern": "^[a-zA-Z0-9]+$", - "type": "string" - }, - "type": "array" - } - ] - }, - "Metadata": { - "type": "object" - }, - "Properties": { - "additionalProperties": false, - "properties": { - "AuthenticationConfiguration": { - "$ref": "#/definitions/Alexa::ASK::Skill.AuthenticationConfiguration" - }, - "SkillPackage": { - "$ref": "#/definitions/Alexa::ASK::Skill.SkillPackage" - }, - "VendorId": { - "type": "string" - } - }, - "required": [ - "AuthenticationConfiguration", - "SkillPackage", - "VendorId" - ], - "type": "object" - }, - "Type": { - "enum": [ - "Alexa::ASK::Skill" - ], - "type": "string" - }, - "UpdateReplacePolicy": { - "enum": [ - "Delete", - "Retain", - "Snapshot" - ], - "type": "string" - } - }, - "required": [ - "Type", - "Properties" - ], - "type": "object" - }, - "Alexa::ASK::Skill.AuthenticationConfiguration": { - "additionalProperties": false, - "properties": { - "ClientId": { - "type": "string" - }, - "ClientSecret": { - "type": "string" - }, - "RefreshToken": { - "type": "string" - } - }, - "required": [ - "ClientId", - "ClientSecret", - "RefreshToken" - ], - "type": "object" - }, - "Alexa::ASK::Skill.Overrides": { - "additionalProperties": false, - "properties": { - "Manifest": { - "type": "object" - } - }, - "type": "object" - }, - "Alexa::ASK::Skill.SkillPackage": { - "additionalProperties": false, - "properties": { - "Overrides": { - "$ref": "#/definitions/Alexa::ASK::Skill.Overrides" - }, - "S3Bucket": { - "type": "string" - }, - "S3BucketRole": { - "type": "string" - }, - "S3Key": { - "type": "string" - }, - "S3ObjectVersion": { - "type": "string" - } - }, - "required": [ - "S3Bucket", - "S3Key" - ], - "type": "object" - }, - "Parameter": { - "additionalProperties": false, - "properties": { - "AllowedPattern": { - "type": "string" - }, - "AllowedValues": { - "type": "array" - }, - "ConstraintDescription": { - "type": "string" - }, - "Default": { - "type": "string" - }, - "Description": { - "type": "string" - }, - "MaxLength": { - "type": "string" - }, - "MaxValue": { - "type": "string" - }, - "MinLength": { - "type": "string" - }, - "MinValue": { - "type": "string" - }, - "NoEcho": { - "type": [ - "string", - "boolean" - ] - }, - "Type": { - "enum": [ - "String", - "Number", - "List\u003cNumber\u003e", - "CommaDelimitedList", - "AWS::EC2::AvailabilityZone::Name", - "AWS::EC2::Image::Id", - "AWS::EC2::Instance::Id", - "AWS::EC2::KeyPair::KeyName", - "AWS::EC2::SecurityGroup::GroupName", - "AWS::EC2::SecurityGroup::Id", - "AWS::EC2::Subnet::Id", - "AWS::EC2::Volume::Id", - "AWS::EC2::VPC::Id", - "AWS::Route53::HostedZone::Id", - "List\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "List\u003cAWS::EC2::Image::Id\u003e", - "List\u003cAWS::EC2::Instance::Id\u003e", - "List\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "List\u003cAWS::EC2::SecurityGroup::Id\u003e", - "List\u003cAWS::EC2::Subnet::Id\u003e", - "List\u003cAWS::EC2::Volume::Id\u003e", - "List\u003cAWS::EC2::VPC::Id\u003e", - "List\u003cAWS::Route53::HostedZone::Id\u003e", - "List\u003cString\u003e", - "AWS::SSM::Parameter::Name", - "AWS::SSM::Parameter::Value\u003cString\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cString\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cCommaDelimitedList\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::AvailabilityZone::Name\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Image::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Instance::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::GroupName\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::SecurityGroup::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Subnet::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::Volume::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::EC2::VPC::Id\u003e", - "AWS::SSM::Parameter::Value\u003cAWS::Route53::HostedZone::Id\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::AvailabilityZone::Name\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Image::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Instance::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::GroupName\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::SecurityGroup::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Subnet::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::Volume::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::EC2::VPC::Id\u003e\u003e", - "AWS::SSM::Parameter::Value\u003cList\u003cAWS::Route53::HostedZone::Id\u003e\u003e" - ], - "type": "string" - } - }, - "required": [ - "Type" - ], - "type": "object" - }, - "Tag": { - "additionalProperties": false, - "properties": { - "Key": { - "type": "string" - }, - "Value": { - "type": "string" - } - }, - "required": [ - "Key", - "Value" - ], - "type": "object" - } - }, - "properties": { - "AWSTemplateFormatVersion": { - "enum": [ - "2010-09-09" - ], - "type": "string" - }, - "Conditions": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Description": { - "description": "Template description", - "maxLength": 1024, - "type": "string" - }, - "Mappings": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Metadata": { - "type": "object" - }, - "Outputs": { - "additionalProperties": false, - "maxProperties": 60, - "minProperties": 1, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "type": "object" - } - }, - "type": "object" - }, - "Parameters": { - "additionalProperties": false, - "maxProperties": 50, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "$ref": "#/definitions/Parameter" - } - }, - "type": "object" - }, - "Resources": { - "additionalProperties": false, - "patternProperties": { - "^[a-zA-Z0-9]+$": { - "anyOf": [ - { - "$ref": "#/definitions/AWS::ACMPCA::Certificate" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthority" - }, - { - "$ref": "#/definitions/AWS::ACMPCA::CertificateAuthorityActivation" - }, - { - "$ref": "#/definitions/AWS::AccessAnalyzer::Analyzer" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Broker" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::Configuration" - }, - { - "$ref": "#/definitions/AWS::AmazonMQ::ConfigurationAssociation" - }, - { - "$ref": "#/definitions/AWS::Amplify::App" - }, - { - "$ref": "#/definitions/AWS::Amplify::Branch" - }, - { - "$ref": "#/definitions/AWS::Amplify::Domain" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Account" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ApiKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::BasePathMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::ClientCertificate" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationPart" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DocumentationVersion" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::GatewayResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Method" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RequestValidator" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Resource" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::RestApi" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlan" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::UsagePlanKey" - }, - { - "$ref": "#/definitions/AWS::ApiGateway::VpcLink" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Api" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiGatewayManagedOverrides" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::ApiMapping" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Authorizer" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Deployment" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::DomainName" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Integration" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::IntegrationResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Model" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Route" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::RouteResponse" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::Stage" - }, - { - "$ref": "#/definitions/AWS::ApiGatewayV2::VpcLink" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Application" - }, - { - "$ref": "#/definitions/AWS::AppConfig::ConfigurationProfile" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Deployment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::DeploymentStrategy" - }, - { - "$ref": "#/definitions/AWS::AppConfig::Environment" - }, - { - "$ref": "#/definitions/AWS::AppConfig::HostedConfigurationVersion" - }, - { - "$ref": "#/definitions/AWS::AppFlow::ConnectorProfile" - }, - { - "$ref": "#/definitions/AWS::AppFlow::Flow" - }, - { - "$ref": "#/definitions/AWS::AppIntegrations::EventIntegration" - }, - { - "$ref": "#/definitions/AWS::AppMesh::GatewayRoute" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Mesh" - }, - { - "$ref": "#/definitions/AWS::AppMesh::Route" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualGateway" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualNode" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualRouter" - }, - { - "$ref": "#/definitions/AWS::AppMesh::VirtualService" - }, - { - "$ref": "#/definitions/AWS::AppRunner::Service" - }, - { - "$ref": "#/definitions/AWS::AppStream::DirectoryConfig" - }, - { - "$ref": "#/definitions/AWS::AppStream::Fleet" - }, - { - "$ref": "#/definitions/AWS::AppStream::ImageBuilder" - }, - { - "$ref": "#/definitions/AWS::AppStream::Stack" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackFleetAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::StackUserAssociation" - }, - { - "$ref": "#/definitions/AWS::AppStream::User" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiCache" - }, - { - "$ref": "#/definitions/AWS::AppSync::ApiKey" - }, - { - "$ref": "#/definitions/AWS::AppSync::DataSource" - }, - { - "$ref": "#/definitions/AWS::AppSync::FunctionConfiguration" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLApi" - }, - { - "$ref": "#/definitions/AWS::AppSync::GraphQLSchema" - }, - { - "$ref": "#/definitions/AWS::AppSync::Resolver" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalableTarget" - }, - { - "$ref": "#/definitions/AWS::ApplicationAutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::ApplicationInsights::Application" - }, - { - "$ref": "#/definitions/AWS::Athena::DataCatalog" - }, - { - "$ref": "#/definitions/AWS::Athena::NamedQuery" - }, - { - "$ref": "#/definitions/AWS::Athena::PreparedStatement" - }, - { - "$ref": "#/definitions/AWS::Athena::WorkGroup" - }, - { - "$ref": "#/definitions/AWS::AuditManager::Assessment" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::AutoScalingGroup" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LaunchConfiguration" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::LifecycleHook" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScalingPolicy" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::ScheduledAction" - }, - { - "$ref": "#/definitions/AWS::AutoScaling::WarmPool" - }, - { - "$ref": "#/definitions/AWS::AutoScalingPlans::ScalingPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupPlan" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupSelection" - }, - { - "$ref": "#/definitions/AWS::Backup::BackupVault" - }, - { - "$ref": "#/definitions/AWS::Batch::ComputeEnvironment" - }, - { - "$ref": "#/definitions/AWS::Batch::JobDefinition" - }, - { - "$ref": "#/definitions/AWS::Batch::JobQueue" - }, - { - "$ref": "#/definitions/AWS::Budgets::Budget" - }, - { - "$ref": "#/definitions/AWS::Budgets::BudgetsAction" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalyMonitor" - }, - { - "$ref": "#/definitions/AWS::CE::AnomalySubscription" - }, - { - "$ref": "#/definitions/AWS::CE::CostCategory" - }, - { - "$ref": "#/definitions/AWS::CUR::ReportDefinition" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Keyspace" - }, - { - "$ref": "#/definitions/AWS::Cassandra::Table" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Account" - }, - { - "$ref": "#/definitions/AWS::CertificateManager::Certificate" - }, - { - "$ref": "#/definitions/AWS::Chatbot::SlackChannelConfiguration" - }, - { - "$ref": "#/definitions/AWS::Cloud9::EnvironmentEC2" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::CustomResource" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Macro" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ModuleVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::PublicTypeVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Publisher" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceDefaultVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::ResourceVersion" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::Stack" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::StackSet" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::TypeActivation" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitCondition" - }, - { - "$ref": "#/definitions/AWS::CloudFormation::WaitConditionHandle" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CachePolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::CloudFrontOriginAccessIdentity" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Distribution" - }, - { - "$ref": "#/definitions/AWS::CloudFront::Function" - }, - { - "$ref": "#/definitions/AWS::CloudFront::KeyGroup" - }, - { - "$ref": "#/definitions/AWS::CloudFront::OriginRequestPolicy" - }, - { - "$ref": "#/definitions/AWS::CloudFront::PublicKey" - }, - { - "$ref": "#/definitions/AWS::CloudFront::RealtimeLogConfig" - }, - { - "$ref": "#/definitions/AWS::CloudFront::StreamingDistribution" - }, - { - "$ref": "#/definitions/AWS::CloudTrail::Trail" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Alarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::CompositeAlarm" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::Dashboard" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::InsightRule" - }, - { - "$ref": "#/definitions/AWS::CloudWatch::MetricStream" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Domain" - }, - { - "$ref": "#/definitions/AWS::CodeArtifact::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::Project" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::ReportGroup" - }, - { - "$ref": "#/definitions/AWS::CodeBuild::SourceCredential" - }, - { - "$ref": "#/definitions/AWS::CodeCommit::Repository" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::Application" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentConfig" - }, - { - "$ref": "#/definitions/AWS::CodeDeploy::DeploymentGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruProfiler::ProfilingGroup" - }, - { - "$ref": "#/definitions/AWS::CodeGuruReviewer::RepositoryAssociation" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::CustomActionType" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::CodePipeline::Webhook" - }, - { - "$ref": "#/definitions/AWS::CodeStar::GitHubRepository" - }, - { - "$ref": "#/definitions/AWS::CodeStarConnections::Connection" - }, - { - "$ref": "#/definitions/AWS::CodeStarNotifications::NotificationRule" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::IdentityPoolRoleAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPool" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolClient" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolDomain" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolGroup" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolIdentityProvider" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolResourceServer" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolRiskConfigurationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUICustomizationAttachment" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUser" - }, - { - "$ref": "#/definitions/AWS::Cognito::UserPoolUserToGroupAttachment" - }, - { - "$ref": "#/definitions/AWS::Config::AggregationAuthorization" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationAggregator" - }, - { - "$ref": "#/definitions/AWS::Config::ConfigurationRecorder" - }, - { - "$ref": "#/definitions/AWS::Config::ConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::DeliveryChannel" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConfigRule" - }, - { - "$ref": "#/definitions/AWS::Config::OrganizationConformancePack" - }, - { - "$ref": "#/definitions/AWS::Config::RemediationConfiguration" - }, - { - "$ref": "#/definitions/AWS::Config::StoredQuery" - }, - { - "$ref": "#/definitions/AWS::Connect::QuickConnect" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Domain" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::Integration" - }, - { - "$ref": "#/definitions/AWS::CustomerProfiles::ObjectType" - }, - { - "$ref": "#/definitions/AWS::DAX::Cluster" - }, - { - "$ref": "#/definitions/AWS::DAX::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DAX::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DLM::LifecyclePolicy" - }, - { - "$ref": "#/definitions/AWS::DMS::Certificate" - }, - { - "$ref": "#/definitions/AWS::DMS::Endpoint" - }, - { - "$ref": "#/definitions/AWS::DMS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationInstance" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DMS::ReplicationTask" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Dataset" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Job" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Project" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Recipe" - }, - { - "$ref": "#/definitions/AWS::DataBrew::Schedule" - }, - { - "$ref": "#/definitions/AWS::DataPipeline::Pipeline" - }, - { - "$ref": "#/definitions/AWS::DataSync::Agent" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationEFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationFSxWindows" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationNFS" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationObjectStorage" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationS3" - }, - { - "$ref": "#/definitions/AWS::DataSync::LocationSMB" - }, - { - "$ref": "#/definitions/AWS::DataSync::Task" - }, - { - "$ref": "#/definitions/AWS::Detective::Graph" - }, - { - "$ref": "#/definitions/AWS::Detective::MemberInvitation" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::DevOpsGuru::ResourceCollection" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::MicrosoftAD" - }, - { - "$ref": "#/definitions/AWS::DirectoryService::SimpleAD" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBCluster" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBInstance" - }, - { - "$ref": "#/definitions/AWS::DocDB::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::GlobalTable" - }, - { - "$ref": "#/definitions/AWS::DynamoDB::Table" - }, - { - "$ref": "#/definitions/AWS::EC2::CapacityReservation" - }, - { - "$ref": "#/definitions/AWS::EC2::CarrierGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnAuthorizationRule" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::ClientVpnTargetNetworkAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::CustomerGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::DHCPOptions" - }, - { - "$ref": "#/definitions/AWS::EC2::EC2Fleet" - }, - { - "$ref": "#/definitions/AWS::EC2::EIP" - }, - { - "$ref": "#/definitions/AWS::EC2::EIPAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::EgressOnlyInternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::EnclaveCertificateIamRoleAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::FlowLog" - }, - { - "$ref": "#/definitions/AWS::EC2::GatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::Host" - }, - { - "$ref": "#/definitions/AWS::EC2::Instance" - }, - { - "$ref": "#/definitions/AWS::EC2::InternetGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::LaunchTemplate" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::LocalGatewayRouteTableVPCAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::NatGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAcl" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkAclEntry" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsAnalysis" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInsightsPath" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterface" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfaceAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::NetworkInterfacePermission" - }, - { - "$ref": "#/definitions/AWS::EC2::PlacementGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::PrefixList" - }, - { - "$ref": "#/definitions/AWS::EC2::Route" - }, - { - "$ref": "#/definitions/AWS::EC2::RouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupEgress" - }, - { - "$ref": "#/definitions/AWS::EC2::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::EC2::SpotFleet" - }, - { - "$ref": "#/definitions/AWS::EC2::Subnet" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetNetworkAclAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::SubnetRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilter" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorFilterRule" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorSession" - }, - { - "$ref": "#/definitions/AWS::EC2::TrafficMirrorTarget" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayConnect" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomain" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastDomainAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupMember" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayMulticastGroupSource" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayPeeringAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTable" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTableAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::TransitGatewayRouteTablePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPC" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCCidrBlock" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCDHCPOptionsAssociation" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpoint" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointConnectionNotification" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointService" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCEndpointServicePermissions" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCGatewayAttachment" - }, - { - "$ref": "#/definitions/AWS::EC2::VPCPeeringConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnection" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNConnectionRoute" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGateway" - }, - { - "$ref": "#/definitions/AWS::EC2::VPNGatewayRoutePropagation" - }, - { - "$ref": "#/definitions/AWS::EC2::Volume" - }, - { - "$ref": "#/definitions/AWS::EC2::VolumeAttachment" - }, - { - "$ref": "#/definitions/AWS::ECR::PublicRepository" - }, - { - "$ref": "#/definitions/AWS::ECR::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::ECR::ReplicationConfiguration" - }, - { - "$ref": "#/definitions/AWS::ECR::Repository" - }, - { - "$ref": "#/definitions/AWS::ECS::CapacityProvider" - }, - { - "$ref": "#/definitions/AWS::ECS::Cluster" - }, - { - "$ref": "#/definitions/AWS::ECS::ClusterCapacityProviderAssociations" - }, - { - "$ref": "#/definitions/AWS::ECS::PrimaryTaskSet" - }, - { - "$ref": "#/definitions/AWS::ECS::Service" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::ECS::TaskSet" - }, - { - "$ref": "#/definitions/AWS::EFS::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::EFS::FileSystem" - }, - { - "$ref": "#/definitions/AWS::EFS::MountTarget" - }, - { - "$ref": "#/definitions/AWS::EKS::Addon" - }, - { - "$ref": "#/definitions/AWS::EKS::Cluster" - }, - { - "$ref": "#/definitions/AWS::EKS::FargateProfile" - }, - { - "$ref": "#/definitions/AWS::EKS::Nodegroup" - }, - { - "$ref": "#/definitions/AWS::EMR::Cluster" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceFleetConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::InstanceGroupConfig" - }, - { - "$ref": "#/definitions/AWS::EMR::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::EMR::Step" - }, - { - "$ref": "#/definitions/AWS::EMR::Studio" - }, - { - "$ref": "#/definitions/AWS::EMR::StudioSessionMapping" - }, - { - "$ref": "#/definitions/AWS::EMRContainers::VirtualCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::CacheCluster" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::GlobalReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ParameterGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::ReplicationGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::SubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::User" - }, - { - "$ref": "#/definitions/AWS::ElastiCache::UserGroup" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Application" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::ConfigurationTemplate" - }, - { - "$ref": "#/definitions/AWS::ElasticBeanstalk::Environment" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancing::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::Listener" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerCertificate" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::ListenerRule" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::LoadBalancer" - }, - { - "$ref": "#/definitions/AWS::ElasticLoadBalancingV2::TargetGroup" - }, - { - "$ref": "#/definitions/AWS::Elasticsearch::Domain" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Discoverer" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Registry" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::RegistryPolicy" - }, - { - "$ref": "#/definitions/AWS::EventSchemas::Schema" - }, - { - "$ref": "#/definitions/AWS::Events::ApiDestination" - }, - { - "$ref": "#/definitions/AWS::Events::Archive" - }, - { - "$ref": "#/definitions/AWS::Events::Connection" - }, - { - "$ref": "#/definitions/AWS::Events::EventBus" - }, - { - "$ref": "#/definitions/AWS::Events::EventBusPolicy" - }, - { - "$ref": "#/definitions/AWS::Events::Rule" - }, - { - "$ref": "#/definitions/AWS::FIS::ExperimentTemplate" - }, - { - "$ref": "#/definitions/AWS::FMS::NotificationChannel" - }, - { - "$ref": "#/definitions/AWS::FMS::Policy" - }, - { - "$ref": "#/definitions/AWS::FSx::FileSystem" - }, - { - "$ref": "#/definitions/AWS::FinSpace::Environment" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Detector" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EntityType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::EventType" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Label" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Outcome" - }, - { - "$ref": "#/definitions/AWS::FraudDetector::Variable" - }, - { - "$ref": "#/definitions/AWS::GameLift::Alias" - }, - { - "$ref": "#/definitions/AWS::GameLift::Build" - }, - { - "$ref": "#/definitions/AWS::GameLift::Fleet" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameServerGroup" - }, - { - "$ref": "#/definitions/AWS::GameLift::GameSessionQueue" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingConfiguration" - }, - { - "$ref": "#/definitions/AWS::GameLift::MatchmakingRuleSet" - }, - { - "$ref": "#/definitions/AWS::GameLift::Script" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Accelerator" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::EndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GlobalAccelerator::Listener" - }, - { - "$ref": "#/definitions/AWS::Glue::Classifier" - }, - { - "$ref": "#/definitions/AWS::Glue::Connection" - }, - { - "$ref": "#/definitions/AWS::Glue::Crawler" - }, - { - "$ref": "#/definitions/AWS::Glue::DataCatalogEncryptionSettings" - }, - { - "$ref": "#/definitions/AWS::Glue::Database" - }, - { - "$ref": "#/definitions/AWS::Glue::DevEndpoint" - }, - { - "$ref": "#/definitions/AWS::Glue::Job" - }, - { - "$ref": "#/definitions/AWS::Glue::MLTransform" - }, - { - "$ref": "#/definitions/AWS::Glue::Partition" - }, - { - "$ref": "#/definitions/AWS::Glue::Registry" - }, - { - "$ref": "#/definitions/AWS::Glue::Schema" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersion" - }, - { - "$ref": "#/definitions/AWS::Glue::SchemaVersionMetadata" - }, - { - "$ref": "#/definitions/AWS::Glue::SecurityConfiguration" - }, - { - "$ref": "#/definitions/AWS::Glue::Table" - }, - { - "$ref": "#/definitions/AWS::Glue::Trigger" - }, - { - "$ref": "#/definitions/AWS::Glue::Workflow" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ConnectorDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::CoreDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::DeviceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::FunctionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::Group" - }, - { - "$ref": "#/definitions/AWS::Greengrass::GroupVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::LoggerDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::ResourceDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinition" - }, - { - "$ref": "#/definitions/AWS::Greengrass::SubscriptionDefinitionVersion" - }, - { - "$ref": "#/definitions/AWS::GreengrassV2::ComponentVersion" - }, - { - "$ref": "#/definitions/AWS::GroundStation::Config" - }, - { - "$ref": "#/definitions/AWS::GroundStation::DataflowEndpointGroup" - }, - { - "$ref": "#/definitions/AWS::GroundStation::MissionProfile" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Detector" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Filter" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::IPSet" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Master" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::Member" - }, - { - "$ref": "#/definitions/AWS::GuardDuty::ThreatIntelSet" - }, - { - "$ref": "#/definitions/AWS::IAM::AccessKey" - }, - { - "$ref": "#/definitions/AWS::IAM::Group" - }, - { - "$ref": "#/definitions/AWS::IAM::InstanceProfile" - }, - { - "$ref": "#/definitions/AWS::IAM::ManagedPolicy" - }, - { - "$ref": "#/definitions/AWS::IAM::OIDCProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::Policy" - }, - { - "$ref": "#/definitions/AWS::IAM::Role" - }, - { - "$ref": "#/definitions/AWS::IAM::SAMLProvider" - }, - { - "$ref": "#/definitions/AWS::IAM::ServerCertificate" - }, - { - "$ref": "#/definitions/AWS::IAM::ServiceLinkedRole" - }, - { - "$ref": "#/definitions/AWS::IAM::User" - }, - { - "$ref": "#/definitions/AWS::IAM::UserToGroupAddition" - }, - { - "$ref": "#/definitions/AWS::IAM::VirtualMFADevice" - }, - { - "$ref": "#/definitions/AWS::IVS::Channel" - }, - { - "$ref": "#/definitions/AWS::IVS::PlaybackKeyPair" - }, - { - "$ref": "#/definitions/AWS::IVS::RecordingConfiguration" - }, - { - "$ref": "#/definitions/AWS::IVS::StreamKey" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Component" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ContainerRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::DistributionConfiguration" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::Image" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImagePipeline" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::ImageRecipe" - }, - { - "$ref": "#/definitions/AWS::ImageBuilder::InfrastructureConfiguration" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTarget" - }, - { - "$ref": "#/definitions/AWS::Inspector::AssessmentTemplate" - }, - { - "$ref": "#/definitions/AWS::Inspector::ResourceGroup" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Device" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Placement" - }, - { - "$ref": "#/definitions/AWS::IoT1Click::Project" - }, - { - "$ref": "#/definitions/AWS::IoT::AccountAuditConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::Authorizer" - }, - { - "$ref": "#/definitions/AWS::IoT::Certificate" - }, - { - "$ref": "#/definitions/AWS::IoT::CustomMetric" - }, - { - "$ref": "#/definitions/AWS::IoT::Dimension" - }, - { - "$ref": "#/definitions/AWS::IoT::DomainConfiguration" - }, - { - "$ref": "#/definitions/AWS::IoT::MitigationAction" - }, - { - "$ref": "#/definitions/AWS::IoT::Policy" - }, - { - "$ref": "#/definitions/AWS::IoT::PolicyPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::ProvisioningTemplate" - }, - { - "$ref": "#/definitions/AWS::IoT::ScheduledAudit" - }, - { - "$ref": "#/definitions/AWS::IoT::SecurityProfile" - }, - { - "$ref": "#/definitions/AWS::IoT::Thing" - }, - { - "$ref": "#/definitions/AWS::IoT::ThingPrincipalAttachment" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRule" - }, - { - "$ref": "#/definitions/AWS::IoT::TopicRuleDestination" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Channel" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Dataset" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Datastore" - }, - { - "$ref": "#/definitions/AWS::IoTAnalytics::Pipeline" - }, - { - "$ref": "#/definitions/AWS::IoTCoreDeviceAdvisor::SuiteDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::DetectorModel" - }, - { - "$ref": "#/definitions/AWS::IoTEvents::Input" - }, - { - "$ref": "#/definitions/AWS::IoTFleetHub::Application" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AccessPolicy" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Asset" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::AssetModel" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Dashboard" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Gateway" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Portal" - }, - { - "$ref": "#/definitions/AWS::IoTSiteWise::Project" - }, - { - "$ref": "#/definitions/AWS::IoTThingsGraph::FlowTemplate" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::Destination" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::DeviceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::PartnerAccount" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::ServiceProfile" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::TaskDefinition" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessDevice" - }, - { - "$ref": "#/definitions/AWS::IoTWireless::WirelessGateway" - }, - { - "$ref": "#/definitions/AWS::KMS::Alias" - }, - { - "$ref": "#/definitions/AWS::KMS::Key" - }, - { - "$ref": "#/definitions/AWS::KMS::ReplicaKey" - }, - { - "$ref": "#/definitions/AWS::Kendra::DataSource" - }, - { - "$ref": "#/definitions/AWS::Kendra::Faq" - }, - { - "$ref": "#/definitions/AWS::Kendra::Index" - }, - { - "$ref": "#/definitions/AWS::Kinesis::Stream" - }, - { - "$ref": "#/definitions/AWS::Kinesis::StreamConsumer" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalytics::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::Application" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationOutput" - }, - { - "$ref": "#/definitions/AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource" - }, - { - "$ref": "#/definitions/AWS::KinesisFirehose::DeliveryStream" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::DataLakeSettings" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Permissions" - }, - { - "$ref": "#/definitions/AWS::LakeFormation::Resource" - }, - { - "$ref": "#/definitions/AWS::Lambda::Alias" - }, - { - "$ref": "#/definitions/AWS::Lambda::CodeSigningConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventInvokeConfig" - }, - { - "$ref": "#/definitions/AWS::Lambda::EventSourceMapping" - }, - { - "$ref": "#/definitions/AWS::Lambda::Function" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersion" - }, - { - "$ref": "#/definitions/AWS::Lambda::LayerVersionPermission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Permission" - }, - { - "$ref": "#/definitions/AWS::Lambda::Version" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::Grant" - }, - { - "$ref": "#/definitions/AWS::LicenseManager::License" - }, - { - "$ref": "#/definitions/AWS::Location::GeofenceCollection" - }, - { - "$ref": "#/definitions/AWS::Location::Map" - }, - { - "$ref": "#/definitions/AWS::Location::PlaceIndex" - }, - { - "$ref": "#/definitions/AWS::Location::RouteCalculator" - }, - { - "$ref": "#/definitions/AWS::Location::Tracker" - }, - { - "$ref": "#/definitions/AWS::Location::TrackerConsumer" - }, - { - "$ref": "#/definitions/AWS::Logs::Destination" - }, - { - "$ref": "#/definitions/AWS::Logs::LogGroup" - }, - { - "$ref": "#/definitions/AWS::Logs::LogStream" - }, - { - "$ref": "#/definitions/AWS::Logs::MetricFilter" - }, - { - "$ref": "#/definitions/AWS::Logs::QueryDefinition" - }, - { - "$ref": "#/definitions/AWS::Logs::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::Logs::SubscriptionFilter" - }, - { - "$ref": "#/definitions/AWS::LookoutEquipment::InferenceScheduler" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::Alert" - }, - { - "$ref": "#/definitions/AWS::LookoutMetrics::AnomalyDetector" - }, - { - "$ref": "#/definitions/AWS::LookoutVision::Project" - }, - { - "$ref": "#/definitions/AWS::MSK::Cluster" - }, - { - "$ref": "#/definitions/AWS::MWAA::Environment" - }, - { - "$ref": "#/definitions/AWS::Macie::CustomDataIdentifier" - }, - { - "$ref": "#/definitions/AWS::Macie::FindingsFilter" - }, - { - "$ref": "#/definitions/AWS::Macie::Session" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Member" - }, - { - "$ref": "#/definitions/AWS::ManagedBlockchain::Node" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::Flow" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowEntitlement" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowOutput" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowSource" - }, - { - "$ref": "#/definitions/AWS::MediaConnect::FlowVpcInterface" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::JobTemplate" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Preset" - }, - { - "$ref": "#/definitions/AWS::MediaConvert::Queue" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaLive::Input" - }, - { - "$ref": "#/definitions/AWS::MediaLive::InputSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Asset" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::Channel" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::OriginEndpoint" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingConfiguration" - }, - { - "$ref": "#/definitions/AWS::MediaPackage::PackagingGroup" - }, - { - "$ref": "#/definitions/AWS::MediaStore::Container" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBCluster" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBInstance" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Neptune::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::Firewall" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::FirewallPolicy" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::LoggingConfiguration" - }, - { - "$ref": "#/definitions/AWS::NetworkFirewall::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::CustomerGatewayAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Device" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::GlobalNetwork" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Link" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::LinkAssociation" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::Site" - }, - { - "$ref": "#/definitions/AWS::NetworkManager::TransitGatewayRegistration" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::LaunchProfile" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StreamingImage" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::Studio" - }, - { - "$ref": "#/definitions/AWS::NimbleStudio::StudioComponent" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::App" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::ElasticLoadBalancerAttachment" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Instance" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Layer" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Stack" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::UserProfile" - }, - { - "$ref": "#/definitions/AWS::OpsWorks::Volume" - }, - { - "$ref": "#/definitions/AWS::OpsWorksCM::Server" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ADMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::APNSVoipSandboxChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::App" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::ApplicationSettings" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::BaiduChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Campaign" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EmailTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::EventStream" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::GCMChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::PushTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SMSChannel" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::Segment" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::SmsTemplate" - }, - { - "$ref": "#/definitions/AWS::Pinpoint::VoiceChannel" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::DedicatedIpPool" - }, - { - "$ref": "#/definitions/AWS::PinpointEmail::Identity" - }, - { - "$ref": "#/definitions/AWS::QLDB::Ledger" - }, - { - "$ref": "#/definitions/AWS::QLDB::Stream" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Analysis" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Dashboard" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSet" - }, - { - "$ref": "#/definitions/AWS::QuickSight::DataSource" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Template" - }, - { - "$ref": "#/definitions/AWS::QuickSight::Theme" - }, - { - "$ref": "#/definitions/AWS::RAM::ResourceShare" - }, - { - "$ref": "#/definitions/AWS::RDS::DBCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::DBClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBInstance" - }, - { - "$ref": "#/definitions/AWS::RDS::DBParameterGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxy" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyEndpoint" - }, - { - "$ref": "#/definitions/AWS::RDS::DBProxyTargetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::RDS::DBSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::RDS::EventSubscription" - }, - { - "$ref": "#/definitions/AWS::RDS::GlobalCluster" - }, - { - "$ref": "#/definitions/AWS::RDS::OptionGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::Cluster" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterParameterGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroup" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSecurityGroupIngress" - }, - { - "$ref": "#/definitions/AWS::Redshift::ClusterSubnetGroup" - }, - { - "$ref": "#/definitions/AWS::ResourceGroups::Group" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Fleet" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::Robot" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::RobotApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplication" - }, - { - "$ref": "#/definitions/AWS::RoboMaker::SimulationApplicationVersion" - }, - { - "$ref": "#/definitions/AWS::Route53::DNSSEC" - }, - { - "$ref": "#/definitions/AWS::Route53::HealthCheck" - }, - { - "$ref": "#/definitions/AWS::Route53::HostedZone" - }, - { - "$ref": "#/definitions/AWS::Route53::KeySigningKey" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSet" - }, - { - "$ref": "#/definitions/AWS::Route53::RecordSetGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::Cluster" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::ControlPanel" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::RoutingControl" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryControl::SafetyRule" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::Cell" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ReadinessCheck" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::RecoveryGroup" - }, - { - "$ref": "#/definitions/AWS::Route53RecoveryReadiness::ResourceSet" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallDomainList" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroup" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::FirewallRuleGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverDNSSECConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverEndpoint" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfig" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRule" - }, - { - "$ref": "#/definitions/AWS::Route53Resolver::ResolverRuleAssociation" - }, - { - "$ref": "#/definitions/AWS::S3::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3::StorageLens" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3ObjectLambda::AccessPointPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::AccessPoint" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Bucket" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::BucketPolicy" - }, - { - "$ref": "#/definitions/AWS::S3Outposts::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SDB::Domain" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSet" - }, - { - "$ref": "#/definitions/AWS::SES::ConfigurationSetEventDestination" - }, - { - "$ref": "#/definitions/AWS::SES::ContactList" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptFilter" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRule" - }, - { - "$ref": "#/definitions/AWS::SES::ReceiptRuleSet" - }, - { - "$ref": "#/definitions/AWS::SES::Template" - }, - { - "$ref": "#/definitions/AWS::SNS::Subscription" - }, - { - "$ref": "#/definitions/AWS::SNS::Topic" - }, - { - "$ref": "#/definitions/AWS::SNS::TopicPolicy" - }, - { - "$ref": "#/definitions/AWS::SQS::Queue" - }, - { - "$ref": "#/definitions/AWS::SQS::QueuePolicy" - }, - { - "$ref": "#/definitions/AWS::SSM::Association" - }, - { - "$ref": "#/definitions/AWS::SSM::Document" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindow" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTarget" - }, - { - "$ref": "#/definitions/AWS::SSM::MaintenanceWindowTask" - }, - { - "$ref": "#/definitions/AWS::SSM::Parameter" - }, - { - "$ref": "#/definitions/AWS::SSM::PatchBaseline" - }, - { - "$ref": "#/definitions/AWS::SSM::ResourceDataSync" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::Contact" - }, - { - "$ref": "#/definitions/AWS::SSMContacts::ContactChannel" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ReplicationSet" - }, - { - "$ref": "#/definitions/AWS::SSMIncidents::ResponsePlan" - }, - { - "$ref": "#/definitions/AWS::SSO::Assignment" - }, - { - "$ref": "#/definitions/AWS::SSO::InstanceAccessControlAttributeConfiguration" - }, - { - "$ref": "#/definitions/AWS::SSO::PermissionSet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::App" - }, - { - "$ref": "#/definitions/AWS::SageMaker::AppImageConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::CodeRepository" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DataQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Device" - }, - { - "$ref": "#/definitions/AWS::SageMaker::DeviceFleet" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Domain" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Endpoint" - }, - { - "$ref": "#/definitions/AWS::SageMaker::EndpointConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::FeatureGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Image" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ImageVersion" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Model" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelBiasJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelExplainabilityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelPackageGroup" - }, - { - "$ref": "#/definitions/AWS::SageMaker::ModelQualityJobDefinition" - }, - { - "$ref": "#/definitions/AWS::SageMaker::MonitoringSchedule" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstance" - }, - { - "$ref": "#/definitions/AWS::SageMaker::NotebookInstanceLifecycleConfig" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Pipeline" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Project" - }, - { - "$ref": "#/definitions/AWS::SageMaker::UserProfile" - }, - { - "$ref": "#/definitions/AWS::SageMaker::Workteam" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::ResourcePolicy" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::RotationSchedule" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::Secret" - }, - { - "$ref": "#/definitions/AWS::SecretsManager::SecretTargetAttachment" - }, - { - "$ref": "#/definitions/AWS::SecurityHub::Hub" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::AcceptedPortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::CloudFormationProvisionedProduct" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchNotificationConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchRoleConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::LaunchTemplateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::Portfolio" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioPrincipalAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioProductAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::PortfolioShare" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ResourceUpdateConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceAction" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::ServiceActionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::StackSetConstraint" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOption" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalog::TagOptionAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::Application" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroup" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceCatalogAppRegistry::ResourceAssociation" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::HttpNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Instance" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PrivateDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::PublicDnsNamespace" - }, - { - "$ref": "#/definitions/AWS::ServiceDiscovery::Service" - }, - { - "$ref": "#/definitions/AWS::Signer::ProfilePermission" - }, - { - "$ref": "#/definitions/AWS::Signer::SigningProfile" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::Activity" - }, - { - "$ref": "#/definitions/AWS::StepFunctions::StateMachine" - }, - { - "$ref": "#/definitions/AWS::Synthetics::Canary" - }, - { - "$ref": "#/definitions/AWS::Timestream::Database" - }, - { - "$ref": "#/definitions/AWS::Timestream::Table" - }, - { - "$ref": "#/definitions/AWS::Transfer::Server" - }, - { - "$ref": "#/definitions/AWS::Transfer::User" - }, - { - "$ref": "#/definitions/AWS::WAF::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAF::Rule" - }, - { - "$ref": "#/definitions/AWS::WAF::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAF::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAF::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAF::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::ByteMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::GeoMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RateBasedRule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::Rule" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SizeConstraintSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::SqlInjectionMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WAFRegional::XssMatchSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::IPSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RegexPatternSet" - }, - { - "$ref": "#/definitions/AWS::WAFv2::RuleGroup" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACL" - }, - { - "$ref": "#/definitions/AWS::WAFv2::WebACLAssociation" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::ConnectionAlias" - }, - { - "$ref": "#/definitions/AWS::WorkSpaces::Workspace" - }, - { - "$ref": "#/definitions/AWS::XRay::Group" - }, - { - "$ref": "#/definitions/AWS::XRay::SamplingRule" - }, - { - "$ref": "#/definitions/Alexa::ASK::Skill" - } - ] - } - }, - "type": "object" - }, - "Transform": { - "oneOf": [ - { - "type": [ - "string" - ] - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ] - } - }, - "required": [ - "Resources" - ], - "type": "object" -} \ No newline at end of file From 74377fc45e13b3de8826aa05d64b512219228171 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 10:54:32 -0700 Subject: [PATCH 30/64] remove auto apply authmode code from update api workflow --- .../cfn-api-artifact-handler.ts | 29 ++++--------------- 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index ec36b9191d4..e986a56f0ad 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -120,30 +120,11 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } - let noErrors = true; - do { - try { - await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { - resourceDir, - parameters: this.getCfnParameters(apiName, authConfig, resourceDir), - authConfig, - }); - noErrors = true; - } catch (err) { - noErrors = false; - if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AWS_IAM', this.context)); - } else if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('AMAZON_COGNITO_USER_POOLS', this.context)); - } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('OPENID_CONNECT', this.context)); - } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await askAuthQuestions('API_KEY', this.context)); - } else { - throw err; - } - } - } while(!noErrors) + await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { + resourceDir, + parameters: this.getCfnParameters(apiName, authConfig, resourceDir), + authConfig, + }); this.context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); this.context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); From 11ad12f79534b2beaef59278d1329e6c90ed9b32 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 10:55:59 -0700 Subject: [PATCH 31/64] remove unused import --- .../awscloudformation/cfn-api-artifact-handler.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index e986a56f0ad..cc421715b5d 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -18,7 +18,6 @@ import { authConfigHasApiKey, checkIfAuthExists, getAppSyncAuthConfig, getAppSyn import { appSyncAuthTypeToAuthConfig } from './utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; import { printApiKeyWarnings } from './utils/print-api-key-warnings'; import { conflictResolutionToResolverConfig } from './utils/resolver-config-to-conflict-resolution-bi-di-mapper'; -import { askAuthQuestions } from './service-walkthroughs/appSync-walkthrough'; // keep in sync with ServiceName in amplify-category-function, but probably it will not change const FunctionServiceNameLambdaFunction = 'Lambda'; @@ -119,7 +118,6 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { if (updates.additionalAuthTypes) { authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } - await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { resourceDir, parameters: this.getCfnParameters(apiName, authConfig, resourceDir), From 4947c96dcfc71ff4ed5d593b72e1fba786c54760 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 11:57:35 -0700 Subject: [PATCH 32/64] fix lint issues --- .../appSync-walkthrough.ts | 4 +-- .../amplify-e2e-core/src/categories/api.ts | 31 ++++++++++++++++--- .../src/__tests__/function_2.test.ts | 4 +-- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 4ed0136fed9..2538af1d70d 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -1,7 +1,7 @@ import { ListQuestion, CheckboxQuestion, ListChoiceOptions } from 'inquirer'; import { dataStoreLearnMore } from '../sync-conflict-handler-assets/syncAssets'; import inquirer from 'inquirer'; -import fs, { createSymlink } from 'fs-extra'; +import fs from 'fs-extra'; import path from 'path'; import { rootAssetDir } from '../aws-constants'; import { collectDirectivesByTypeNames, readProjectConfiguration, ConflictHandlerType } from 'graphql-transformer-core'; @@ -21,7 +21,7 @@ import { $TSContext, open, } from 'amplify-cli-core'; -import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions'; +import { getAppSyncApiKeys } from 'amplify-provider-awscloudformation/lib/utility-functions' const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; diff --git a/packages/amplify-e2e-core/src/categories/api.ts b/packages/amplify-e2e-core/src/categories/api.ts index 94a67775826..6e5a7022166 100644 --- a/packages/amplify-e2e-core/src/categories/api.ts +++ b/packages/amplify-e2e-core/src/categories/api.ts @@ -62,7 +62,6 @@ export function addApiWithoutSchema(cwd: string, opts: Partial = {}) { const options = _.assign(defaultOptions, opts); - //const schemaPath = getSchemaPath(schemaFile); return new Promise((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') @@ -95,7 +94,6 @@ export function addApiWithBlankSchema(cwd: string, opts: Partial((resolve, reject) => { spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') @@ -227,7 +225,7 @@ export function apiDisableDataStore(cwd: string, settings: any) { }); } -export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { +export function updateAPIWithResolutionStrategyWithoutModels(cwd: string, settings: any) { return new Promise((resolve, reject) => { spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) .wait('Please select from one of the below mentioned services:') @@ -238,8 +236,31 @@ export function updateAPIWithResolutionStrategy(cwd: string, settings: any) { .wait(/.*Select the default resolution strategy.*/) .sendKeyDown() .sendCarriageReturn() - // .wait(/.*Do you want to override default per model settings?.*/) - // .sendConfirmNo() + .wait(/.*Successfully updated resource.*/) + .sendEof() + .run((err: Error) => { + if (!err) { + resolve(); + } else { + reject(err); + } + }); + }); +} + +export function updateAPIWithResolutionStrategyWithModels(cwd: string, settings: any) { + return new Promise((resolve, reject) => { + spawn(getCLIPath(settings.testingWithLatestCodebase), ['update', 'api'], { cwd, stripColors: true }) + .wait('Please select from one of the below mentioned services:') + .sendCarriageReturn() + .wait(/.*Select a setting to edit.*/) + .sendKeyDown() + .sendCarriageReturn() + .wait(/.*Select the default resolution strategy.*/) + .sendKeyDown() + .sendCarriageReturn() + .wait(/.*Do you want to override default per model settings?.*/) + .sendConfirmNo() .wait(/.*Successfully updated resource.*/) .sendEof() .run((err: Error) => { diff --git a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts index e25fbae68a8..e680f352e9a 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_2.test.ts @@ -215,7 +215,7 @@ describe('nodejs', () => { expect(functionName).toBeDefined(); expect(region).toBeDefined(); - await addApiWithoutSchema(projRoot,); + await addApiWithoutSchema(projRoot); await updateApiSchema(projRoot, 'lambdaadditionalpermissions', 'simple_model.graphql'); await updateFunction( projRoot, @@ -381,7 +381,7 @@ describe('nodejs', () => { it('function dependencies should be preserved when not editing permissions during `amplify update function`', async () => { await initJSProjectWithProfile(projRoot, { - name: 'functiondependenciespermission' + name: 'functiondependenciespermission', }); await addApiWithoutSchema(projRoot); await updateApiSchema(projRoot, 'functiondependenciespermission', 'two-model-schema.graphql'); From b01a8dbeb4e87ad4afcafffb5919f7555448b230 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 12:11:43 -0700 Subject: [PATCH 33/64] relative import --- .../service-walkthroughs/appSync-walkthrough.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 2538af1d70d..dd8ccf73de9 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -21,7 +21,7 @@ import { $TSContext, open, } from 'amplify-cli-core'; -import { getAppSyncApiKeys } from 'amplify-provider-awscloudformation/lib/utility-functions' +import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions' const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; From 0927c031397878902155cab9b4ad1492b8751ace Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 12:49:34 -0700 Subject: [PATCH 34/64] fix dependencies --- packages/amplify-category-api/package.json | 1 + .../amplify-provider-awscloudformation/src/utility-functions.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index 31940a9ea6e..758d7c2b2f3 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -66,6 +66,7 @@ "amplify-cli-core": "1.29.0", "amplify-headless-interface": "1.10.0", "amplify-prompts": "1.1.2", + "amplify-provider-awscloudformation": "4.56.1", "amplify-util-headless-input": "1.5.4", "chalk": "^4.1.1", "constructs": "^3.3.125", diff --git a/packages/amplify-provider-awscloudformation/src/utility-functions.js b/packages/amplify-provider-awscloudformation/src/utility-functions.js index 03c6e69b7e1..add06204706 100644 --- a/packages/amplify-provider-awscloudformation/src/utility-functions.js +++ b/packages/amplify-provider-awscloudformation/src/utility-functions.js @@ -15,6 +15,7 @@ const { pagedAWSCall } = require('./aws-utils/paged-call'); const { fileLogger } = require('./utils/aws-logger'); const logger = fileLogger('utility-functions'); const { getAccountId } = require('./amplify-sts'); +const AWS = require('aws-sdk'); module.exports = { zipFiles: (context, [srcDir, dstZipFilePath]) => { From 755809fae3df7aa33a621a71b6c0565de5b39bd0 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 13:23:19 -0700 Subject: [PATCH 35/64] fix lint comments --- packages/amplify-e2e-tests/src/__tests__/function_5.test.ts | 2 +- .../__tests__/update_tests/function_migration_update.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts index 4782d421d95..9bb8ebdd115 100644 --- a/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/function_5.test.ts @@ -85,7 +85,7 @@ describe('test dependency in root stack', () => { it('init a project with api and function and update the @model and add function access to @model ', async () => { const projectName = 'mytestapi'; await initJSProjectWithProfile(projRoot, { - name: projectName + name: projectName, }); await addApiWithoutSchema(projRoot); await updateApiSchema(projRoot, projectName, 'simple_model.graphql'); diff --git a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts index 87cd42ee896..8e0adf6f47f 100644 --- a/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts +++ b/packages/amplify-migration-tests/src/__tests__/update_tests/function_migration_update.test.ts @@ -36,7 +36,7 @@ describe('amplify function migration', () => { it('existing lambda updated with additional permissions should be able to scan ddb', async () => { await initJSProjectWithProfile(projRoot, { - name: 'lambdapermissionscanddb' + name: 'lambdapermissionscanddb', }); const random = Math.floor(Math.random() * 10000); From af315165c531ae4d3534cb591fca349ff89ad73d Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 15:00:29 -0700 Subject: [PATCH 36/64] remove unused code --- .../service-walkthroughs/appSync-walkthrough.ts | 16 ---------------- .../src/provider-utils/supported-services.ts | 4 ++++ 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index dd8ccf73de9..e6de25750f0 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -349,22 +349,6 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen const { amplify } = context; const { inputs } = serviceMetadata; - const defaultValuesSrc = `${__dirname}/../default-values/${defaultValuesFilename}`; - const { getAllDefaults } = require(defaultValuesSrc); - const allDefaultValues = getAllDefaults(amplify.getProjectDetails()); - - const resourceQuestions = [ - { - type: inputs[1].type, - name: inputs[1].key, - message: inputs[1].question, - validate: amplify.inputValidation(inputs[1]), - default: () => { - const defaultValue = allDefaultValues[inputs[1].key]; - return defaultValue; - }, - }, - ]; const basicInfoAnswers = await serviceApiInputWalkthrough(context, defaultValuesFilename, serviceMetadata); let schemaContent = ''; diff --git a/packages/amplify-category-api/src/provider-utils/supported-services.ts b/packages/amplify-category-api/src/provider-utils/supported-services.ts index 9bf9cbba01e..d5fe5482aa2 100644 --- a/packages/amplify-category-api/src/provider-utils/supported-services.ts +++ b/packages/amplify-category-api/src/provider-utils/supported-services.ts @@ -52,6 +52,10 @@ export const supportedServices = { name: 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)', value: 'single-object-auth-schema.graphql', }, + { + name: 'Blank Schema', + value: 'blank-schema.graphql', + }, ], required: true, }, From 57c16ce357d7fc35e9cbe4d177bf46f83378dd10 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 17:29:28 -0700 Subject: [PATCH 37/64] updated v2 templates --- .../many-relationship-schema-v2.graphql | 18 ++++++++ .../single-object-auth-schema-v2.graphql | 15 +++++++ .../single-object-schema-v2.graphql | 5 +++ .../appSync-walkthrough.ts | 43 ++++++++++++++++++- 4 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql create mode 100644 packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql new file mode 100644 index 00000000000..2619b187297 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql @@ -0,0 +1,18 @@ +type Blog @model { + id: ID! + name: String! + posts: [Post] @hasMany +} + +type Post @model { + id: ID! + title: String! + blog: Blog @belongsTo + comments: [Comment] @hasMany +} + +type Comment @model { + id: ID! + post: Post @belongsTo + content: String! +} diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql new file mode 100644 index 00000000000..0faf0997d4a --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql @@ -0,0 +1,15 @@ +type Task + @model + @auth(rules: [ + { allow: groups, groups: ["Managers"], operations: [create, update, read, delete] } + { allow: groups, groups: ["Employees"], operations: [read] } ]) { + id: ID! + title: String! + description: String + status: String +} + +type PrivateNote @model @auth(rules: [{ allow: owner }]) { + id: ID! + content: String! +} diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql new file mode 100644 index 00000000000..74b097ceae9 --- /dev/null +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql @@ -0,0 +1,5 @@ +type Todo @model { + id: ID! + name: String! + description: String +} diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index e6de25750f0..cd5565a890f 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -66,6 +66,44 @@ const conflictResolutionHanlderChoices = [ }, ]; +const schemaTemplatesV1 = [ + { + name: 'Single object with fields (e.g., “Todo” with ID, name, description)', + value: 'single-object-schema.graphql', + }, + { + name: 'One-to-many relationship (e.g., “Blogs” with “Posts” and “Comments”)', + value: 'many-relationship-schema.graphql', + }, + { + name: 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)', + value: 'single-object-auth-schema.graphql', + }, + { + name: 'Blank Schema', + value: 'blank-schema.graphql', + }, +]; + +const schemaTemplatesV2 = [ + { + name: 'Single object with fields (e.g., “Todo” with ID, name, description)', + value: 'single-object-schema-v2.graphql', + }, + { + name: 'One-to-many relationship (e.g., “Blogs” with “Posts” and “Comments”)', + value: 'many-relationship-schema-v2.graphql', + }, + { + name: 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)', + value: 'single-object-auth-schema-v2.graphql', + }, + { + name: 'Blank Schema', + value: 'blank-schema.graphql', + }, +]; + export const openConsole = async (context: $TSContext) => { const amplifyMeta = stateManager.getMeta(); const categoryAmplifyMeta = amplifyMeta[category]; @@ -355,11 +393,12 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen let askToEdit = true; // Schema template selection + const schemaTemplateOptions = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer') ? schemaTemplatesV2 : schemaTemplatesV1; const templateSelectionQuestion = { type: inputs[4].type, name: inputs[4].key, message: inputs[4].question, - choices: inputs[4].options.filter(templateSchemaFilter(basicInfoAnswers.output.authConfig)), + choices: schemaTemplateOptions.filter(templateSchemaFilter(basicInfoAnswers.output.authConfig)), validate: amplify.inputValidation(inputs[4]), }; @@ -903,7 +942,7 @@ const buildPolicyResource = (resourceName: string, path: string | null) => { const templateSchemaFilter = authConfig => { const authIncludesCognito = getAuthTypes(authConfig).includes('AMAZON_COGNITO_USER_POOLS'); return (templateOption: ListChoiceOptions): boolean => - authIncludesCognito || templateOption.value !== 'single-object-auth-schema.graphql'; + authIncludesCognito || templateOption.name !== 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)'; }; const getAuthTypes = authConfig => { From d7f81a5094f3f4c62e56a51eff510c949d52a5f3 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 17:42:55 -0700 Subject: [PATCH 38/64] remove unused import --- .../service-walkthroughs/appSync-walkthrough.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index cd5565a890f..d343315290a 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -4,7 +4,7 @@ import inquirer from 'inquirer'; import fs from 'fs-extra'; import path from 'path'; import { rootAssetDir } from '../aws-constants'; -import { collectDirectivesByTypeNames, readProjectConfiguration, ConflictHandlerType } from 'graphql-transformer-core'; +import { collectDirectivesByTypeNames, readProjectConfiguration } from 'graphql-transformer-core'; import { category } from '../../../category-constants'; import { UpdateApiRequest } from '../../../../../amplify-headless-interface/lib/interface/api/update'; import { authConfigToAppSyncAuthType } from '../utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; From 8ad84e33928e2c357b35f53282cd7a69327f571c Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 24 Aug 2021 21:20:56 -0700 Subject: [PATCH 39/64] change to use executeProviderUtils --- .../service-walkthroughs/appSync-walkthrough.ts | 16 ++++++++++------ .../src/utility-functions.js | 1 - 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index d343315290a..8f3e9b9d45b 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -21,7 +21,6 @@ import { $TSContext, open, } from 'amplify-cli-core'; -import { getAppSyncApiKeys } from '../../../../../amplify-provider-awscloudformation/lib/utility-functions' const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; @@ -476,6 +475,12 @@ export const updateWalkthrough = async (context): Promise => { }; async function displayApiInformation(context, resource, project) { + let authModes: string[] = []; + authModes.push(`- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`); + await resource.output.authConfig.additionalAuthenticationProviders.map(async (authMode) => { + authModes.push(`- ${await displayAuthMode(context, resource, authMode.authenticationType)}`); + }); + context.print.info(''); context.print.success('General information'); @@ -484,10 +489,7 @@ async function displayApiInformation(context, resource, project) { context.print.info(''); context.print.success('Authorization modes'); - context.print.info(`- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`); - await resource.output.authConfig.additionalAuthenticationProviders.map(async (authMode) => { - context.print.info(`- ${await displayAuthMode(context, resource, authMode.authenticationType)}`); - }); + authModes.forEach(authMode => context.print.info(authMode)); context.print.info(''); context.print.success('Conflict detection'); @@ -502,7 +504,9 @@ async function displayApiInformation(context, resource, project) { async function displayAuthMode(context, resource, authMode) { if(authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { - let { apiKeys } = await getAppSyncApiKeys(context, {apiId: resource.output.GraphQLAPIIdOutput}); + let { apiKeys } = await context.amplify.executeProviderUtils(context, 'awscloudformation', 'getAppSyncApiKeys', { + apiId: resource.output.GraphQLAPIIdOutput, + }); let apiKeyExpires = apiKeys.find(key => key.id == resource.output.GraphQLAPIKeyOutput)?.expires; if(!apiKeyExpires) { return authProviderChoices.find(choice => choice.value === authMode).name; diff --git a/packages/amplify-provider-awscloudformation/src/utility-functions.js b/packages/amplify-provider-awscloudformation/src/utility-functions.js index add06204706..03c6e69b7e1 100644 --- a/packages/amplify-provider-awscloudformation/src/utility-functions.js +++ b/packages/amplify-provider-awscloudformation/src/utility-functions.js @@ -15,7 +15,6 @@ const { pagedAWSCall } = require('./aws-utils/paged-call'); const { fileLogger } = require('./utils/aws-logger'); const logger = fileLogger('utility-functions'); const { getAccountId } = require('./amplify-sts'); -const AWS = require('aws-sdk'); module.exports = { zipFiles: (context, [srcDir, dstZipFilePath]) => { From 71b27edd316cfd6fa7ce77fbcbba52c5dba73f5e Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Mon, 30 Aug 2021 12:16:38 -0700 Subject: [PATCH 40/64] fixed formatting --- .../service-walkthroughs/appSync-walkthrough.ts | 12 ++++-------- .../src/collectDirectives.ts | 4 +++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 8f3e9b9d45b..4cc08bb3e0b 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -224,7 +224,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile // // Repeat prompt until user selects Continue // - while(!continuePrompt) { + while (!continuePrompt) { const getAuthModeChoice = () => { if (authConfig.defaultAuthentication.authenticationType === 'API_KEY') { @@ -250,7 +250,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile value: 'CONFLICT_DETECTION', }); - if(resolverConfig?.project) { + if (resolverConfig?.project) { basicInfoQuestionChoices.push({ name: `Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, value: 'CONFLICT_STRATEGY', @@ -353,9 +353,6 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model const { updateOption } = await inquirer.prompt([updateOptionQuestion]); if (updateOption === 'ENABLE_CONFLICT') { - // resolverConfig = { - // project: { ConflictHandler: ConflictHandlerType.AUTOMERGE, ConflictDetection: 'VERSION' }, - // }; resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); } else if (updateOption === 'DISABLE_CONFLICT') { resolverConfig = {}; @@ -370,7 +367,6 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model authConfig, resolverConfig, }; - }; export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { @@ -503,12 +499,12 @@ async function displayApiInformation(context, resource, project) { } async function displayAuthMode(context, resource, authMode) { - if(authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { + if (authMode == 'API_KEY' && resource.output.GraphQLAPIKeyOutput) { let { apiKeys } = await context.amplify.executeProviderUtils(context, 'awscloudformation', 'getAppSyncApiKeys', { apiId: resource.output.GraphQLAPIIdOutput, }); let apiKeyExpires = apiKeys.find(key => key.id == resource.output.GraphQLAPIKeyOutput)?.expires; - if(!apiKeyExpires) { + if (!apiKeyExpires) { return authProviderChoices.find(choice => choice.value === authMode).name; } let apiKeyExpiresDate = new Date(apiKeyExpires * 1000); diff --git a/packages/graphql-transformer-core/src/collectDirectives.ts b/packages/graphql-transformer-core/src/collectDirectives.ts index ef4cec856e7..4cd2c103b38 100644 --- a/packages/graphql-transformer-core/src/collectDirectives.ts +++ b/packages/graphql-transformer-core/src/collectDirectives.ts @@ -62,7 +62,9 @@ export function collectDirectivesByTypeNames(sdl: string) { } export function collectDirectivesByType(sdl: string): Object { - if(!sdl) return {}; + if (!sdl) { + return {}; + } const doc = parse(sdl); // defined types with directives list let types = {}; From ea4470713b1e344b8930d596461c94801ebdf2d6 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 8 Sep 2021 14:36:49 -0700 Subject: [PATCH 41/64] several minor tweaks to add and update api workflow --- .../appSync-walkthrough.ts | 86 ++++++++++++------- .../utils/edit-schema-flow.ts | 2 +- packages/amplify-category-auth/src/index.js | 4 +- .../handlers/resource-handlers.ts | 4 +- .../provider-utils/awscloudformation/index.js | 4 +- .../utils/message-printer.ts | 7 +- 6 files changed, 68 insertions(+), 39 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 4cc08bb3e0b..2b9b50e5884 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -10,6 +10,7 @@ import { UpdateApiRequest } from '../../../../../amplify-headless-interface/lib/ import { authConfigToAppSyncAuthType } from '../utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; import { resolverConfigToConflictResolution } from '../utils/resolver-config-to-conflict-resolution-bi-di-mapper'; import _ from 'lodash'; +import chalk from 'chalk'; import { getAppSyncAuthConfig, checkIfAuthExists, authConfigHasApiKey } from '../utils/amplify-meta-utils'; import { ResourceAlreadyExistsError, @@ -226,33 +227,41 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile // while (!continuePrompt) { - const getAuthModeChoice = () => { + const getAuthModeChoice = async () => { if (authConfig.defaultAuthentication.authenticationType === 'API_KEY') { - return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (Expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; + return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (default, expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; } - return authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name; + return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (default)`; }; + const getAdditionalAuthModeChoices = async () => { + let additionalAuthModesText = ''; + authConfig.additionalAuthenticationProviders.map(async (authMode) => { + additionalAuthModesText += `, ${authProviderChoices.find(choice => choice.value === authMode.authenticationType).name}` + }); + return additionalAuthModesText; + } + const basicInfoQuestionChoices = []; basicInfoQuestionChoices.push({ - name: `Name: ${resourceAnswers[inputs[1].key]}`, + name: chalk`{bold Name:} ${resourceAnswers[inputs[1].key]}`, value: 'API_NAME', }); basicInfoQuestionChoices.push({ - name: `Authorization modes: ${getAuthModeChoice()}`, + name: chalk`{bold Authorization modes:} ${await getAuthModeChoice()}${await getAdditionalAuthModeChoices()}`, value: 'API_AUTH_MODE', }); basicInfoQuestionChoices.push({ - name: `Conflict detection (required for DataStore): ${resolverConfig?.project ? 'Enabled' : 'Disabled'}`, + name: chalk`{bold Conflict detection (required for DataStore):} ${resolverConfig?.project ? 'Enabled' : 'Disabled'}`, value: 'CONFLICT_DETECTION', }); if (resolverConfig?.project) { basicInfoQuestionChoices.push({ - name: `Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, + name: chalk`{bold Conflict resolution strategy:} ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, value: 'CONFLICT_STRATEGY', }); } @@ -296,7 +305,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile ({ authConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); break; case 'CONFLICT_DETECTION': - resolverConfig = await askResolverConflictQuestion(context, defaultAuthType); + resolverConfig = await askResolverConflictQuestion(context, resolverConfig, defaultAuthType); break; case 'CONFLICT_STRATEGY': resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); @@ -481,7 +490,9 @@ async function displayApiInformation(context, resource, project) { context.print.success('General information'); context.print.info('- Name: '.concat(resource.resourceName)); - context.print.info('- API endpoint: '.concat(resource?.output?.GraphQLAPIEndpointOutput ? resource?.output?.GraphQLAPIEndpointOutput : 'Not available')); + if (resource?.output?.GraphQLAPIEndpointOutput) { + context.print.info(`- API endpoint: ${resource?.output?.GraphQLAPIEndpointOutput}`); + } context.print.info(''); context.print.success('Authorization modes'); @@ -492,7 +503,7 @@ async function displayApiInformation(context, resource, project) { if (project.config && !_.isEmpty(project.config.ResolverConfig)) { context.print.info(`- Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name}`); } else { - context.print.info('- Not configured'); + context.print.info('- Disabled'); } context.print.info(''); @@ -518,14 +529,14 @@ async function askAdditionalQuestions(context, authConfig, defaultAuthType, mode return { authConfig }; } -async function askResolverConflictQuestion(context, modelTypes?) { - let resolverConfig: any = {}; +async function askResolverConflictQuestion(context, resolverConfig, modelTypes?) { + let resolverConfigResponse: any = {}; - if (await context.prompt.confirm('Enable conflict detection?')) { - resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); + if (await context.prompt.confirm('Enable conflict detection?', !resolverConfig?.project)) { + resolverConfigResponse = await askResolverConflictHandlerQuestion(context, modelTypes); } - return resolverConfig; + return resolverConfigResponse; } async function askResolverConflictHandlerQuestion(context, modelTypes?) { @@ -641,7 +652,7 @@ async function askDefaultAuthQuestion(context) { const { defaultAuthType } = await inquirer.prompt([defaultAuthTypeQuestion]); // Get default auth configured - const defaultAuth = await askAuthQuestions(defaultAuthType, context); + const defaultAuth = await askAuthQuestions(defaultAuthType, context, false, currentAuthConfig?.defaultAuthentication); return { authConfig: { @@ -674,7 +685,7 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut for (let i = 0; i < additionalProvidersAnswer.authType.length; i += 1) { const authProvider = additionalProvidersAnswer.authType[i]; - const config = await askAuthQuestions(authProvider, context, true); + const config = await askAuthQuestions(authProvider, context, true, currentAuthConfig?.additionalAuthenticationProviders?.find(authSetting => authSetting.authenticationType == authProvider)); authConfig.additionalAuthenticationProviders.push(config); } @@ -686,12 +697,7 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut return authConfig; } -export async function addAdditionalAuthMode(context, authType) { - const currentAuthConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); - currentAuthConfig.additionalAuthenticationProviders.push(askAuthQuestions(authType, context)); -} - -export async function askAuthQuestions(authType, context, printLeadText = false) { +export async function askAuthQuestions(authType, context, printLeadText = false, authSettings) { if (authType === 'AMAZON_COGNITO_USER_POOLS') { if (printLeadText) { context.print.info('Cognito UserPool configuration'); @@ -707,7 +713,7 @@ export async function askAuthQuestions(authType, context, printLeadText = false) context.print.info('API key configuration'); } - const apiKeyConfig = await askApiKeyQuestions(); + const apiKeyConfig = await askApiKeyQuestions(authSettings); return apiKeyConfig; } @@ -723,7 +729,7 @@ export async function askAuthQuestions(authType, context, printLeadText = false) context.print.info('OpenID Connect configuration'); } - const openIDConnectConfig = await askOpenIDConnectQuestions(); + const openIDConnectConfig = await askOpenIDConnectQuestions(authSettings); return openIDConnectConfig; } @@ -736,9 +742,8 @@ export async function askAuthQuestions(authType, context, printLeadText = false) async function askUserPoolQuestions(context) { let authResourceName = checkIfAuthExists(context); - if (!authResourceName) { - authResourceName = await context.amplify.invokePluginMethod(context, 'auth', undefined, 'add', [context]); + authResourceName = await context.amplify.invokePluginMethod(context, 'auth', undefined, 'add', [context, true]); } else { context.print.info('Use a Cognito user pool configured as a part of this project.'); } @@ -754,18 +759,25 @@ async function askUserPoolQuestions(context) { }; } -async function askApiKeyQuestions() { +async function askApiKeyQuestions(authSettings) { + let defaultValues = { + apiKeyExpirationDays: 7, + description: undefined, + }; + Object.assign(defaultValues, authSettings?.apiKeyConfig); + const apiKeyQuestions = [ { type: 'input', name: 'description', message: 'Enter a description for the API key:', + default: defaultValues.description, }, { type: 'input', name: 'apiKeyExpirationDays', message: 'After how many days from now the API key should expire (1-365):', - default: 7, + default: defaultValues.apiKeyExpirationDays, validate: validateDays, // adding filter to ensure parsing input as int -> https://github.com/SBoudrias/Inquirer.js/issues/866 filter: value => (isNaN(parseInt(value, 10)) ? value : parseInt(value, 10)), @@ -780,35 +792,49 @@ async function askApiKeyQuestions() { }; } -async function askOpenIDConnectQuestions() { +async function askOpenIDConnectQuestions(authSettings) { + let defaultValues = { + authTTL: undefined, + clientId: undefined, + iatTTL: undefined, + issuerUrl: undefined, + name: undefined, + }; + Object.assign(defaultValues, authSettings?.openIDConnectConfig); + const openIDConnectQuestions = [ { type: 'input', name: 'name', message: 'Enter a name for the OpenID Connect provider:', + default: defaultValues.name, }, { type: 'input', name: 'issuerUrl', message: 'Enter the OpenID Connect provider domain (Issuer URL):', validate: validateIssuerUrl, + default: defaultValues.issuerUrl, }, { type: 'input', name: 'clientId', message: 'Enter the Client Id from your OpenID Client Connect application (optional):', + default: defaultValues.clientId, }, { type: 'input', name: 'iatTTL', message: 'Enter the number of milliseconds a token is valid after being issued to a user:', validate: validateTTL, + default: defaultValues.iatTTL, }, { type: 'input', name: 'authTTL', message: 'Enter the number of milliseconds a token is valid after being authenticated:', validate: validateTTL, + default: defaultValues.authTTL, }, ]; diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts index 96dbb2acfd8..11964238731 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/edit-schema-flow.ts @@ -8,7 +8,7 @@ export const editSchemaFlow = async (context: any, apiName: string) => { type: 'confirm', name: 'editNow', message: 'Do you want to edit the schema now?', - default: false, + default: true, }; if (!(await inquirer.prompt(prompt)).editNow) return; diff --git a/packages/amplify-category-auth/src/index.js b/packages/amplify-category-auth/src/index.js index 60d30618107..7912c91db6b 100644 --- a/packages/amplify-category-auth/src/index.js +++ b/packages/amplify-category-auth/src/index.js @@ -34,7 +34,7 @@ const { } = require('./provider-utils/awscloudformation/utils/auth-sms-workflow-helper'); // this function is being kept for temporary compatability. -async function add(context) { +async function add(context, skipNextSteps = false) { const { amplify } = context; const servicesMetadata = getSupportedServices(); const existingAuth = amplify.getProjectDetails().amplifyMeta.auth || {}; @@ -54,7 +54,7 @@ async function add(context) { context.print.error('Provider not configured for this category'); return; } - return providerController.addResource(context, result.service); + return providerController.addResource(context, result.service, skipNextSteps); }) .catch(err => { context.print.info(err.stack); diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts index 8986123be4b..f40a03833c0 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts @@ -11,7 +11,7 @@ import { doesConfigurationIncludeSMS } from '../utils/auth-sms-workflow-helper'; * The consumer returns the resourceName of the generated resource. * @param context The amplify context */ -export const getAddAuthHandler = (context: any) => async (request: ServiceQuestionsResult) => { +export const getAddAuthHandler = (context: any, skipNextSteps: boolean = false) => async (request: ServiceQuestionsResult) => { const serviceMetadata = getSupportedServices()[request.serviceName]; const { cfnFilename, defaultValuesFilename, provider } = serviceMetadata; @@ -26,7 +26,7 @@ export const getAddAuthHandler = (context: any) => async (request: ServiceQuesti await getPostAddAuthMetaUpdater(context, { service: requestWithDefaults.serviceName, providerName: provider })( requestWithDefaults.resourceName!, ); - await getPostAddAuthMessagePrinter(context.print)(requestWithDefaults.resourceName!); + await getPostAddAuthMessagePrinter(context.print)(requestWithDefaults.resourceName!, skipNextSteps); if (doesConfigurationIncludeSMS(request)) { await printSMSSandboxWarning(context.print); diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js b/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js index 6f1e6260f2c..3a8a5691e93 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/index.js @@ -14,10 +14,10 @@ function serviceQuestions(context, defaultValuesFilename, stringMapsFilename, se return serviceWalkthrough(context, defaultValuesFilename, stringMapsFilename, serviceMetadata); } -async function addResource(context, service) { +async function addResource(context, service, skipNextSteps = false) { const serviceMetadata = getSupportedServices()[service]; const { defaultValuesFilename, stringMapsFilename, serviceWalkthroughFilename } = serviceMetadata; - return getAddAuthHandler(context)( + return getAddAuthHandler(context, skipNextSteps)( await serviceQuestions(context, defaultValuesFilename, stringMapsFilename, serviceWalkthroughFilename, serviceMetadata), ); } diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts index b5c0c0148a8..9b3f9a71bae 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts @@ -5,9 +5,12 @@ import { BannerMessage } from 'amplify-cli-core'; * A factory function that returns a function that prints the "success message" after adding auth * @param print The amplify print object */ -export const getPostAddAuthMessagePrinter = (print: any) => (resourceName: string) => { +export const getPostAddAuthMessagePrinter = (print: any) => (resourceName: string, skipNextSteps: boolean = false) => { print.success(`Successfully added auth resource ${resourceName} locally`); - printCommonText(print); + + if (!skipNextSteps) { + printCommonText(print); + } }; /** From 9909cc258530afcd2f6d8c4c7998b14f30863a6f Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 8 Sep 2021 17:04:41 -0700 Subject: [PATCH 42/64] update conflict detection label --- .../service-walkthroughs/appSync-walkthrough.ts | 2 +- .../amplify-provider-awscloudformation/src/push-resources.ts | 2 +- .../src/transform-graphql-schema.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 2b9b50e5884..831d5e0393a 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -347,7 +347,7 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model }); } else { updateChoices.push({ - name: 'Enable conflict detection', + name: 'Enable conflict detection (required for DataStore)', value: 'ENABLE_CONFLICT', }); } diff --git a/packages/amplify-provider-awscloudformation/src/push-resources.ts b/packages/amplify-provider-awscloudformation/src/push-resources.ts index e738daccc94..b015071b830 100644 --- a/packages/amplify-provider-awscloudformation/src/push-resources.ts +++ b/packages/amplify-provider-awscloudformation/src/push-resources.ts @@ -840,7 +840,7 @@ async function formNestedStack( nestedStack.Description = 'Root Stack for AWS Amplify Console'; } } catch (err) { - console.info('App not deployed yet.'); + // if it is not an AmplifyAdmin app, do nothing } const { amplifyMeta } = projectDetails; diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 35074daf0bb..5b037506f46 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -167,7 +167,7 @@ function getTransformerFactory(context, resourceDir, authConfig?) { const res = await isAmplifyAdminApp(appId); amplifyAdminEnabled = res.isAdminApp; } catch (err) { - console.info('App not deployed yet.'); + // if it is not an AmplifyAdmin app, do nothing } transformerList.push(new ModelAuthTransformer({ authConfig, addAwsIamAuthInOutputSchema: amplifyAdminEnabled })); From 5eb70228b7cef77c4317f69a92bfb8939e76d208 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Thu, 9 Sep 2021 09:40:01 -0700 Subject: [PATCH 43/64] remove app not deployed message --- .../service-walkthroughs/appSync-walkthrough.ts | 8 ++++---- .../src/graphql-transformer/transform-graphql-schema.ts | 2 +- .../src/transform-graphql-schema.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 831d5e0393a..8c29175f156 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -305,10 +305,10 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile ({ authConfig } = await askAdditionalQuestions(context, authConfig, defaultAuthType)); break; case 'CONFLICT_DETECTION': - resolverConfig = await askResolverConflictQuestion(context, resolverConfig, defaultAuthType); + resolverConfig = await askResolverConflictQuestion(context, resolverConfig); break; case 'CONFLICT_STRATEGY': - resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + resolverConfig = await askResolverConflictHandlerQuestion(context); break; case 'CONTINUE': continuePrompt = true; @@ -369,7 +369,7 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model ({ authConfig, defaultAuthType } = await askDefaultAuthQuestion(context)); authConfig = await askAdditionalAuthQuestions(context, authConfig, defaultAuthType); } else if (updateOption === 'CONFLICT_STRATEGY') { - resolverConfig = await askResolverConflictHandlerQuestion(context, defaultAuthType); + resolverConfig = await askResolverConflictHandlerQuestion(context, modelTypes); } return { @@ -499,7 +499,7 @@ async function displayApiInformation(context, resource, project) { authModes.forEach(authMode => context.print.info(authMode)); context.print.info(''); - context.print.success('Conflict detection'); + context.print.success('Conflict detection (required for DataStore)'); if (project.config && !_.isEmpty(project.config.ResolverConfig)) { context.print.info(`- Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name}`); } else { diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 9274dcad0a5..756d84a966f 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -299,7 +299,7 @@ export async function transformGraphQLSchema(context, options) { }; const transformerOutput = await buildAPIProject(buildConfig); - context.print.success(`\nGraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ + context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); if (!options.dryRun) { diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 5b037506f46..2f13e6ff658 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -508,7 +508,7 @@ export async function transformGraphQLSchema(context: $TSContext, options) { sanityCheckRules: sanityCheckRulesList, }; const transformerOutput = await buildAPIProject(buildConfig); - context.print.success(`\nGraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ + context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); if (!options.dryRun) { From d77e9e2df36e35983edd59a3138402a1a02cccff Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Fri, 10 Sep 2021 09:56:27 -0700 Subject: [PATCH 44/64] auto apply auth mode --- packages/amplify-category-api/src/index.ts | 18 +++++++++ .../src/transform-graphql-schema.ts | 39 ++++++++++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/packages/amplify-category-api/src/index.ts b/packages/amplify-category-api/src/index.ts index af7f1625011..ba4fd2d3c06 100644 --- a/packages/amplify-category-api/src/index.ts +++ b/packages/amplify-category-api/src/index.ts @@ -3,6 +3,8 @@ import fs from 'fs-extra'; import path from 'path'; import { run } from './commands/api/console'; import { getCfnApiArtifactHandler } from './provider-utils/awscloudformation/cfn-api-artifact-handler'; +import { askAuthQuestions } from './provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough'; +import { getAppSyncResourceName, getAppSyncAuthConfig } from './provider-utils/awscloudformation//utils/amplify-meta-utils'; export { NETWORK_STACK_LOGICAL_ID } from './category-constants'; export { DEPLOYMENT_MECHANISM } from './provider-utils/awscloudformation/base-api-stack'; @@ -217,3 +219,19 @@ export async function handleAmplifyEvent(context, args) { context.print.info(`${category} handleAmplifyEvent to be implemented`); context.print.info(`Received event args ${args}`); } + +export async function addGraphQLAuthorizationMode(context, args) { + const { authType, printLeadText, authSettings } = args; + const apiName = getAppSyncResourceName(context.amplify.getProjectMeta()); + if (!apiName) { + return; + } + + const authConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); + const addAuthConfig = await askAuthQuestions(authType, context, printLeadText, authSettings); + authConfig.additionalAuthenticationProviders.push(addAuthConfig); + context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); + context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); + + return addAuthConfig; +} \ No newline at end of file diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 2f13e6ff658..8a68a5dd1fe 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -507,7 +507,33 @@ export async function transformGraphQLSchema(context: $TSContext, options) { featureFlags: ff, sanityCheckRules: sanityCheckRulesList, }; - const transformerOutput = await buildAPIProject(buildConfig); + let transformerOutput; + let authSchemaErrors = false; + do { + try { + transformerOutput = await buildAPIProject(buildConfig); + authSchemaErrors = false; + } catch (err) { + authSchemaErrors = true; + if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_IAM')); + } else if (!context?.parameters?.options?.yes) { + if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS')); + } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); + } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); + } else { + throw err; + } + } else { + throw err; + } + buildConfig.transformersFactory = getTransformerFactory(context, resourceDir, authConfig); + } + } while (authSchemaErrors); + context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); @@ -518,6 +544,17 @@ place .graphql files in a directory at ${schemaDirPath}`); return transformerOutput; } +async function addGraphQLAuthRequirement(context, authType) { + return await context.amplify.invokePluginMethod(context, 'api', undefined, 'addGraphQLAuthorizationMode', [ + context, + { + authType: authType, + printLeadText: true, + authSettings: undefined, + }, + ]); +} + function getProjectBucket(context) { const projectDetails = context.amplify.getProjectDetails(); const projectBucket = projectDetails.amplifyMeta.providers ? projectDetails.amplifyMeta.providers[providerName].DeploymentBucketName : ''; From 187bb8c79cdf803cdc7de1e2457df9da3739e9a8 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Mon, 13 Sep 2021 10:33:02 -0700 Subject: [PATCH 45/64] auto apply authmode for v2 tranformer --- .../transform-graphql-schema.ts | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 756d84a966f..f2d9c11f446 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -297,8 +297,32 @@ export async function transformGraphQLSchema(context, options) { lastDeployedProjectConfig, authConfig, }; - const transformerOutput = await buildAPIProject(buildConfig); + let transformerOutput; + let authSchemaErrors = false; + do { + try { + transformerOutput = await buildAPIProject(buildConfig); + authSchemaErrors = false; + } catch (err) { + authSchemaErrors = true; + if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_IAM')); + } else if (!context?.parameters?.options?.yes) { + if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS')); + } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); + } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); + } else { + throw err; + } + } else { + throw err; + } + } + } while (authSchemaErrors); context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); @@ -309,6 +333,17 @@ place .graphql files in a directory at ${schemaDirPath}`); return transformerOutput; } +async function addGraphQLAuthRequirement(context, authType) { + return await context.amplify.invokePluginMethod(context, 'api', undefined, 'addGraphQLAuthorizationMode', [ + context, + { + authType: authType, + printLeadText: true, + authSettings: undefined, + }, + ]); +} + function getProjectBucket(context) { const projectDetails = context.amplify.getProjectDetails(); const projectBucket = projectDetails.amplifyMeta.providers ? projectDetails.amplifyMeta.providers[providerName].DeploymentBucketName : ''; From 723c6bb6ecaff2169d6e1c557b99e6cf0d47caae Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Wed, 15 Sep 2021 13:24:33 -0700 Subject: [PATCH 46/64] add type amplify_global to v2 schemas --- .../graphql-schemas/many-relationship-schema-v2.graphql | 2 ++ .../graphql-schemas/single-object-auth-schema-v2.graphql | 2 ++ .../graphql-schemas/single-object-schema-v2.graphql | 2 ++ 3 files changed, 6 insertions(+) diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql index 2619b187297..616114a469a 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql @@ -1,3 +1,5 @@ +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! + type Blog @model { id: ID! name: String! diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql index 0faf0997d4a..5467d1b3c07 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql @@ -1,3 +1,5 @@ +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! + type Task @model @auth(rules: [ diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql index 74b097ceae9..bc5c83cec51 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql @@ -1,3 +1,5 @@ +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! + type Todo @model { id: ID! name: String! From fc237a1027d8f46f8493f662f0f75aed5fcd5607 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Thu, 16 Sep 2021 19:35:27 -0700 Subject: [PATCH 47/64] Update many-relationship-schema-v2.graphql --- .../graphql-schemas/many-relationship-schema-v2.graphql | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql index 616114a469a..2619b187297 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/many-relationship-schema-v2.graphql @@ -1,5 +1,3 @@ -type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! - type Blog @model { id: ID! name: String! From 13638058423fe859488e62a66aa62a475cb04556 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Thu, 16 Sep 2021 19:35:50 -0700 Subject: [PATCH 48/64] Update single-object-auth-schema-v2.graphql --- .../graphql-schemas/single-object-auth-schema-v2.graphql | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql index 5467d1b3c07..0faf0997d4a 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-auth-schema-v2.graphql @@ -1,5 +1,3 @@ -type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! - type Task @model @auth(rules: [ From 75ffb3d565479fcffcc1e4782bfe6518922814af Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Thu, 16 Sep 2021 19:36:05 -0700 Subject: [PATCH 49/64] Update single-object-schema-v2.graphql --- .../graphql-schemas/single-object-schema-v2.graphql | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql index bc5c83cec51..74b097ceae9 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-schemas/single-object-schema-v2.graphql @@ -1,5 +1,3 @@ -type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev') # FOR TESTING ONLY! - type Todo @model { id: ID! name: String! From 7c13d99a15e811efeff32ed061573d63ee9093ba Mon Sep 17 00:00:00 2001 From: Josue Ruiz <7465495+SwaySway@users.noreply.github.com> Date: Fri, 24 Sep 2021 11:52:26 -0700 Subject: [PATCH 50/64] feat: add @auth (#1) * feat: add @auth base package with Access Control * feat: graphql auth v2 add schemaChanges, iam policy generation, and query/read resolvers * feat: graphql auth v2 add auth on mutation and subscription resolvers * feat(amplify-category-api): add global sandbox mode directive on schema generation (#8074) * feat(amplify-category-api): add global sandbox mode directive on schema generation * test(amplify-e2e-tests): add e2e tests for sandbox mode * test(amplify-category-api): add unit test for generating sandbox mode directive; rm unused method * feat(cli): add sandbox mode warning to amplify status (#8078) * feat(amplify-category-api): prompt api key creation on amplify push (#8124) * feat(amplify-category-api): prompt api key create when invalid with sandbox mode * test(amplify-category-api): add unit tests for provider utils * test(amplify-category-api): fix test for adding api key prompt * refactor(cli): refactor api key prompt * refactor(amplify-category-api): add api key with gql compiled * feat: @model conflict resolution * auth directive support for index, searchable, predictions, functions, and relational directives (#8146) * feat: add support for index and updated unit and e2e tests * feat: directive suport for functions, predictions, searchable, and relational * test: updated unit tests for updated auth on directives * @auth support for datastore and add has auth flag (#8168) * feat: @auth v2 on datastore and updated unit tests * feat: add hasAuthFlag * feat(graphql-model-transformer): set up transformer for sandbox mode directive (#8138) * feat(graphql-model-transformer): add sandbox mode support to model transformer * refactor(graphql-transformer-core): do not persist sandbox mode meta data * fix: add command to show access control and field auth evaluation in access control (#8174) * fix: admin ui app state check and auth transformer index resolver name (#8175) * fix: has auth typo and qref on field conditions for private rule (#8180) * fix(graphql-model-transformer): use hasAuth flag when sandbox mode is disabled (#8179) * fix: update hasMany to use join table name, sync config warning, updated unit test * fix: add empty payload for sandbox mode * fix: snapshot test for @searchable * fix: udpated snapshot for index and relation directives * fix: use same none datasource name as resolver manager * fix: iam resolver check and relational payload (#8234) * fix: add datastore query in config for auth (#8246) * fix: auth filter expression (#8248) * fix: update iam auth to include roles in before template (#8259) * chore: rebase and update auth dependencies * fix(graphql-model-transformer): iam role name does not exceed 64 characters * fix: add base e2e tests with auth fixes Co-authored-by: Danielle Adams <6271256+danielleadams@users.noreply.github.com> Co-authored-by: lazpavel <85319655+lazpavel@users.noreply.github.com> --- .../cfn-api-artifact-handler.test.ts.snap | 1 + .../cfn-api-artifact-handler.test.ts | 2 +- .../prompt-to-add-api-key.test.ts | 44 + .../appSync-walkthrough.test.ts | 2 +- ...p-sync-auth-type-bi-di-mapper.test.ts.snap | 2 + .../utils/global-sandbox-mode.test.ts | 21 + packages/amplify-category-api/src/index.ts | 1 + .../cfn-api-artifact-handler.ts | 2 +- .../prompt-to-add-api-key.ts | 20 + .../appSync-walkthrough.ts | 77 +- ...nfig-to-app-sync-auth-type-bi-di-mapper.ts | 2 + .../utils/global-sandbox-mode.ts | 10 + packages/amplify-cli-core/src/index.ts | 1 + .../src/__tests__/commands/status.test.ts | 15 +- .../get-api-key-config.test.ts | 100 + .../show-global-sandbox-mode-warning.test.ts | 105 + .../mockLocalCloud/amplify-meta-2.json | 25 + .../mockLocalCloud/amplify-meta-3.json | 16 + .../testData/mockLocalCloud/amplify-meta.json | 28 + packages/amplify-cli/src/commands/status.ts | 26 +- .../amplify-cli/src/domain/amplify-toolkit.ts | 10 +- .../amplify-helpers/get-api-key-config.ts | 51 + .../prompt-sandbox-mode-api-key.ts | 19 + .../amplify-helpers/push-resources.ts | 3 + .../show-global-sandbox-mode-warning.ts | 31 + .../schemas/model_with_sandbox_mode.graphql | 6 + .../src/__tests__/sandbox-mode.test.ts | 45 + .../.npmignore | 5 + .../CHANGELOG.md | 0 .../package.json | 67 + .../field-auth-argument.test.ts.snap | 40 + .../src/__tests__/accesscontrol.test.ts | 112 + .../src/__tests__/amplify-admin-auth.test.ts | 337 ++ .../src/__tests__/field-auth-argument.test.ts | 118 + .../src/__tests__/group-auth.test.ts | 97 + .../src/__tests__/multi-auth.test.ts | 683 +++ .../src/__tests__/owner-auth.test.ts | 230 ++ .../src/__tests__/searchable-auth.test.ts | 93 + .../src/__tests__/test-helpers.ts | 10 + .../src/accesscontrol/acm.ts | 193 + .../src/accesscontrol/index.ts | 1 + .../src/graphql-auth-transformer.ts | 948 +++++ .../src/index.ts | 4 + .../src/resolvers/field.ts | 136 + .../src/resolvers/helpers.ts | 152 + .../src/resolvers/index.ts | 7 + .../src/resolvers/mutation.create.ts | 274 ++ .../src/resolvers/mutation.delete.ts | 189 + .../src/resolvers/mutation.update.ts | 318 ++ .../src/resolvers/query.ts | 204 + .../src/resolvers/subscriptions.ts | 65 + .../src/utils/constants.ts | 32 + .../src/utils/definitions.ts | 99 + .../src/utils/iam.ts | 70 + .../src/utils/index.ts | 152 + .../src/utils/schema.ts | 209 + .../src/utils/validations.ts | 123 + .../tsconfig.json | 15 + ...-graphql-function-transformer.test.ts.snap | 9 +- ...plify-graphql-function-transformer.test.ts | 4 +- .../src/graphql-function-transformer.ts | 77 +- ...ify-graphql-index-transformer.test.ts.snap | 1652 +++++++- ...aphql-primary-key-transformer.test.ts.snap | 1174 +++++- .../src/resolvers.ts | 40 +- .../src/schema.ts | 10 + .../model-transformer.test.ts.snap | 3660 ++++++++++++++--- .../src/__tests__/model-transformer.test.ts | 27 +- .../src/definitions.ts | 2 +- .../src/graphql-model-transformer.ts | 97 +- .../src/index.ts | 3 +- .../src/resolvers/common.ts | 30 +- .../src/resolvers/query.ts | 103 +- .../src/graphql-predictions-transformer.ts | 59 +- ...-graphql-has-many-transformer.test.ts.snap | 2351 +++++++++-- ...phql-many-to-many-transformer.test.ts.snap | 550 ++- .../src/resolvers.ts | 100 +- .../src/schema.ts | 2 +- ...aphql-searchable-transformer.tests.ts.snap | 175 +- .../src/generate-resolver-vtl.ts | 31 +- .../src/graphql-searchable-transformer.ts | 2 +- .../src/config/index.ts | 21 +- .../src/config/transformer-config.ts | 58 +- .../src/graphql-api.ts | 19 +- .../src/index.ts | 30 +- .../src/transform-host.ts | 14 +- .../src/transformation/sync-utils.ts | 2 +- .../src/transformation/transform.ts | 23 +- .../transformation/transformer-plugin-base.ts | 7 + .../src/transformation/utils.ts | 1 + .../src/transformation/validation.ts | 22 + .../src/transformer-context/datasource.ts | 4 + .../src/transformer-context/index.ts | 26 + .../src/transformer-context/resolver.ts | 50 +- .../src/transformer-context/stack-manager.ts | 1 + .../src/utils/authType.ts | 12 +- .../src/utils/index.ts | 2 + .../src/utils/sandbox-mode.ts | 16 + .../src/graphql-api-provider.ts | 47 +- .../src/index.ts | 12 +- .../src/transform-host-provider.ts | 3 + .../stack-manager-provider.ts | 1 + .../transformer-context-provider.ts | 34 +- .../transformer-datasource-provider.ts | 1 + .../transformer-resolver-provider.ts | 1 + .../src/transformer-model-provider.ts | 2 + .../src/transformer-plugin-provider.ts | 1 + .../src/interface/api/add.ts | 1 + .../package.json | 1 + .../transform-graphql-schema.ts | 53 +- .../src/graphql-transformer/utils.ts | 127 + .../src/utils/admin-helpers.ts | 5 +- .../src/ModelAuthTransformer.ts | 11 +- .../graphql-mapping-template/src/print.ts | 2 +- .../package.json | 1 + .../__tests__/AuthV2Transformer.e2e.test.ts | 3329 +++++++++++++++ .../src/deployNestedStacks.ts | 4 +- 116 files changed, 18129 insertions(+), 1621 deletions(-) create mode 100644 packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/prompt-to-add-api-key.test.ts create mode 100644 packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/global-sandbox-mode.test.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts create mode 100644 packages/amplify-category-api/src/provider-utils/awscloudformation/utils/global-sandbox-mode.ts create mode 100644 packages/amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts create mode 100644 packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts create mode 100644 packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-2.json create mode 100644 packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-3.json create mode 100644 packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta.json create mode 100644 packages/amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts create mode 100644 packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts create mode 100644 packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts create mode 100644 packages/amplify-e2e-tests/schemas/model_with_sandbox_mode.graphql create mode 100644 packages/amplify-e2e-tests/src/__tests__/sandbox-mode.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/.npmignore create mode 100644 packages/amplify-graphql-auth-transformer/CHANGELOG.md create mode 100644 packages/amplify-graphql-auth-transformer/package.json create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/__snapshots__/field-auth-argument.test.ts.snap create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/accesscontrol.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/amplify-admin-auth.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/field-auth-argument.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/group-auth.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/multi-auth.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/owner-auth.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/searchable-auth.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/test-helpers.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/accesscontrol/acm.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/accesscontrol/index.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/index.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/field.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/index.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/query.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/utils/constants.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/utils/definitions.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/utils/iam.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/utils/index.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/utils/schema.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/utils/validations.ts create mode 100644 packages/amplify-graphql-auth-transformer/tsconfig.json create mode 100644 packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts create mode 100644 packages/graphql-transformers-e2e-tests/src/__tests__/AuthV2Transformer.e2e.test.ts diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/__snapshots__/cfn-api-artifact-handler.test.ts.snap b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/__snapshots__/cfn-api-artifact-handler.test.ts.snap index 36f39965a9b..3b9aa6928f1 100644 --- a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/__snapshots__/cfn-api-artifact-handler.test.ts.snap +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/__snapshots__/cfn-api-artifact-handler.test.ts.snap @@ -18,6 +18,7 @@ Object { }, Object { "apiKeyConfig": Object { + "apiKeyExpirationDate": undefined, "apiKeyExpirationDays": undefined, "description": undefined, }, diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts index 28e2aec71d3..e8dfa51770a 100644 --- a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/cfn-api-artifact-handler.test.ts @@ -30,7 +30,7 @@ jest.mock('../../../provider-utils/awscloudformation/utils/amplify-meta-utils', jest.mock('amplify-cli-core'); -const fs_mock = (fs as unknown) as jest.Mocked; +const fs_mock = fs as unknown as jest.Mocked; const writeTransformerConfiguration_mock = writeTransformerConfiguration as jest.MockedFunction; const getAppSyncResourceName_mock = getAppSyncResourceName as jest.MockedFunction; const getAppSyncAuthConfig_mock = getAppSyncAuthConfig as jest.MockedFunction; diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/prompt-to-add-api-key.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/prompt-to-add-api-key.test.ts new file mode 100644 index 00000000000..871b8c8f1ea --- /dev/null +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/prompt-to-add-api-key.test.ts @@ -0,0 +1,44 @@ +import { $TSContext } from 'amplify-cli-core'; +import * as prompts from 'amplify-prompts'; +import { promptToAddApiKey } from '../../../provider-utils/awscloudformation/prompt-to-add-api-key'; +import * as walkthrough from '../../../provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough'; +import * as cfnApiArtifactHandler from '../../../provider-utils/awscloudformation/cfn-api-artifact-handler'; + +jest.mock('../../../provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough', () => ({ + askApiKeyQuestions: jest.fn(), +})); + +jest.mock('../../../provider-utils/awscloudformation/cfn-api-artifact-handler', () => ({ + getCfnApiArtifactHandler: jest.fn(() => { + return { updateArtifacts: jest.fn() }; + }), +})); + +jest.mock('amplify-prompts', () => ({ + prompter: { + confirmContinue: jest.fn().mockImplementation(() => true), + }, +})); + +describe('prompt to add Api Key', () => { + it('runs through expected user flow: print info, update files', async () => { + const envName = 'envone'; + const ctx = { + amplify: { + getEnvInfo() { + return { envName }; + }, + }, + } as unknown as $TSContext; + + jest.spyOn(prompts.prompter, 'confirmContinue'); + jest.spyOn(walkthrough, 'askApiKeyQuestions'); + jest.spyOn(cfnApiArtifactHandler, 'getCfnApiArtifactHandler'); + + await promptToAddApiKey(ctx); + + expect(prompts.prompter.confirmContinue).toHaveBeenCalledWith('Would you like to create an API Key?'); + expect(walkthrough.askApiKeyQuestions).toHaveBeenCalledTimes(1); + expect(cfnApiArtifactHandler.getCfnApiArtifactHandler).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.test.ts index a664b0b4698..1d7ed55cdfd 100644 --- a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.test.ts +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.test.ts @@ -3,7 +3,7 @@ import { askAdditionalAuthQuestions, } from '../../../../provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough'; import { authConfigHasApiKey, getAppSyncAuthConfig } from '../../../../provider-utils/awscloudformation/utils/amplify-meta-utils'; -import { FeatureFlags, CLIEnvironmentProvider, FeatureFlagRegistration } from 'amplify-cli-core'; +import { FeatureFlags } from 'amplify-cli-core'; jest.mock('../../../../provider-utils/awscloudformation/utils/amplify-meta-utils', () => ({ getAppSyncAuthConfig: jest.fn(), authConfigHasApiKey: jest.fn(), diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/auth-config-to-app-sync-auth-type-bi-di-mapper.test.ts.snap b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/auth-config-to-app-sync-auth-type-bi-di-mapper.test.ts.snap index 73049e4ca95..3c18c0fa241 100644 --- a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/auth-config-to-app-sync-auth-type-bi-di-mapper.test.ts.snap +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/__snapshots__/auth-config-to-app-sync-auth-type-bi-di-mapper.test.ts.snap @@ -12,6 +12,7 @@ Object { exports[`AppSyncAuthType to authConfig maps API_KEY correctly 1`] = ` Object { "apiKeyConfig": Object { + "apiKeyExpirationDate": undefined, "apiKeyExpirationDays": 120, "description": undefined, }, @@ -47,6 +48,7 @@ Object { exports[`authConfig to AppSyncAuthType maps API_KEY auth correctly 1`] = ` Object { + "apiKeyExpirationDate": undefined, "expirationTime": 120, "keyDescription": "api key description", "mode": "API_KEY", diff --git a/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/global-sandbox-mode.test.ts b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/global-sandbox-mode.test.ts new file mode 100644 index 00000000000..a895da7f667 --- /dev/null +++ b/packages/amplify-category-api/src/__tests__/provider-utils/awscloudformation/utils/global-sandbox-mode.test.ts @@ -0,0 +1,21 @@ +import { defineGlobalSandboxMode } from '../../../../provider-utils/awscloudformation/utils/global-sandbox-mode'; +import { $TSContext } from 'amplify-cli-core'; + +describe('global sandbox mode GraphQL directive', () => { + it('returns AMPLIFY_DIRECTIVE type with code comment, directive, and env name', () => { + const envName = 'envone'; + const ctx = <$TSContext>{ + amplify: { + getEnvInfo() { + return { envName }; + }, + }, + }; + + expect(defineGlobalSandboxMode(ctx)) + .toBe(`# This allows public create, read, update, and delete access for a limited time to all models via API Key. +# To configure PRODUCTION-READY authorization rules, review: https://docs.amplify.aws/cli/graphql-transformer/auth +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: \"${envName}\") # FOR TESTING ONLY!\n +`); + }); +}); diff --git a/packages/amplify-category-api/src/index.ts b/packages/amplify-category-api/src/index.ts index ba4fd2d3c06..17b1f7b93d9 100644 --- a/packages/amplify-category-api/src/index.ts +++ b/packages/amplify-category-api/src/index.ts @@ -17,6 +17,7 @@ export { processDockerConfig, } from './provider-utils/awscloudformation/utils/containers-artifacts'; export { getContainers } from './provider-utils/awscloudformation/docker-compose'; +export { promptToAddApiKey } from './provider-utils/awscloudformation/prompt-to-add-api-key'; const category = 'api'; diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index cc421715b5d..ecf2dddbd55 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -1,4 +1,4 @@ -import { isResourceNameUnique } from 'amplify-cli-core'; +import { isResourceNameUnique, FeatureFlags } from 'amplify-cli-core'; import { AddApiRequest, AppSyncServiceConfiguration, diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts new file mode 100644 index 00000000000..5184b0d3dbb --- /dev/null +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts @@ -0,0 +1,20 @@ +import { $TSContext } from 'amplify-cli-core'; +import { askApiKeyQuestions } from './service-walkthroughs/appSync-walkthrough'; +import { authConfigToAppSyncAuthType } from './utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; +import { getCfnApiArtifactHandler } from './cfn-api-artifact-handler'; +import { prompter } from 'amplify-prompts'; + +export async function promptToAddApiKey(context: $TSContext): Promise { + if (await prompter.confirmContinue('Would you like to create an API Key?')) { + const apiKeyConfig = await askApiKeyQuestions(); + const authConfig = [apiKeyConfig]; + + await getCfnApiArtifactHandler(context).updateArtifacts({ + version: 1, + serviceModification: { + serviceName: 'AppSync', + additionalAuthTypes: authConfig.map(authConfigToAppSyncAuthType), + }, + }); + } +} diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 8c29175f156..c8561d30e01 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -22,6 +22,8 @@ import { $TSContext, open, } from 'amplify-cli-core'; +import { Duration, Expiration } from '@aws-cdk/core'; +import { defineGlobalSandboxMode } from '../utils/global-sandbox-mode'; const serviceName = 'AppSync'; const elasticContainerServiceName = 'ElasticContainer'; @@ -215,7 +217,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile authConfig = { defaultAuthentication: { apiKeyConfig: { - apiKeyExpirationDays: 7 + apiKeyExpirationDays: 7, }, authenticationType: 'API_KEY', }, @@ -226,21 +228,22 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile // Repeat prompt until user selects Continue // while (!continuePrompt) { - const getAuthModeChoice = async () => { if (authConfig.defaultAuthentication.authenticationType === 'API_KEY') { - return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (default, expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; + return `${ + authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name + } (default, expiration time: ${authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDays} days from now)`; } return `${authProviderChoices.find(choice => choice.value === authConfig.defaultAuthentication.authenticationType).name} (default)`; }; const getAdditionalAuthModeChoices = async () => { let additionalAuthModesText = ''; - authConfig.additionalAuthenticationProviders.map(async (authMode) => { - additionalAuthModesText += `, ${authProviderChoices.find(choice => choice.value === authMode.authenticationType).name}` + authConfig.additionalAuthenticationProviders.map(async authMode => { + additionalAuthModesText += `, ${authProviderChoices.find(choice => choice.value === authMode.authenticationType).name}`; }); return additionalAuthModesText; - } + }; const basicInfoQuestionChoices = []; @@ -261,7 +264,9 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile if (resolverConfig?.project) { basicInfoQuestionChoices.push({ - name: chalk`{bold Conflict resolution strategy:} ${conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name}`, + name: chalk`{bold Conflict resolution strategy:} ${ + conflictResolutionHanlderChoices.find(x => x.value === resolverConfig.project.ConflictHandler).name + }`, value: 'CONFLICT_STRATEGY', }); } @@ -281,7 +286,7 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile let { basicApiSettings } = await inquirer.prompt([basicInfoQuestion]); - switch(basicApiSettings) { + switch (basicApiSettings) { case 'API_NAME': const resourceQuestions = [ { @@ -323,7 +328,6 @@ const serviceApiInputWalkthrough = async (context: $TSContext, defaultValuesFile }, resolverConfig, }; - }; const updateApiInputWalkthrough = async (context, project, resolverConfig, modelTypes) => { @@ -380,6 +384,7 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { const resourceName = resourceAlreadyExists(context); + const useExperimentalPipelineTransformer = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer'); if (resourceName) { const errMessage = @@ -397,7 +402,7 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen let askToEdit = true; // Schema template selection - const schemaTemplateOptions = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer') ? schemaTemplatesV2 : schemaTemplatesV1; + const schemaTemplateOptions = useExperimentalPipelineTransformer ? schemaTemplatesV2 : schemaTemplatesV1; const templateSelectionQuestion = { type: inputs[4].type, name: inputs[4].key, @@ -408,7 +413,8 @@ export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilen const { templateSelection } = await inquirer.prompt(templateSelectionQuestion); const schemaFilePath = path.join(graphqlSchemaDir, templateSelection); - schemaContent = fs.readFileSync(schemaFilePath, 'utf8'); + schemaContent += useExperimentalPipelineTransformer ? defineGlobalSandboxMode(context) : ''; + schemaContent += fs.readFileSync(schemaFilePath, 'utf8'); return { ...basicInfoAnswers, @@ -481,8 +487,10 @@ export const updateWalkthrough = async (context): Promise => { async function displayApiInformation(context, resource, project) { let authModes: string[] = []; - authModes.push(`- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`); - await resource.output.authConfig.additionalAuthenticationProviders.map(async (authMode) => { + authModes.push( + `- Default: ${await displayAuthMode(context, resource, resource.output.authConfig.defaultAuthentication.authenticationType)}`, + ); + await resource.output.authConfig.additionalAuthenticationProviders.map(async authMode => { authModes.push(`- ${await displayAuthMode(context, resource, authMode.authenticationType)}`); }); @@ -501,7 +509,11 @@ async function displayApiInformation(context, resource, project) { context.print.success('Conflict detection (required for DataStore)'); if (project.config && !_.isEmpty(project.config.ResolverConfig)) { - context.print.info(`- Conflict resolution strategy: ${conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name}`); + context.print.info( + `- Conflict resolution strategy: ${ + conflictResolutionHanlderChoices.find(choice => choice.value === project.config.ResolverConfig.project.ConflictHandler).name + }`, + ); } else { context.print.info('- Disabled'); } @@ -519,7 +531,9 @@ async function displayAuthMode(context, resource, authMode) { return authProviderChoices.find(choice => choice.value === authMode).name; } let apiKeyExpiresDate = new Date(apiKeyExpires * 1000); - return `${authProviderChoices.find(choice => choice.value === authMode).name} expiring ${apiKeyExpiresDate}: ${resource.output.GraphQLAPIKeyOutput}`; + return `${authProviderChoices.find(choice => choice.value === authMode).name} expiring ${apiKeyExpiresDate}: ${ + resource.output.GraphQLAPIKeyOutput + }`; } return authProviderChoices.find(choice => choice.value === authMode).name; } @@ -668,9 +682,11 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut if (await context.prompt.confirm('Configure additional auth types?')) { // Get additional auth configured const remainingAuthProviderChoices = authProviderChoices.filter(p => p.value !== defaultAuthType); - const currentAdditionalAuth = ((currentAuthConfig && currentAuthConfig.additionalAuthenticationProviders - ? currentAuthConfig.additionalAuthenticationProviders - : []) as any[]).map(authProvider => authProvider.authenticationType); + const currentAdditionalAuth = ( + (currentAuthConfig && currentAuthConfig.additionalAuthenticationProviders + ? currentAuthConfig.additionalAuthenticationProviders + : []) as any[] + ).map(authProvider => authProvider.authenticationType); const additionalProvidersQuestion: CheckboxQuestion = { type: 'checkbox', @@ -685,7 +701,12 @@ export async function askAdditionalAuthQuestions(context, authConfig, defaultAut for (let i = 0; i < additionalProvidersAnswer.authType.length; i += 1) { const authProvider = additionalProvidersAnswer.authType[i]; - const config = await askAuthQuestions(authProvider, context, true, currentAuthConfig?.additionalAuthenticationProviders?.find(authSetting => authSetting.authenticationType == authProvider)); + const config = await askAuthQuestions( + authProvider, + context, + true, + currentAuthConfig?.additionalAuthenticationProviders?.find(authSetting => authSetting.authenticationType == authProvider), + ); authConfig.additionalAuthenticationProviders.push(config); } @@ -759,7 +780,7 @@ async function askUserPoolQuestions(context) { }; } -async function askApiKeyQuestions(authSettings) { +export async function askApiKeyQuestions(authSettings = undefined) { let defaultValues = { apiKeyExpirationDays: 7, description: undefined, @@ -785,6 +806,8 @@ async function askApiKeyQuestions(authSettings) { ]; const apiKeyConfig = await inquirer.prompt(apiKeyQuestions); + const apiKeyExpirationDaysNum = Number(apiKeyConfig.apiKeyExpirationDays); + apiKeyConfig.apiKeyExpirationDate = Expiration.after(Duration.days(apiKeyExpirationDaysNum)).date; return { authenticationType: 'API_KEY', @@ -857,9 +880,10 @@ function validateDays(input) { } function validateIssuerUrl(input) { - const isValid = /^(((?!http:\/\/(?!localhost))([a-zA-Z0-9.]{1,}):\/\/([a-zA-Z0-9-._~:?#@!$&'()*+,;=/]{1,})\/)|(?!http)(?!https)([a-zA-Z0-9.]{1,}):\/\/)$/.test( - input, - ); + const isValid = + /^(((?!http:\/\/(?!localhost))([a-zA-Z0-9.]{1,}):\/\/([a-zA-Z0-9-._~:?#@!$&'()*+,;=/]{1,})\/)|(?!http)(?!https)([a-zA-Z0-9.]{1,}):\/\/)$/.test( + input, + ); if (!isValid) { return 'The value must be a valid URI with a trailing forward slash. HTTPS must be used instead of HTTP unless you are using localhost.'; @@ -959,8 +983,8 @@ const buildPolicyResource = (resourceName: string, path: string | null) => { { Ref: `${category}${resourceName}GraphQLAPIIdOutput`, }, - ...(path ? [path] : []) - ] + ...(path ? [path] : []), + ], ], }; }; @@ -968,7 +992,8 @@ const buildPolicyResource = (resourceName: string, path: string | null) => { const templateSchemaFilter = authConfig => { const authIncludesCognito = getAuthTypes(authConfig).includes('AMAZON_COGNITO_USER_POOLS'); return (templateOption: ListChoiceOptions): boolean => - authIncludesCognito || templateOption.name !== 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)'; + authIncludesCognito || + templateOption.name !== 'Objects with fine-grained access control (e.g., a project management app with owner-based authorization)'; }; const getAuthTypes = authConfig => { diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts index d52094eae50..c1a8dde916a 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper.ts @@ -30,6 +30,7 @@ const authConfigToAppSyncAuthTypeMap: Record AppSyn API_KEY: authConfig => ({ mode: 'API_KEY', expirationTime: authConfig.apiKeyConfig.apiKeyExpirationDays, + apiKeyExpirationDate: authConfig.apiKeyConfig?.apiKeyExpirationDate, keyDescription: authConfig.apiKeyConfig.description, }), AWS_IAM: () => ({ @@ -54,6 +55,7 @@ const appSyncAuthTypeToAuthConfigMap: Record $TSAny; sharedQuestions: () => $TSAny; showAllHelp: () => $TSAny; + showGlobalSandboxModeWarning: (context: $TSContext) => $TSAny; showHelp: (header: string, commands: { name: string; description: string }[]) => $TSAny; showHelpfulProviderLinks: (context: $TSContext) => $TSAny; showResourceTable: () => $TSAny; diff --git a/packages/amplify-cli/src/__tests__/commands/status.test.ts b/packages/amplify-cli/src/__tests__/commands/status.test.ts index d22a798a354..30f9dc59605 100644 --- a/packages/amplify-cli/src/__tests__/commands/status.test.ts +++ b/packages/amplify-cli/src/__tests__/commands/status.test.ts @@ -1,5 +1,3 @@ -import { UnknownArgumentError } from 'amplify-cli-core'; - describe('amplify status: ', () => { const { run } = require('../../commands/status'); const runStatusCmd = run; @@ -11,17 +9,10 @@ describe('amplify status: ', () => { }); it('status run method should call context.amplify.showStatusTable', async () => { - const cliInput = { - command: 'status', - subCommands: [], - options: { - verbose: true, - }, - }; - const mockContextNoCLArgs = { amplify: { showStatusTable: jest.fn(), + showGlobalSandboxModeWarning: jest.fn(), showHelpfulProviderLinks: jest.fn(), getCategoryPluginInfo: jest.fn().mockReturnValue({ packageLocation: mockPath }), }, @@ -43,6 +34,7 @@ describe('amplify status: ', () => { const mockContextWithVerboseOptionAndCLArgs = { amplify: { showStatusTable: jest.fn(), + showGlobalSandboxModeWarning: jest.fn(), showHelpfulProviderLinks: jest.fn(), getCategoryPluginInfo: jest.fn().mockReturnValue({ packageLocation: statusPluginInfo }), }, @@ -61,6 +53,7 @@ describe('amplify status: ', () => { const mockContextWithVerboseOptionWithCategoriesAndCLArgs = { amplify: { showStatusTable: jest.fn(), + showGlobalSandboxModeWarning: jest.fn(), showHelpfulProviderLinks: jest.fn(), getCategoryPluginInfo: jest.fn().mockReturnValue({ packageLocation: statusPluginInfo }), }, @@ -82,6 +75,7 @@ describe('amplify status: ', () => { const mockContextWithHelpSubcommandAndCLArgs = { amplify: { showStatusTable: jest.fn(), + showGlobalSandboxModeWarning: jest.fn(), showHelpfulProviderLinks: jest.fn(), getCategoryPluginInfo: jest.fn().mockReturnValue({ packageLocation: statusPluginInfo }), }, @@ -94,5 +88,4 @@ describe('amplify status: ', () => { //TBD: to move ViewResourceTableParams into a separate file for mocking instance functions. expect(mockContextWithHelpSubcommandAndCLArgs.amplify.showStatusTable.mock.calls.length).toBe(0); }); - }); diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts new file mode 100644 index 00000000000..26b38ec1f54 --- /dev/null +++ b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts @@ -0,0 +1,100 @@ +import fs from 'fs'; +import { getAppSyncApiConfig, getApiKeyConfig, apiKeyIsActive, hasApiKey } from '../../../extensions/amplify-helpers/get-api-key-config'; + +let amplifyMeta; + +jest.mock('amplify-cli-core', () => { + const original = jest.requireActual('amplify-cli-core'); + return { + ...original, + stateManager: { + metaFileExists: jest.fn(), + getMeta: jest.fn().mockImplementation(() => JSON.parse(amplifyMeta.toString())), + }, + }; +}); + +describe('getAppSyncApiConfig', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); + }); + + it('returns the api object', async () => { + const result = getAppSyncApiConfig(); + + expect(result).toStrictEqual({ + service: 'AppSync', + providerPlugin: 'awscloudformation', + output: { + authConfig: { + defaultAuthentication: { + authenticationType: 'AWS_IAM', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'API_KEY', + apiKeyConfig: { + apiKeyExpirationDays: 2, + apiKeyExpirationDate: '2021-08-20T20:38:07.585Z', + description: '', + }, + }, + ], + }, + globalSandboxModeConfig: { + env: 'dev', + }, + }, + }); + }); +}); + +describe('getApiKeyConfig', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); + }); + + it('returns the api key config', () => { + const result = getApiKeyConfig(); + + expect(result).toStrictEqual({ + apiKeyExpirationDays: 2, + apiKeyExpirationDate: '2021-08-20T20:38:07.585Z', + description: '', + }); + }); +}); + +describe('apiKeyIsActive', () => { + describe('with expired key', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); + }); + + it('returns false', () => { + expect(apiKeyIsActive()).toBe(false); + }); + }); + + describe('with no api key config', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-3.json`); + }); + + it('returns false', () => { + expect(apiKeyIsActive()).toBe(false); + }); + }); +}); + +describe('hasApiKey', () => { + describe('if api key config is present', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); + }); + + it('returns true if api key is present', () => { + expect(hasApiKey()).toBe(true); + }); + }); +}); diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts new file mode 100644 index 00000000000..2938d65216e --- /dev/null +++ b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts @@ -0,0 +1,105 @@ +import { + globalSandboxModeEnabled, + showGlobalSandboxModeWarning, +} from '../../../extensions/amplify-helpers/show-global-sandbox-mode-warning'; +import { $TSContext } from '../../../../../amplify-cli-core/lib'; +import fs from 'fs'; +import chalk from 'chalk'; + +let ctx, amplifyMeta; + +jest.mock('amplify-cli-core', () => ({ + stateManager: { + getMeta: jest.fn(() => JSON.parse(amplifyMeta.toString())), + }, +})); + +describe('global sandbox mode warning', () => { + beforeEach(() => { + const envName = 'dev'; + ctx = { + amplify: { + getEnvInfo() { + return { envName }; + }, + }, + print: { + info() { + // noop + }, + }, + } as unknown as $TSContext; + }); + + describe('globalSandboxModeEnabled', () => { + describe('enabled', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); + }); + + it('returns true', async () => { + expect(globalSandboxModeEnabled(ctx)).toBe(true); + }); + }); + + describe('not specified', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-2.json`); + }); + + it('returns false', async () => { + expect(globalSandboxModeEnabled(ctx)).toBe(false); + }); + }); + }); + + describe('showGlobalSandboxModeWarning', () => { + describe('sandbox mode enabled', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); + }); + + it('prints warning message', async () => { + jest.spyOn(ctx.print, 'info'); + + await showGlobalSandboxModeWarning(ctx); + + expect(ctx.print.info).toBeCalledWith(` +${chalk.yellow(`⚠️ WARNING: ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} in your GraphQL schema +allows public create, read, update, and delete access to all models via API Key. This +should only be used for testing purposes. API Key expiration date is: 8/20/2021 + +To configure PRODUCTION-READY authorization rules, review: https://docs.amplify.aws/cli/graphql-transformer/auth`)} +`); + }); + }); + + describe('sandbox mode not specified', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-2.json`); + }); + + it('does not print warning', async () => { + jest.spyOn(ctx.print, 'info'); + + await showGlobalSandboxModeWarning(ctx); + + expect(ctx.print.info).toBeCalledTimes(0); + }); + }); + + describe('no api key config', () => { + beforeAll(() => { + amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-3.json`); + }); + + it('does not print warning', async () => { + jest.spyOn(ctx.print, 'info'); + + await showGlobalSandboxModeWarning(ctx); + + expect(ctx.print.info).toBeCalledTimes(0); + }); + }); + }); +}); diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-2.json b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-2.json new file mode 100644 index 00000000000..9bd3f8293be --- /dev/null +++ b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-2.json @@ -0,0 +1,25 @@ +{ + "api": { + "ampapp": { + "service": "AppSync", + "providerPlugin": "awscloudformation", + "output": { + "authConfig": { + "defaultAuthentication": { + "authenticationType": "AWS_IAM" + }, + "additionalAuthenticationProviders": [ + { + "authenticationType": "API_KEY", + "apiKeyConfig": { + "apiKeyExpirationDays": 2, + "apiKeyExpirationDate": "2021-08-20T20:38:07.585Z", + "description": "" + } + } + ] + } + } + } + } +} diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-3.json b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-3.json new file mode 100644 index 00000000000..7aa92695860 --- /dev/null +++ b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta-3.json @@ -0,0 +1,16 @@ +{ + "api": { + "ampapp": { + "service": "AppSync", + "providerPlugin": "awscloudformation", + "output": { + "authConfig": { + "defaultAuthentication": { + "authenticationType": "AWS_IAM" + }, + "additionalAuthenticationProviders": [] + } + } + } + } +} diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta.json b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta.json new file mode 100644 index 00000000000..cb9a35d4025 --- /dev/null +++ b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/testData/mockLocalCloud/amplify-meta.json @@ -0,0 +1,28 @@ +{ + "api": { + "ampapp": { + "service": "AppSync", + "providerPlugin": "awscloudformation", + "output": { + "authConfig": { + "defaultAuthentication": { + "authenticationType": "AWS_IAM" + }, + "additionalAuthenticationProviders": [ + { + "authenticationType": "API_KEY", + "apiKeyConfig": { + "apiKeyExpirationDays": 2, + "apiKeyExpirationDate": "2021-08-20T20:38:07.585Z", + "description": "" + } + } + ] + }, + "globalSandboxModeConfig": { + "env": "dev" + } + } + } + } +} diff --git a/packages/amplify-cli/src/commands/status.ts b/packages/amplify-cli/src/commands/status.ts index 3e11576346a..c821f9c1c94 100644 --- a/packages/amplify-cli/src/commands/status.ts +++ b/packages/amplify-cli/src/commands/status.ts @@ -1,26 +1,28 @@ -import { ViewResourceTableParams, CLIParams, $TSContext } from "amplify-cli-core"; +import { ViewResourceTableParams, CLIParams, $TSContext } from 'amplify-cli-core'; +export const run = async (context: $TSContext) => { + const cliParams: CLIParams = { + cliCommand: context?.input?.command, + cliSubcommands: context?.input?.subCommands, + cliOptions: context?.input?.options, + }; -export const run = async (context : $TSContext) => { - const cliParams:CLIParams = { cliCommand : context?.input?.command, - cliSubcommands: context?.input?.subCommands, - cliOptions : context?.input?.options } - - const view = new ViewResourceTableParams( cliParams ); - if ( context?.input?.subCommands?.includes("help")){ - context.print.info( view.getStyledHelp() ); + const view = new ViewResourceTableParams(cliParams); + if (context?.input?.subCommands?.includes('help')) { + context.print.info(view.getStyledHelp()); } else { try { - await context.amplify.showStatusTable( view ); + await context.amplify.showStatusTable(view); + await context.amplify.showGlobalSandboxModeWarning(context); await context.amplify.showHelpfulProviderLinks(context); await showAmplifyConsoleHostingStatus(context); - } catch ( e ){ + } catch (e) { view.logErrorException(e, context); } } }; -async function showAmplifyConsoleHostingStatus( context) { +async function showAmplifyConsoleHostingStatus(context) { const pluginInfo = context.amplify.getCategoryPluginInfo(context, 'hosting', 'amplifyhosting'); if (pluginInfo && pluginInfo.packageLocation) { const { status } = await import(pluginInfo.packageLocation); diff --git a/packages/amplify-cli/src/domain/amplify-toolkit.ts b/packages/amplify-cli/src/domain/amplify-toolkit.ts index 55f1b41b753..512d7fefd9c 100644 --- a/packages/amplify-cli/src/domain/amplify-toolkit.ts +++ b/packages/amplify-cli/src/domain/amplify-toolkit.ts @@ -38,6 +38,7 @@ export class AmplifyToolkit { private _removeResource: any; private _sharedQuestions: any; private _showAllHelp: any; + private _showGlobalSandboxModeWarning: any; private _showHelp: any; private _showHelpfulProviderLinks: any; private _showResourceTable: any; @@ -240,6 +241,12 @@ export class AmplifyToolkit { this._sharedQuestions = this._sharedQuestions || require(path.join(this._amplifyHelpersDirPath, 'shared-questions')).sharedQuestions; return this._sharedQuestions; } + get showGlobalSandboxModeWarning(): any { + this._showGlobalSandboxModeWarning = + this._showGlobalSandboxModeWarning || + require(path.join(this._amplifyHelpersDirPath, 'show-global-sandbox-mode-warning')).showGlobalSandboxModeWarning; + return this._showGlobalSandboxModeWarning; + } get showHelp(): any { this._showHelp = this._showHelp || require(path.join(this._amplifyHelpersDirPath, 'show-help')).showHelp; return this._showHelp; @@ -261,8 +268,7 @@ export class AmplifyToolkit { } get showStatusTable(): any { - this._showStatusTable = - this._showStatusTable || require(path.join(this._amplifyHelpersDirPath, 'resource-status')).showStatusTable; + this._showStatusTable = this._showStatusTable || require(path.join(this._amplifyHelpersDirPath, 'resource-status')).showStatusTable; return this._showStatusTable; } diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts b/packages/amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts new file mode 100644 index 00000000000..2fbdccad3c9 --- /dev/null +++ b/packages/amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts @@ -0,0 +1,51 @@ +import { stateManager } from 'amplify-cli-core'; +import { ApiKeyConfig } from '@aws-amplify/graphql-transformer-interfaces'; + +export function getAppSyncApiConfig(): any { + const apiConfig = stateManager.getMeta()?.api; + let appSyncApi; + + Object.keys(apiConfig).forEach(k => { + if (apiConfig[k]['service'] === 'AppSync') appSyncApi = apiConfig[k]; + }); + + return appSyncApi; +} + +function getDefaultIfApiKey(): ApiKeyConfig | void { + const authConfig = getAppSyncApiConfig()?.output?.authConfig; + const { defaultAuthentication } = authConfig; + + if (defaultAuthentication.authenticationType === 'API_KEY') return defaultAuthentication.apiKeyConfig; +} + +function getAdditionalApiKeyConfig(): ApiKeyConfig | void { + const authConfig = getAppSyncApiConfig()?.output?.authConfig; + const { additionalAuthenticationProviders } = authConfig; + let apiKeyConfig; + + additionalAuthenticationProviders.forEach(authProvider => { + if (authProvider.authenticationType === 'API_KEY') apiKeyConfig = authProvider.apiKeyConfig; + }); + + return apiKeyConfig; +} + +export function getApiKeyConfig(): ApiKeyConfig | void { + return getDefaultIfApiKey() || getAdditionalApiKeyConfig(); +} + +export function apiKeyIsActive(): boolean { + const today = new Date(); + const { apiKeyExpirationDate } = getApiKeyConfig() || {}; + + if (!apiKeyExpirationDate) return false; + + return new Date(apiKeyExpirationDate) > today; +} + +export function hasApiKey(): boolean { + const apiKeyConfig = getApiKeyConfig(); + + return !!apiKeyConfig && !!apiKeyConfig?.apiKeyExpirationDate; +} diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts b/packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts new file mode 100644 index 00000000000..9beb0eda74a --- /dev/null +++ b/packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts @@ -0,0 +1,19 @@ +import chalk from 'chalk'; +import { $TSContext } from 'amplify-cli-core'; +import { promptToAddApiKey } from 'amplify-category-api'; +import { globalSandboxModeEnabled, showGlobalSandboxModeWarning } from './show-global-sandbox-mode-warning'; +import { apiKeyIsActive, hasApiKey } from './get-api-key-config'; + +export async function promptSandboxModeApiKey(context: $TSContext): Promise { + if (globalSandboxModeEnabled(context)) { + if (!apiKeyIsActive() || !hasApiKey()) { + context.print.info(` +⚠️ WARNING: Global Sandbox Mode has been enabled, which requires a valid API key. If +you'd like to disable, remove ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} +from your GraphQL schema and run 'amplify push' again. If you'd like to proceed with +sandbox mode disabled in '${context.amplify.getEnvInfo().envName}', do not create an API Key. +`); + await promptToAddApiKey(context); + } else showGlobalSandboxModeWarning(context); + } +} diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts index 3b86fc0c5e2..c5381ed67a2 100644 --- a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts +++ b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts @@ -5,6 +5,7 @@ import { initializeEnv } from '../../initialize-env'; import { getProviderPlugins } from './get-provider-plugins'; import { getEnvInfo } from './get-env-info'; import { EnvironmentDoesNotExistError, exitOnNextTick, stateManager, $TSAny, $TSContext } from 'amplify-cli-core'; +import { promptSandboxModeApiKey } from './prompt-sandbox-mode-api-key'; export async function pushResources( context: $TSContext, @@ -73,6 +74,8 @@ export async function pushResources( continueToPush = await context.amplify.confirmPrompt('Are you sure you want to continue?'); } + await promptSandboxModeApiKey(context); + if (continueToPush) { // Get current-cloud-backend's amplify-meta const currentAmplifyMeta = stateManager.getCurrentMeta(); diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts b/packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts new file mode 100644 index 00000000000..c3171b8a666 --- /dev/null +++ b/packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts @@ -0,0 +1,31 @@ +import chalk from 'chalk'; +import { $TSContext } from 'amplify-cli-core'; +import { getAppSyncApiConfig, getApiKeyConfig } from './get-api-key-config'; + +export function globalSandboxModeEnabled(context: $TSContext): boolean { + const appSyncApi = getAppSyncApiConfig(); + const currEnvName = context.amplify.getEnvInfo().envName; + const { globalSandboxModeConfig } = appSyncApi?.output || {}; + + if (!globalSandboxModeConfig) return false; + + return globalSandboxModeConfig.env === currEnvName; +} + +export function showGlobalSandboxModeWarning(context: $TSContext): void { + const apiKeyConfig = getApiKeyConfig(); + + if (!apiKeyConfig?.apiKeyExpirationDate) return; + + const expirationDate = new Date(apiKeyConfig.apiKeyExpirationDate); + + if (apiKeyConfig && globalSandboxModeEnabled(context)) { + context.print.info(` +${chalk.yellow(`⚠️ WARNING: ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} in your GraphQL schema +allows public create, read, update, and delete access to all models via API Key. This +should only be used for testing purposes. API Key expiration date is: ${expirationDate.toLocaleDateString()} + +To configure PRODUCTION-READY authorization rules, review: https://docs.amplify.aws/cli/graphql-transformer/auth`)} +`); + } +} diff --git a/packages/amplify-e2e-tests/schemas/model_with_sandbox_mode.graphql b/packages/amplify-e2e-tests/schemas/model_with_sandbox_mode.graphql new file mode 100644 index 00000000000..22c833e9c67 --- /dev/null +++ b/packages/amplify-e2e-tests/schemas/model_with_sandbox_mode.graphql @@ -0,0 +1,6 @@ +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: "dev") + +type Todo @model { + id: ID! + content: String +} diff --git a/packages/amplify-e2e-tests/src/__tests__/sandbox-mode.test.ts b/packages/amplify-e2e-tests/src/__tests__/sandbox-mode.test.ts new file mode 100644 index 00000000000..f16ac9e5cee --- /dev/null +++ b/packages/amplify-e2e-tests/src/__tests__/sandbox-mode.test.ts @@ -0,0 +1,45 @@ +import { + initJSProjectWithProfile, + deleteProject, + createNewProjectDir, + deleteProjectDir, + addApiWithSchema, + amplifyPush, + getProjectMeta, +} from 'amplify-e2e-core'; +import { testSchema } from '../schema-api-directives'; + +describe('api directives @allow_public_data_access_with_api_key', () => { + let projectDir: string; + const envName = 'dev'; + + beforeEach(async () => { + projectDir = await createNewProjectDir('model'); + await initJSProjectWithProfile(projectDir, { envName }); + }); + + afterEach(async () => { + await deleteProject(projectDir); + deleteProjectDir(projectDir); + }); + + it('schema and files generate with sandbox mode', async () => { + await addApiWithSchema(projectDir, 'model_with_sandbox_mode.graphql'); + await amplifyPush(projectDir); + + const meta = getProjectMeta(projectDir); + const { output } = meta.api.simplemodel; + const { authConfig, globalSandboxModeConfig, GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; + + expect(globalSandboxModeConfig.env).toBeDefined(); + expect(authConfig.defaultAuthentication.authenticationType).toBe('API_KEY'); + expect(authConfig.defaultAuthentication.apiKeyConfig.apiKeyExpirationDate).toBeDefined(); + + expect(GraphQLAPIIdOutput).toBeDefined(); + expect(GraphQLAPIEndpointOutput).toBeDefined(); + expect(GraphQLAPIKeyOutput).toBeDefined(); + + const testresult = await testSchema(projectDir, 'model', 'generates'); + expect(testresult).toBeTruthy(); + }); +}); diff --git a/packages/amplify-graphql-auth-transformer/.npmignore b/packages/amplify-graphql-auth-transformer/.npmignore new file mode 100644 index 00000000000..3ee5d55b0b8 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/.npmignore @@ -0,0 +1,5 @@ +**/__mocks__/** +**/__tests__/** +src +tsconfig.json +tsconfig.tsbuildinfo diff --git a/packages/amplify-graphql-auth-transformer/CHANGELOG.md b/packages/amplify-graphql-auth-transformer/CHANGELOG.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/amplify-graphql-auth-transformer/package.json b/packages/amplify-graphql-auth-transformer/package.json new file mode 100644 index 00000000000..f8e49efdfbb --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/package.json @@ -0,0 +1,67 @@ +{ + "name": "@aws-amplify/graphql-auth-transformer", + "version": "0.1.0", + "description": "Amplify GraphQL @auth Transformer", + "repository": { + "type": "git", + "url": "https://github.com/aws-amplify/amplify-cli.git", + "directory": "packages/amplify-graphql-auth-transformer" + }, + "author": "Amazon Web Services", + "license": "Apache-2.0", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "keywords": [ + "graphql", + "cloudformation", + "aws", + "amplify" + ], + "publishConfig": { + "access": "public" + }, + "scripts": { + "test": "jest", + "build": "tsc", + "clean": "rimraf ./lib", + "watch": "tsc -w" + }, + "dependencies": { + "@aws-amplify/graphql-transformer-core": "0.9.0", + "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-model-transformer": "0.6.2", + "@aws-cdk/aws-appsync": "~1.119.0", + "@aws-cdk/aws-dynamodb": "~1.119.0", + "@aws-cdk/core": "~1.119.0", + "@aws-cdk/aws-iam": "~1.119.0", + "constructs": "^3.3.125", + "graphql": "^14.5.8", + "graphql-mapping-template": "4.18.3", + "graphql-transformer-common": "4.19.9", + "lodash": "^4.17.21" + }, + "devDependencies": { + "@aws-amplify/graphql-index-transformer": "0.3.2", + "@aws-amplify/graphql-relational-transformer": "0.2.1", + "@aws-amplify/graphql-searchable-transformer": "0.6.0", + "@types/fs-extra": "^8.0.1", + "@aws-cdk/assert": "~1.72.0", + "@types/node": "^12.12.6" + }, + "jest": { + "testURL": "http://localhost", + "transform": { + "^.+\\.tsx?$": "ts-jest" + }, + "testRegex": "(src/__tests__/.*.test.ts)$", + "moduleFileExtensions": [ + "ts", + "tsx", + "js", + "jsx", + "json", + "node" + ], + "collectCoverage": true + } +} diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/__snapshots__/field-auth-argument.test.ts.snap b/packages/amplify-graphql-auth-transformer/src/__tests__/__snapshots__/field-auth-argument.test.ts.snap new file mode 100644 index 00000000000..0a0706bd49e --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/__snapshots__/field-auth-argument.test.ts.snap @@ -0,0 +1,40 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`per-field @auth without @model 1`] = ` +Object { + "Properties": Object { + "Description": "", + "Path": "/", + "PolicyDocument": Object { + "Statement": Array [ + Object { + "Action": "appsync:GraphQL", + "Effect": "Allow", + "Resource": Object { + "Fn::Sub": Array [ + "arn:aws:appsync:\${AWS::Region}:\${AWS::AccountId}:apis/\${apiId}/types/\${typeName}/fields/\${fieldName}", + Object { + "apiId": Object { + "Fn::GetAtt": Array [ + "GraphQLAPI", + "ApiId", + ], + }, + "fieldName": "listContext", + "typeName": "Query", + }, + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "Roles": Array [ + Object { + "Ref": "authRoleName", + }, + ], + }, + "Type": "AWS::IAM::ManagedPolicy", +} +`; diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/accesscontrol.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/accesscontrol.test.ts new file mode 100644 index 00000000000..6aa2d0e9ecf --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/accesscontrol.test.ts @@ -0,0 +1,112 @@ +import { AccessControlMatrix } from '../accesscontrol'; +import { MODEL_OPERATIONS } from '../utils'; + +test('test access control on object and field', () => { + /* + given the following schema + type Student + @model + @auth(rules: [ + { allow: groups, groups: ["admin"] } + { allow: groups, groups: ["student"], operations: [read] } + ]) { + studentID: ID + name: String + #acm protect email only studentID can update their own email + email: AWSEmail @auth(rules: [ + { allow: owner, ownerField: "studentID", operations: [update] } + { allow: groups, groups: ["admin"] } + ]) + # only allowed to student and admin + ssn: String @auth(rules: [ + { allow: owner, ownerField: "studentID", operations: [read] } + { allow: groups, groups: ["admin"] } + ]) + } + */ + // create an acm for the student type + const adminRole = 'userPools:staticGroup:admin'; + const studentGroupRole = 'userPools:staticGroup:student'; + const studentOwnerRole = 'userPools:owner:studentID'; + const studentTypeFields = ['studentID', 'name', 'email', 'ssn']; + const acm = new AccessControlMatrix({ + resources: studentTypeFields, + operations: MODEL_OPERATIONS, + }); + // add OBJECT rules first + // add admin role which has full access on all CRUD operations for all fields + acm.setRole({ + role: adminRole, + operations: MODEL_OPERATIONS, + }); + // add the student static group rule which only has read access + acm.setRole({ + role: studentGroupRole, + operations: ['read'], + }); + + studentTypeFields.forEach(field => { + // check that admin has CRUD access on all fields + expect(acm.isAllowed(adminRole, field, 'create')).toBe(true); + expect(acm.isAllowed(adminRole, field, 'read')).toBe(true); + expect(acm.isAllowed(adminRole, field, 'update')).toBe(true); + expect(acm.isAllowed(adminRole, field, 'delete')).toBe(true); + // check that studentGroupRole has access to read only + expect(acm.isAllowed(studentGroupRole, field, 'read')).toBe(true); + expect(acm.isAllowed(studentGroupRole, field, 'create')).toBe(false); + expect(acm.isAllowed(studentGroupRole, field, 'update')).toBe(false); + expect(acm.isAllowed(studentGroupRole, field, 'delete')).toBe(false); + }); + // when adding a field rule on email we need to overwrite it + acm.resetAccessForResource('email'); + + expect(acm.isAllowed(studentGroupRole, 'email', 'read')).toBe(false); + acm.setRole({ + role: studentOwnerRole, + operations: ['update'], + resource: 'email', + }); + expect(acm.isAllowed(adminRole, 'email', 'update')).toBe(false); + expect(acm.isAllowed(studentOwnerRole, 'email', 'update')).toBe(true); +}); + +test('test access control only on field', () => { + /* + given the following schema + type Student + @model { + studentID: ID + name: String + # only allows read access on email and ssn for studentID ownerfield can also only update email + email: AWSEmail @auth(rules: [ + { allow: owner, ownerField: "studentID", operations: [read, update] } + ]) + ssn: String @auth(rules: [ + { allow: owner, ownerField: "studentID", operations: [read] } + ]) + } + */ + // create an acm for the student type + const studentOwnerRole = 'userPools:owner:studentID'; + const studentTypeFields = ['studentID', 'name', 'email', 'ssn']; + const acm = new AccessControlMatrix({ + resources: studentTypeFields, + operations: MODEL_OPERATIONS, + }); + // set role for email field + acm.setRole({ role: studentOwnerRole, operations: ['read', 'update'], resource: 'email' }); + // set role for ssn field + acm.setRole({ role: studentOwnerRole, operations: ['read'], resource: 'ssn' }); + + // expect the correct permissions are assigned for email field + expect(acm.isAllowed(studentOwnerRole, 'email', 'update')).toBe(true); + expect(acm.isAllowed(studentOwnerRole, 'email', 'read')).toBe(true); + expect(acm.isAllowed(studentOwnerRole, 'email', 'delete')).toBe(false); + expect(acm.isAllowed(studentOwnerRole, 'email', 'create')).toBe(false); + + // expect the correct permissions are assigned for ssn field + expect(acm.isAllowed(studentOwnerRole, 'ssn', 'create')).toBe(false); + expect(acm.isAllowed(studentOwnerRole, 'ssn', 'read')).toBe(true); + expect(acm.isAllowed(studentOwnerRole, 'ssn', 'update')).toBe(false); + expect(acm.isAllowed(studentOwnerRole, 'ssn', 'delete')).toBe(false); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/amplify-admin-auth.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/amplify-admin-auth.test.ts new file mode 100644 index 00000000000..ce358a0143e --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/amplify-admin-auth.test.ts @@ -0,0 +1,337 @@ +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import _ from 'lodash'; + +test('test simple model with public auth rule and amplify admin app is present', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: public}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'API_KEY', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + addAwsIamAuthInOutputSchema: true, + adminUserPoolID: 'us-fake-1_uuid', + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).toContain('Post @aws_api_key @aws_iam'); +}); + +test('Test simple model with public auth rule and amplify admin app is not enabled', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: public}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'API_KEY', + }, + additionalAuthenticationProviders: [], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).not.toContain('Post @aws_api_key @aws_iam'); +}); + +test('Test model with public auth rule without all operations and amplify admin app is present', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: public, operations: [read, update]}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'API_KEY', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + addAwsIamAuthInOutputSchema: true, + adminUserPoolID: 'us-fake-1_uuid', + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + + expect(out.schema).toContain('type Post @aws_iam @aws_api_key'); + expect(out.schema).toContain('createPost(input: CreatePostInput!, condition: ModelPostConditionInput): Post @aws_api_key @aws_iam'); + expect(out.schema).toContain('updatePost(input: UpdatePostInput!, condition: ModelPostConditionInput): Post @aws_api_key @aws_iam'); + expect(out.schema).toContain('deletePost(input: DeletePostInput!, condition: ModelPostConditionInput): Post @aws_api_key @aws_iam'); + + // No Resource extending Auth and UnAuth role + const policyResources = Object.values(out.rootStack.Resources!).filter(r => r.Type === 'AWS::IAM::ManagedPolicy'); + expect(policyResources).toHaveLength(0); +}); + +test('Test simple model with private auth rule and amplify admin app is present', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: groups, groups: ["Admin", "Dev"]}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + addAwsIamAuthInOutputSchema: true, + adminUserPoolID: 'us-fake-1_uuid', + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).toContain('type Post @aws_iam @aws_cognito_user_pools'); +}); + +test('Test simple model with private auth rule and amplify admin app not enabled', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: groups, groups: ["Admin", "Dev"]}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).not.toContain('type Post @aws_iam @aws_cognito_user_pools'); +}); + +test('Test simple model with private auth rule, few operations, and amplify admin app enabled', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: groups, groups: ["Admin", "Dev"], operations: [read]}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig: { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + addAwsIamAuthInOutputSchema: true, + adminUserPoolID: 'us-fake-1_uuid', + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).toContain('type Post @aws_iam @aws_cognito_user_pools'); + expect(out.schema).toContain( + 'createPost(input: CreatePostInput!, condition: ModelPostConditionInput): Post @aws_iam @aws_cognito_user_pools', + ); + expect(out.schema).toContain( + 'updatePost(input: UpdatePostInput!, condition: ModelPostConditionInput): Post @aws_iam @aws_cognito_user_pools', + ); + expect(out.schema).toContain( + 'deletePost(input: DeletePostInput!, condition: ModelPostConditionInput): Post @aws_iam @aws_cognito_user_pools', + ); + + // No Resource extending Auth and UnAuth role + const policyResources = Object.values(out.rootStack.Resources!).filter(r => r.Type === 'AWS::IAM::ManagedPolicy'); + expect(policyResources).toHaveLength(0); +}); + +test('Test simple model with private IAM auth rule, few operations, and amplify admin app is not enabled', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: private, provider: iam, operations: [read]}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).toContain('Post @aws_iam'); + expect(out.schema).not.toContain( + 'createPost(input: CreatePostInput!, condition: ModelPostConditionInput): Post @aws_iam @aws_cognito_user_pools', + ); + expect(out.schema).not.toContain('deletePost(input: DeletePostInput!): Post @aws_iam'); + expect(out.schema).not.toContain('updatePost(input: UpdatePostInput!): Post @aws_iam'); + + expect(out.schema).toContain('getPost(id: ID!): Post @aws_iam'); + expect(out.schema).toContain('listPosts(filter: ModelPostFilterInput, limit: Int, nextToken: String): ModelPostConnection @aws_iam'); +}); + +test('Test simple model with AdminUI enabled should add IAM policy only for fields that have explicit IAM auth', () => { + const validSchema = ` + type Post @model @auth(rules: [{allow: private, provider: iam, operations: [read]}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig: { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_IAM', + }, + ], + }, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + addAwsIamAuthInOutputSchema: true, + adminUserPoolID: 'us-fake-1_uuid', + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).toContain('Post @aws_iam @aws_cognito_user_pool'); + expect(out.schema).toContain( + 'createPost(input: CreatePostInput!, condition: ModelPostConditionInput): Post @aws_iam @aws_cognito_user_pools', + ); + expect(out.schema).toContain( + 'updatePost(input: UpdatePostInput!, condition: ModelPostConditionInput): Post @aws_iam @aws_cognito_user_pools', + ); + expect(out.schema).toContain( + 'deletePost(input: DeletePostInput!, condition: ModelPostConditionInput): Post @aws_iam @aws_cognito_user_pools', + ); + + expect(out.schema).toContain('getPost(id: ID!): Post @aws_iam'); + expect(out.schema).toContain('listPosts(filter: ModelPostFilterInput, limit: Int, nextToken: String): ModelPostConnection @aws_iam'); + const policyResources = _.filter(out.rootStack.Resources, r => r.Type === 'AWS::IAM::ManagedPolicy'); + expect(policyResources).toHaveLength(1); + const resources = _.get(policyResources, '[0].Properties.PolicyDocument.Statement[0].Resource'); + const typeFieldList = _.map(resources, r => _.get(r, 'Fn::Sub[1]')).map(r => `${_.get(r, 'typeName')}.${_.get(r, 'fieldName', '*')}`); + expect(typeFieldList).toEqual([ + 'Post.*', + 'Query.getPost', + 'Query.listPosts', + 'Mutation.createPost', + 'Mutation.updatePost', + 'Mutation.deletePost', + 'Subscription.onCreatePost', + 'Subscription.onUpdatePost', + 'Subscription.onDeletePost', + ]); + // should throw unauthorized if it's not signed by the admin ui iam role + ['Mutation.createPost.auth.1.req.vtl', 'Mutation.updatePost.auth.1.res.vtl', 'Mutation.deletePost.auth.1.res.vtl'].forEach(r => { + expect(out.pipelineFunctions[r]).toContain( + '#if( $util.authType() == "IAM Authorization" )\n' + + ' #if( $ctx.identity.userArn.contains("us-fake-1_uuid_Full-access/CognitoIdentityCredentials") || $ctx.identity.userArn.contains("us-fake-1_uuid_Manage-only/CognitoIdentityCredentials") )\n' + + ' #return($util.toJson({})\n' + + ' #end\n' + + '$util.unauthorized()\n' + + '#end', + ); + }); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/field-auth-argument.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/field-auth-argument.test.ts new file mode 100644 index 00000000000..5a30bfda709 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/field-auth-argument.test.ts @@ -0,0 +1,118 @@ +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { HasManyTransformer } from '@aws-amplify/graphql-relational-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { ResourceConstants } from 'graphql-transformer-common'; +import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; + +test('subscriptions are only generated if the respective mutation operation exists', () => { + const validSchema = ` + type Salary + @model + @auth(rules: [ + {allow: owner}, + {allow: groups, groups: ["Moderator"]} + ]) { + id: ID! + wage: Int + owner: String + secret: String @auth(rules: [{allow: owner}]) + }`; + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new HasManyTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + // expect to generate subscription resolvers for create and update only + expect(out).toBeDefined(); + expect(out.rootStack.Resources[ResourceConstants.RESOURCES.GraphQLAPILogicalID].Properties.AuthenticationType).toEqual( + 'AMAZON_COGNITO_USER_POOLS', + ); + expect(out.pipelineFunctions['Salary.secret.res.vtl']).toContain('#if( $operation == "Mutation" )'); + + expect(out.pipelineFunctions['Mutation.createSalary.res.vtl']).toContain('$util.qr($ctx.result.put("__operation", "Mutation"))'); + expect(out.pipelineFunctions['Mutation.updateSalary.res.vtl']).toContain('$util.qr($ctx.result.put("__operation", "Mutation"))'); + expect(out.pipelineFunctions['Mutation.deleteSalary.res.vtl']).toContain('$util.qr($ctx.result.put("__operation", "Mutation"))'); +}); + +test('per-field auth on relational field', () => { + const validSchema = ` + type Post @model @auth(rules: [ { allow: groups, groups: ["admin"] }, { allow: groups, groups: ["viewer"], operations: [read] } ]){ + id: ID! + title: String! + comments: [Comment] @hasMany @auth(rules: [ { allow: groups, groups: ["admin"] } ]) + } + + type Comment @model { + id: ID! + content: String + }`; + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [{ authenticationType: 'AWS_IAM' }], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new HasManyTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + + expect(out.pipelineFunctions['Post.comments.auth.1.req.vtl']).toContain( + '#set( $staticGroupRoles = [{"claim":"cognito:groups","entity":"admin"}] )', + ); +}); + +test('per-field @auth without @model', () => { + const validSchema = ` + type Query { + listContext: String @auth(rules: [{ allow: groups, groups: ["Allowed"] }, { allow: private, provider: iam }]) + }`; + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [{ authenticationType: 'AWS_IAM' }], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + + const resources = out.rootStack.Resources; + const authPolicyIdx = Object.keys(out.rootStack.Resources).find(r => r.includes('AuthRolePolicy')); + expect(resources[authPolicyIdx]).toMatchSnapshot(); + expect(out.pipelineFunctions['Query.listContext.req.vtl']).toContain( + '#set( $staticGroupRoles = [{"claim":"cognito:groups","entity":"Allowed"}] )', + ); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/group-auth.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/group-auth.test.ts new file mode 100644 index 00000000000..6bf8f548ac8 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/group-auth.test.ts @@ -0,0 +1,97 @@ +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { ResourceConstants } from 'graphql-transformer-common'; +import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; + +test('happy case with static groups', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const validSchema = ` + type Post @model @auth(rules: [{allow: groups, groups: ["Admin", "Dev"]}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.rootStack!.Resources![ResourceConstants.RESOURCES.GraphQLAPILogicalID].Properties.AuthenticationType).toEqual( + 'AMAZON_COGNITO_USER_POOLS', + ); +}); + +test('happy case with dynamic groups', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const validSchema = ` + type Post @model @auth(rules: [{allow: groups, groupsField: "groups"}]) { + id: ID! + title: String! + groups: [String] + createdAt: String + updatedAt: String + } + `; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.rootStack!.Resources![ResourceConstants.RESOURCES.GraphQLAPILogicalID].Properties.AuthenticationType).toEqual( + 'AMAZON_COGNITO_USER_POOLS', + ); +}); + +test('validation on @auth on a non-@model type', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const invalidSchema = ` + type Post @auth(rules: [{allow: groups, groupsField: "groups"}]) { + id: ID! + title: String! + group: String + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + expect(() => transformer.transform(invalidSchema)).toThrowError('Types annotated with @auth must also be annotated with @model.'); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/multi-auth.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/multi-auth.test.ts new file mode 100644 index 00000000000..620824ea105 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/multi-auth.test.ts @@ -0,0 +1,683 @@ +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { IndexTransformer } from '@aws-amplify/graphql-index-transformer'; +import { HasManyTransformer, HasOneTransformer, BelongsToTransformer } from '@aws-amplify/graphql-relational-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { AppSyncAuthConfiguration, AppSyncAuthConfigurationOIDCEntry, AppSyncAuthMode } from '@aws-amplify/graphql-transformer-interfaces'; +import { DocumentNode, ObjectTypeDefinitionNode, Kind, FieldDefinitionNode, parse, InputValueDefinitionNode } from 'graphql'; + +const userPoolsDefaultConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], +}; + +const apiKeyDefaultConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'API_KEY', + }, + additionalAuthenticationProviders: [], +}; + +const iamDefaultConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AWS_IAM', + }, + additionalAuthenticationProviders: [], +}; + +const withAuthModes = (authConfig: AppSyncAuthConfiguration, authModes: AppSyncAuthMode[]): AppSyncAuthConfiguration => { + const newAuthConfig = { + defaultAuthentication: { + authenticationType: authConfig.defaultAuthentication.authenticationType, + }, + additionalAuthenticationProviders: [], + }; + + for (const authMode of authModes) { + newAuthConfig.additionalAuthenticationProviders.push({ + authenticationType: authMode, + }); + } + + return newAuthConfig; +}; + +const apiKeyDirectiveName = 'aws_api_key'; +const userPoolsDirectiveName = 'aws_cognito_user_pools'; +const iamDirectiveName = 'aws_iam'; +const openIdDirectiveName = 'aws_oidc'; + +const multiAuthDirective = + '@auth(rules: [{allow: private}, {allow: public}, {allow: private, provider: iam }, {allow: owner, provider: oidc }])'; +const ownerAuthDirective = '@auth(rules: [{allow: owner}])'; +const ownerWithIAMAuthDirective = '@auth(rules: [{allow: owner, provider: iam }])'; +const ownerRestrictedPublicAuthDirective = '@auth(rules: [{allow: owner},{allow: public, operations: [read]}])'; +const ownerRestrictedIAMPrivateAuthDirective = '@auth(rules: [{allow: owner},{allow: private, operations: [read], provider: iam }])'; +const groupsAuthDirective = '@auth(rules: [{allow: groups, groups: ["admin"] }])'; +const groupsWithApiKeyAuthDirective = '@auth(rules: [{allow: groups, groups: ["admin"]}, {allow: public, operations: [read]}])'; +const groupsWithProviderAuthDirective = '@auth(rules: [{allow: groups,groups: ["admin"], provider: iam }])'; +const ownerOpenIdAuthDirective = '@auth(rules: [{allow: owner, provider: oidc }])'; +const privateAuthDirective = '@auth(rules: [{allow: private}])'; +const publicIAMAuthDirective = '@auth(rules: [{allow: public, provider: iam }])'; +const privateWithApiKeyAuthDirective = '@auth(rules: [{allow: private, provider: apiKey }])'; +const publicAuthDirective = '@auth(rules: [{allow: public}])'; +const publicUserPoolsAuthDirective = '@auth(rules: [{allow: public, provider: userPools}])'; +const privateAndPublicDirective = '@auth(rules: [{allow: private}, {allow: public}])'; +const privateIAMDirective = '@auth(rules: [{allow: private, provider: iam}])'; +// const privateAndPrivateIAMDirective = '@auth(rules: [{allow: private}, {allow: private, provider: iam}])'; + +const getSchema = (authDirective: string) => { + return ` + type Post @model ${authDirective} { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; +}; + +const getSchemaWithFieldAuth = (authDirective: string) => { + return ` + type Post @model { + id: ID + title: String + createdAt: String + updatedAt: String + protected: String ${authDirective} + }`; +}; + +const getSchemaWithTypeAndFieldAuth = (typeAuthDirective: string, fieldAuthDirective: string) => { + return ` + type Post @model ${typeAuthDirective} { + id: ID + title: String + createdAt: String + updatedAt: String + protected: String ${fieldAuthDirective} + }`; +}; + +const getSchemaWithNonModelField = (authDirective: string) => { + return ` + type Post @model ${authDirective} { + id: ID! + title: String! + location: Location + status: Status + createdAt: String + updatedAt: String + } + + type Location { + name: String + address: Address + } + + type Address { + street: String + city: String + state: String + zip: String + } + + enum Status { + PUBLISHED, + DRAFT + }`; +}; + +const getSchemaWithRecursiveNonModelField = (authDirective: string) => { + return ` + type Post @model ${authDirective} { + id: ID! + title: String! + tags: [Tag] + } + + type Tag { + id: ID + tags: [Tag] + } + `; +}; + +const getRecursiveSchemaWithDiffModesOnParentType = (authDir1: string, authDir2: string) => { + return ` + type Post @model ${authDir1} { + id: ID! + title: String! + tags: [Tag] + } + + type Comment @model ${authDir2} { + id: ID! + content: String + tags: [Tag] + } + + type Tag { + id: ID + tags: [Tag] + } + `; +}; + +const getTransformer = (authConfig: AppSyncAuthConfiguration) => + new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new IndexTransformer(), + new HasManyTransformer(), + new HasOneTransformer(), + new BelongsToTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + +const getObjectType = (doc: DocumentNode, type: string): ObjectTypeDefinitionNode | undefined => { + return doc.definitions.find(def => def.kind === Kind.OBJECT_TYPE_DEFINITION && def.name.value === type) as + | ObjectTypeDefinitionNode + | undefined; +}; + +const expectNone = fieldOrType => { + expect(fieldOrType.directives.length === 0); +}; + +const expectOne = (fieldOrType, directiveName) => { + expect(fieldOrType.directives.length).toBe(1); + expect(fieldOrType.directives.find(d => d.name.value === directiveName)).toBeDefined(); +}; + +const expectTwo = (fieldOrType, directiveNames) => { + expect(directiveNames).toBeDefined(); + expect(directiveNames).toHaveLength(2); + expect(fieldOrType.directives.length === 2); + expect(fieldOrType.directives.find(d => d.name.value === directiveNames[0])).toBeDefined(); + expect(fieldOrType.directives.find(d => d.name.value === directiveNames[1])).toBeDefined(); +}; + +const expectMultiple = (fieldOrType: ObjectTypeDefinitionNode | FieldDefinitionNode, directiveNames: string[]) => { + expect(directiveNames).toBeDefined(); + expect(directiveNames).toHaveLength(directiveNames.length); + expect(fieldOrType.directives.length).toEqual(directiveNames.length); + directiveNames.forEach(directiveName => { + expect(fieldOrType.directives).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + name: expect.objectContaining({ value: directiveName }), + }), + ]), + ); + }); +}; + +const getField = (type, name) => type.fields.find(f => f.name.value === name); + +describe('validation tests', () => { + const validationTest = (authDirective, authConfig, expectedError) => { + const schema = getSchema(authDirective); + const transformer = getTransformer(authConfig); + + const t = () => { + const out = transformer.transform(schema); + }; + + expect(t).toThrowError(expectedError); + }; + + test('AMAZON_COGNITO_USER_POOLS not configured for project', () => { + validationTest( + privateAuthDirective, + apiKeyDefaultConfig, + `@auth directive with 'userPools' provider found, but the project has no Cognito User \ +Pools authentication provider configured.`, + ); + }); + + test('API_KEY not configured for project', () => { + validationTest( + publicAuthDirective, + userPoolsDefaultConfig, + `@auth directive with 'apiKey' provider found, but the project has no API Key \ +authentication provider configured.`, + ); + }); + + test('AWS_IAM not configured for project', () => { + validationTest( + publicIAMAuthDirective, + userPoolsDefaultConfig, + `@auth directive with 'iam' provider found, but the project has no IAM \ +authentication provider configured.`, + ); + }); + + test('OPENID_CONNECT not configured for project', () => { + validationTest( + ownerOpenIdAuthDirective, + userPoolsDefaultConfig, + `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT \ +authentication provider configured.`, + ); + }); + + test(`'group' cannot have provider`, () => { + validationTest( + groupsWithProviderAuthDirective, + userPoolsDefaultConfig, + `@auth directive with 'groups' strategy only supports 'userPools' and 'oidc' providers, but found \ +'iam' assigned`, + ); + }); + + test(`'owner' has invalid IAM provider`, () => { + validationTest( + ownerWithIAMAuthDirective, + userPoolsDefaultConfig, + `@auth directive with 'owner' strategy only supports 'userPools' (default) and \ +'oidc' providers, but found 'iam' assigned.`, + ); + }); + + test(`'public' has invalid 'userPools' provider`, () => { + validationTest( + publicUserPoolsAuthDirective, + userPoolsDefaultConfig, + `@auth directive with 'public' strategy only supports 'apiKey' (default) and 'iam' providers, but \ +found 'userPools' assigned.`, + ); + }); + + test(`'private' has invalid 'apiKey' provider`, () => { + validationTest( + privateWithApiKeyAuthDirective, + userPoolsDefaultConfig, + `@auth directive with 'private' strategy only supports 'userPools' (default) and 'iam' providers, but \ +found 'apiKey' assigned.`, + ); + }); +}); + +describe('schema generation directive tests', () => { + const transformTest = (authDirective, authConfig, expectedDirectiveNames?: string[] | undefined) => { + const schema = getSchema(authDirective); + const transformer = getTransformer(authConfig); + + const out = transformer.transform(schema); + + const schemaDoc = parse(out.schema); + + const postType = getObjectType(schemaDoc, 'Post'); + + if (expectedDirectiveNames && expectedDirectiveNames.length > 0) { + let expectedDireciveNameCount = 0; + + for (const expectedDirectiveName of expectedDirectiveNames) { + expect(postType.directives.find(d => d.name.value === expectedDirectiveName)).toBeDefined(); + expectedDireciveNameCount++; + } + + expect(expectedDireciveNameCount).toEqual(postType.directives.length); + } + }; + + test(`When provider is the same as default, then no directive added`, () => { + transformTest(ownerAuthDirective, userPoolsDefaultConfig); + }); + + test(`When all providers are configured all of them are added`, () => { + const authConfig = withAuthModes(apiKeyDefaultConfig, ['AMAZON_COGNITO_USER_POOLS', 'AWS_IAM', 'OPENID_CONNECT']); + + (authConfig.additionalAuthenticationProviders[2] as AppSyncAuthConfigurationOIDCEntry).openIDConnectConfig = { + name: 'Test Provider', + issuerUrl: 'https://abc.def/', + }; + + transformTest(multiAuthDirective, authConfig, [userPoolsDirectiveName, iamDirectiveName, openIdDirectiveName, apiKeyDirectiveName]); + }); + + test(`Operation fields are getting the directive added, when type has the @auth for all operations`, () => { + const schema = getSchema(ownerAuthDirective); + const transformer = getTransformer(withAuthModes(apiKeyDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + const queryType = getObjectType(schemaDoc, 'Query'); + const mutationType = getObjectType(schemaDoc, 'Mutation'); + const subscriptionType = getObjectType(schemaDoc, 'Subscription'); + + const fields = [...queryType.fields, ...mutationType.fields]; + + for (const field of fields) { + expect(field.directives.length === 1); + expect(field.directives.find(d => d.name.value === userPoolsDirectiveName)).toBeDefined(); + } + + // Check that owner is required when only using owner auth rules + for (const field of subscriptionType.fields) { + expect(field.arguments).toHaveLength(1); + let arg: InputValueDefinitionNode = field.arguments[0]; + expect(arg.name.value).toEqual('owner'); + expect(arg.type.kind).toEqual(Kind.NAMED_TYPE); + } + + // Check that resolvers containing the authMode check block + const authStepSnippet = '## [Start] Authorization Steps. **'; + + expect(out.pipelineFunctions['Query.getPost.auth.1.req.vtl']).toContain(authStepSnippet); + expect(out.pipelineFunctions['Query.listPosts.auth.1.req.vtl']).toContain(authStepSnippet); + expect(out.pipelineFunctions['Mutation.createPost.auth.1.req.vtl']).toContain(authStepSnippet); + expect(out.pipelineFunctions['Mutation.createPost.auth.1.req.vtl']).toContain(authStepSnippet); + expect(out.pipelineFunctions['Mutation.updatePost.auth.1.res.vtl']).toContain(authStepSnippet); + expect(out.pipelineFunctions['Mutation.deletePost.auth.1.res.vtl']).toContain(authStepSnippet); + }); + + test(`Operation fields are getting the directive added, when type has the @auth only for allowed operations`, () => { + const schema = getSchema(ownerRestrictedPublicAuthDirective); + const transformer = getTransformer(withAuthModes(apiKeyDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + const queryType = getObjectType(schemaDoc, 'Query'); + const mutationType = getObjectType(schemaDoc, 'Mutation'); + const subscriptionType = getObjectType(schemaDoc, 'Subscription'); + + expectTwo(getField(queryType, 'getPost'), ['aws_cognito_user_pools', 'aws_api_key']); + expectTwo(getField(queryType, 'listPosts'), ['aws_cognito_user_pools', 'aws_api_key']); + + expectOne(getField(mutationType, 'createPost'), 'aws_cognito_user_pools'); + expectOne(getField(mutationType, 'updatePost'), 'aws_cognito_user_pools'); + expectOne(getField(mutationType, 'deletePost'), 'aws_cognito_user_pools'); + + const onCreate = getField(subscriptionType, 'onCreatePost'); + expectMultiple(onCreate, ['aws_subscribe', 'aws_api_key', 'aws_cognito_user_pools']); + expectMultiple(getField(subscriptionType, 'onUpdatePost'), ['aws_subscribe', 'aws_api_key', 'aws_cognito_user_pools']); + expectMultiple(getField(subscriptionType, 'onDeletePost'), ['aws_subscribe', 'aws_api_key', 'aws_cognito_user_pools']); + expect(onCreate.arguments).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + name: expect.objectContaining({ value: 'owner' }), + type: expect.objectContaining({ kind: 'NamedType' }), + }), + ]), + ); + }); + + test(`Field level @auth is propagated to type and the type related operations`, () => { + const schema = getSchemaWithFieldAuth(ownerRestrictedPublicAuthDirective); + const transformer = getTransformer(withAuthModes(apiKeyDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + const queryType = getObjectType(schemaDoc, 'Query'); + const mutationType = getObjectType(schemaDoc, 'Mutation'); + + expectTwo(getField(queryType, 'getPost'), ['aws_cognito_user_pools', 'aws_api_key']); + expectTwo(getField(queryType, 'listPosts'), ['aws_cognito_user_pools', 'aws_api_key']); + + expectOne(getField(mutationType, 'createPost'), 'aws_cognito_user_pools'); + expectOne(getField(mutationType, 'updatePost'), 'aws_cognito_user_pools'); + // since there is only one field allowed on delete it does not have access to delete + expectNone(getField(mutationType, 'deletePost')); + + // Check that resolvers containing the authMode check block + const authModeCheckSnippet = '## [Start] Field Authorization Steps. **'; + // resolvers to check is all other resolvers other than protected + expect(out.pipelineFunctions['Post.id.req.vtl']).toContain(authModeCheckSnippet); + expect(out.pipelineFunctions['Post.title.req.vtl']).toContain(authModeCheckSnippet); + expect(out.pipelineFunctions['Post.createdAt.req.vtl']).toContain(authModeCheckSnippet); + expect(out.pipelineFunctions['Post.updatedAt.req.vtl']).toContain(authModeCheckSnippet); + }); + + test(`'groups' @auth at field level is propagated to type and the type related operations`, () => { + const schema = getSchemaWithFieldAuth(groupsAuthDirective); + const transformer = getTransformer(withAuthModes(apiKeyDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + const queryType = getObjectType(schemaDoc, 'Query'); + const mutationType = getObjectType(schemaDoc, 'Mutation'); + + expectOne(getField(queryType, 'getPost'), 'aws_cognito_user_pools'); + expectOne(getField(queryType, 'listPosts'), 'aws_cognito_user_pools'); + + expectOne(getField(mutationType, 'createPost'), 'aws_cognito_user_pools'); + expectOne(getField(mutationType, 'updatePost'), 'aws_cognito_user_pools'); + // since there is only one field allowed on delete it does not have access to delete + expectNone(getField(mutationType, 'deletePost')); + + // Check that resolvers containing the authMode check block + const authModeCheckSnippet = '## [Start] Field Authorization Steps. **'; + + // resolvers to check is all other resolvers other than protected + expect(out.pipelineFunctions['Post.id.req.vtl']).toContain(authModeCheckSnippet); + expect(out.pipelineFunctions['Post.title.req.vtl']).toContain(authModeCheckSnippet); + expect(out.pipelineFunctions['Post.createdAt.req.vtl']).toContain(authModeCheckSnippet); + expect(out.pipelineFunctions['Post.updatedAt.req.vtl']).toContain(authModeCheckSnippet); + }); + + test(`'groups' @auth at field level is propagated to type and the type related operations, also default provider for read`, () => { + const schema = getSchemaWithTypeAndFieldAuth(groupsAuthDirective, groupsWithApiKeyAuthDirective); + const transformer = getTransformer(withAuthModes(apiKeyDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + const queryType = getObjectType(schemaDoc, 'Query'); + const mutationType = getObjectType(schemaDoc, 'Mutation'); + + expectTwo(getField(queryType, 'getPost'), ['aws_cognito_user_pools', 'aws_api_key']); + expectTwo(getField(queryType, 'listPosts'), ['aws_cognito_user_pools', 'aws_api_key']); + + expectOne(getField(mutationType, 'createPost'), 'aws_cognito_user_pools'); + expectOne(getField(mutationType, 'updatePost'), 'aws_cognito_user_pools'); + expectOne(getField(mutationType, 'deletePost'), 'aws_cognito_user_pools'); + + // Check that resolvers containing the authMode group check + const groupCheckSnippet = '#set( $staticGroupRoles = [{"claim":"cognito:groups","entity":"admin"}] )'; + + // resolvers to check is all other resolvers other than protected by the group rule + expect(out.pipelineFunctions['Post.id.req.vtl']).toContain(groupCheckSnippet); + expect(out.pipelineFunctions['Post.title.req.vtl']).toContain(groupCheckSnippet); + expect(out.pipelineFunctions['Post.createdAt.req.vtl']).toContain(groupCheckSnippet); + expect(out.pipelineFunctions['Post.updatedAt.req.vtl']).toContain(groupCheckSnippet); + }); + + test(`Nested types without @model not getting directives applied for iam, and no policy is generated`, () => { + const schema = getSchemaWithNonModelField(''); + const transformer = getTransformer(withAuthModes(iamDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + + const locationType = getObjectType(schemaDoc, 'Location'); + const addressType = getObjectType(schemaDoc, 'Address'); + + expect(locationType.directives.length).toBe(0); + expect(addressType.directives.length).toBe(0); + + const authPolicyIdx = Object.keys(out.rootStack.Resources).find(r => r.includes('AuthRolePolicy')); + + expect(out.rootStack.Resources[authPolicyIdx]).toBeUndefined(); + }); + + test(`Nested types without @model not getting directives applied for iam, but policy is generated`, () => { + const schema = getSchemaWithNonModelField(privateIAMDirective); + const transformer = getTransformer(withAuthModes(iamDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + + const locationType = getObjectType(schemaDoc, 'Location'); + const addressType = getObjectType(schemaDoc, 'Address'); + + expect(locationType.directives.length).toBe(0); + expect(addressType.directives.length).toBe(0); + + // find the key to account for the hash + const authPolicyIdx = Object.keys(out.rootStack.Resources).find(r => r.includes('AuthRolePolicy01')); + expect(out.rootStack.Resources[authPolicyIdx]).toBeDefined; + const authRolePolicy = out.rootStack.Resources[authPolicyIdx]; + + const locationPolicy = authRolePolicy.Properties.PolicyDocument.Statement[0].Resource.filter( + r => + r['Fn::Sub'] && + r['Fn::Sub'].length && + r['Fn::Sub'].length === 2 && + r['Fn::Sub'][1].typeName && + r['Fn::Sub'][1].typeName === 'Location', + ); + expect(locationPolicy).toHaveLength(1); + + const addressPolicy = authRolePolicy.Properties.PolicyDocument.Statement[0].Resource.filter( + r => + r['Fn::Sub'] && + r['Fn::Sub'].length && + r['Fn::Sub'].length === 2 && + r['Fn::Sub'][1].typeName && + r['Fn::Sub'][1].typeName === 'Address', + ); + expect(addressPolicy).toHaveLength(1); + }); + + test(`Recursive types with diff auth modes on parent @model types`, () => { + const schema = getRecursiveSchemaWithDiffModesOnParentType(ownerAuthDirective, privateIAMDirective); + const transformer = getTransformer(withAuthModes(userPoolsDefaultConfig, ['AWS_IAM'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + + const tagType = getObjectType(schemaDoc, 'Tag'); + const expectedDirectiveNames = [userPoolsDirectiveName, iamDirectiveName]; + + expectMultiple(tagType, expectedDirectiveNames); + }); + + test(`Recursive types without @model`, () => { + const schema = getSchemaWithRecursiveNonModelField(ownerRestrictedIAMPrivateAuthDirective); + const transformer = getTransformer(withAuthModes(userPoolsDefaultConfig, ['AWS_IAM'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + + const tagType = getObjectType(schemaDoc, 'Tag'); + const expectedDirectiveNames = [userPoolsDirectiveName, iamDirectiveName]; + + expectMultiple(tagType, expectedDirectiveNames); + }); + + test(`Nested types without @model getting directives applied (cognito default, api key additional)`, () => { + const schema = getSchemaWithNonModelField(privateAndPublicDirective); + const transformer = getTransformer(withAuthModes(userPoolsDefaultConfig, ['API_KEY'])); + + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + + const locationType = getObjectType(schemaDoc, 'Location'); + const addressType = getObjectType(schemaDoc, 'Address'); + const expectedDirectiveNames = [userPoolsDirectiveName, apiKeyDirectiveName]; + + if (expectedDirectiveNames && expectedDirectiveNames.length > 0) { + let expectedDireciveNameCount = 0; + + for (const expectedDirectiveName of expectedDirectiveNames) { + expect(locationType.directives.find(d => d.name.value === expectedDirectiveName)).toBeDefined(); + expectedDireciveNameCount++; + } + + expect(expectedDireciveNameCount).toEqual(locationType.directives.length); + + expectedDireciveNameCount = 0; + + for (const expectedDirectiveName of expectedDirectiveNames) { + expect(addressType.directives.find(d => d.name.value === expectedDirectiveName)).toBeDefined(); + expectedDireciveNameCount++; + } + + expect(expectedDireciveNameCount).toEqual(addressType.directives.length); + } + }); + + test(`ModelXConnection type is getting the directives added, when a field has @hasMany but one fo the types has no queries defined`, () => { + const validSchema = ` + type User @model + @auth(rules: [ + { allow: private, provider: iam, operations: [read] } + { allow: groups, groups: ["group"], operations: [read, update, delete] }, + ]) { + id: ID! + posts: [Post!] @hasMany(indexName: "byUser", fields: ["id"]) + } + type Post @model(queries: null) + @auth(rules: [ + { allow: private, provider: iam, operations: [read] }, + { allow: groups, groups: ["group"], operations: [read, update, delete] } + ]) { + id: ID! + postUserId: ID! @index(name: "byUser") + message: String + }`; + const transformer = getTransformer(withAuthModes(iamDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + const out = transformer.transform(validSchema); + const schemaDoc = parse(out.schema); + const queryType = getObjectType(schemaDoc, 'Query'); + const mutationType = getObjectType(schemaDoc, 'Mutation'); + + expectTwo(getField(queryType, 'getUser'), ['aws_iam', 'aws_cognito_user_pools']); + expectTwo(getField(queryType, 'listUsers'), ['aws_iam', 'aws_cognito_user_pools']); + + expectNone(getField(mutationType, 'createUser')); + expectOne(getField(mutationType, 'updateUser'), 'aws_cognito_user_pools'); + expectOne(getField(mutationType, 'deleteUser'), 'aws_cognito_user_pools'); + + const userType = getObjectType(schemaDoc, 'User'); + expectTwo(userType, ['aws_iam', 'aws_cognito_user_pools']); + expectNone(getField(userType, 'posts')); + + const modelPostConnectionType = getObjectType(schemaDoc, 'ModelPostConnection'); + expect(modelPostConnectionType).toBeDefined(); + expectTwo(modelPostConnectionType, ['aws_iam', 'aws_cognito_user_pools']); + }); + + test(`ModelXConnection type is getting the directives added, when a field has @connection but one of the types has no queries defined. Many to Many`, () => { + const schema = ` + type Post @model @auth(rules: [{ allow: owner }]) { + id: ID! + title: String! + editors: [PostEditor] @hasMany(indexName: "byPost", fields: ["id"]) + } + # Create a join model and disable queries as you don't need them + # and can query through Post.editors and User.posts + type PostEditor + @model(queries: null) + @auth(rules: [{ allow: owner }]) { + id: ID! + postID: ID! @index(name: "byPost", sortKeyFields: ["editorID"]) + editorID: ID! @index(name: "byEditor", sortKeyFields: ["postID"]) + post: Post! @belongsTo(fields: ["postID"]) + editor: User! @belongsTo(fields: ["editorID"]) + } + type User @model @auth(rules: [{ allow: owner }]) { + id: ID! + username: String! + posts: [PostEditor] @hasMany(indexName: "byEditor", fields: ["id"]) + }`; + + const transformer = getTransformer(withAuthModes(apiKeyDefaultConfig, ['AMAZON_COGNITO_USER_POOLS'])); + const out = transformer.transform(schema); + const schemaDoc = parse(out.schema); + + const modelPostEditorConnectionType = getObjectType(schemaDoc, 'ModelPostEditorConnection'); + expect(modelPostEditorConnectionType).toBeDefined(); + // since we have resolver level auth to deny providers the default is added here to ensure the access is granted if the default type is not applied on the parent + // therefore we just need to make sure that the access is at least granted on the schema level + expect(modelPostEditorConnectionType.directives.some(dir => dir.name.value === 'aws_cognito_user_pools')).toBe(true); + }); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/owner-auth.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/owner-auth.test.ts new file mode 100644 index 00000000000..db5c231707c --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/owner-auth.test.ts @@ -0,0 +1,230 @@ +import { parse } from 'graphql'; +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { ResourceConstants } from 'graphql-transformer-common'; +import { getField, getObjectType } from './test-helpers'; +import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; + +test('auth transformer validation happy case', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const validSchema = ` + type Post @model @auth(rules: [{allow: owner}]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.rootStack.Resources[ResourceConstants.RESOURCES.GraphQLAPILogicalID].Properties.AuthenticationType).toEqual( + 'AMAZON_COGNITO_USER_POOLS', + ); +}); + +test('ownerfield with subscriptions', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const validSchema = ` + type Post @model @auth(rules: [ + {allow: owner, ownerField: "postOwner"} + ]){ + id: ID! + title: String + postOwner: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + + // expect 'postOwner' as an argument for subscription operations + expect(out.schema).toContain('onCreatePost(postOwner: String)'); + expect(out.schema).toContain('onUpdatePost(postOwner: String)'); + expect(out.schema).toContain('onDeletePost(postOwner: String)'); + + // expect logic in the resolvers to check for postOwner args as an allowed owner + expect(out.pipelineFunctions['Subscription.onCreatePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity0 = $util.defaultIfNull($ctx.args.postOwner, null) )', + ); + expect(out.pipelineFunctions['Subscription.onUpdatePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity0 = $util.defaultIfNull($ctx.args.postOwner, null) )', + ); + expect(out.pipelineFunctions['Subscription.onDeletePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity0 = $util.defaultIfNull($ctx.args.postOwner, null) )', + ); +}); + +test('multiple owner rules with subscriptions', () => { + const validSchema = ` + type Post @model + @auth(rules: [ + { allow: owner }, + { allow: owner, ownerField: "editor", operations: [read, update] } + ]) + { + id: ID! + title: String + owner: String + editor: String + }`; + + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + + // expect 'owner' and 'editors' as arguments for subscription operations + expect(out.schema).toContain('onCreatePost(owner: String, editor: String)'); + expect(out.schema).toContain('onUpdatePost(owner: String, editor: String)'); + expect(out.schema).toContain('onDeletePost(owner: String, editor: String)'); + + // expect logic in the resolvers to check for owner args as an allowedOwner + expect(out.pipelineFunctions['Subscription.onCreatePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity0 = $util.defaultIfNull($ctx.args.owner, null) )', + ); + expect(out.pipelineFunctions['Subscription.onUpdatePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity0 = $util.defaultIfNull($ctx.args.owner, null) )', + ); + expect(out.pipelineFunctions['Subscription.onDeletePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity0 = $util.defaultIfNull($ctx.args.owner, null) )', + ); + + // expect logic in the resolvers to check for editor args as an allowedOwner + expect(out.pipelineFunctions['Subscription.onCreatePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity1 = $util.defaultIfNull($ctx.args.editor, null) )', + ); + expect(out.pipelineFunctions['Subscription.onUpdatePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity1 = $util.defaultIfNull($ctx.args.editor, null) )', + ); + expect(out.pipelineFunctions['Subscription.onDeletePost.auth.1.req.vtl']).toContain( + '#set( $ownerEntity1 = $util.defaultIfNull($ctx.args.editor, null) )', + ); +}); + +test('implicit owner fields get added to the type', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const validSchema = ` + type Post @model + @auth(rules: [ + {allow: owner, ownerField: "postOwner"} + { allow: owner, ownerField: "customOwner", identityClaim: "sub"} + ]) + { + id: ID! + title: String + } + `; + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + + const schema = parse(out.schema); + const postType = getObjectType(schema, 'Post'); + expect(postType).toBeDefined(); + + const postOwnerField = getField(postType, 'postOwner'); + expect(postOwnerField).toBeDefined(); + expect((postOwnerField as any).type.name.value).toEqual('String'); + + const customOwner = getField(postType, 'customOwner'); + expect(customOwner).toBeDefined(); + expect((customOwner as any).type.name.value).toEqual('String'); +}); + +test('implicit owner fields from field level auth get added to the type', () => { + const validSchema = ` + type Post @model + { + id: ID + title: String + protectedField: String @auth(rules: [ + {allow: owner, ownerField: "postOwner"} + { allow: owner, ownerField: "customOwner", identityClaim: "sub"} + ]) + }`; + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + const schema = parse(out.schema); + const postType = getObjectType(schema, 'Post'); + expect(postType).toBeDefined(); + + const postOwnerField = getField(postType, 'postOwner'); + expect(postOwnerField).toBeDefined(); + expect((postOwnerField as any).type.name.value).toEqual('String'); + + const customOwner = getField(postType, 'customOwner'); + expect(customOwner).toBeDefined(); + expect((customOwner as any).type.name.value).toEqual('String'); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/searchable-auth.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/searchable-auth.test.ts new file mode 100644 index 00000000000..ee6677bcf10 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/searchable-auth.test.ts @@ -0,0 +1,93 @@ +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { SearchableModelTransformer } from '@aws-amplify/graphql-searchable-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; + +test('auth logic is enabled on owner/static rules in es request', () => { + const validSchema = ` + type Comment @model + @searchable + @auth(rules: [ + { allow: owner } + { allow: groups, groups: ["writer"]} + ]) + { + id: ID! + content: String + } + `; + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new SearchableModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + // expect response resolver to contain auth logic for owner rule + expect(out).toBeDefined(); + expect(out.pipelineFunctions['Query.searchComments.auth.1.req.vtl']).toContain( + '"terms": [$util.defaultIfNull($ctx.identity.claims.get("username"), $util.defaultIfNull($ctx.identity.claims.get("cognito:username"), "___xamznone____"))],', + ); + // expect response resolver to contain auth logic for group rule + expect(out.pipelineFunctions['Query.searchComments.auth.1.req.vtl']).toContain( + '#set( $staticGroupRoles = [{"claim":"cognito:groups","entity":"writer"}] )', + ); +}); + +test('auth logic is enabled for iam/apiKey auth rules', () => { + const validSchema = ` + type Post @model + @searchable + @auth(rules: [ + { allow: public, provider: apiKey } # api key is allowed + { allow: private, provider: iam } # auth roles are allowed + ]) { + id: ID! + content: String + secret: String @auth(rules: [{ allow: private, provider: iam }]) # only auth role can do crud on this + } + `; + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'API_KEY', + apiKeyConfig: { + description: 'E2E Test API Key', + apiKeyExpirationDays: 300, + }, + }, + { + authenticationType: 'AWS_IAM', + }, + ], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new SearchableModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.schema).toContain('SearchablePostConnection @aws_api_key @aws_iam'); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/test-helpers.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/test-helpers.ts new file mode 100644 index 00000000000..7b92473311a --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/test-helpers.ts @@ -0,0 +1,10 @@ +import { ObjectTypeDefinitionNode, FieldDefinitionNode, DocumentNode, Kind } from 'graphql'; + +export const getObjectType = (doc: DocumentNode, type: string): ObjectTypeDefinitionNode | undefined => { + return doc.definitions.find(def => def.kind === Kind.OBJECT_TYPE_DEFINITION && def.name.value === type) as + | ObjectTypeDefinitionNode + | undefined; +}; +export const getField = (obj: ObjectTypeDefinitionNode, fieldName: string): FieldDefinitionNode | void => { + return obj.fields?.find(f => f.name.value === fieldName); +}; diff --git a/packages/amplify-graphql-auth-transformer/src/accesscontrol/acm.ts b/packages/amplify-graphql-auth-transformer/src/accesscontrol/acm.ts new file mode 100644 index 00000000000..77166997285 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/accesscontrol/acm.ts @@ -0,0 +1,193 @@ +import assert from 'assert'; + +type ACMConfig = { + resources: string[]; + operations: string[]; +}; + +type SetRoleInput = { + role: string; + operations: Array; + resource?: string; +}; + +type ValidateInput = { + role?: string; + resource?: string; + operations?: Array; +}; + +type ResourceOperationInput = { + operations: Array; + role?: string; + resource?: string; +}; + +/** + * Creates an access control matrix + * The following vectors are used + * - Roles + * - Resources + * - Operations + */ +export class AccessControlMatrix { + private roles: Array; + private operations: Array; + private resources: Array; + private matrix: Array>>; + + constructor(config: ACMConfig) { + this.operations = config.operations; + this.resources = config.resources; + this.matrix = new Array(); + this.roles = new Array(); + } + + public setRole(input: SetRoleInput): void { + const { role, resource, operations } = input; + this.validate({ resource, operations }); + let allowedVector: Array>; + if (!this.roles.includes(role)) { + allowedVector = this.getResourceOperationMatrix({ operations, resource }); + this.roles.push(input.role); + this.matrix.push(allowedVector); + assert(this.roles.length === this.matrix.length, 'Roles are not aligned with Roles added in Matrix'); + } else { + allowedVector = this.getResourceOperationMatrix({ operations, resource, role }); + const roleIndex = this.roles.indexOf(role); + this.matrix[roleIndex] = allowedVector; + } + } + + public hasRole(role: string): boolean { + return this.roles.includes(role); + } + + public getRoles(): Array { + return this.roles; + } + + public getResources(): Readonly> { + return this.resources; + } + + public isAllowed(role: string, resource: string, operation: string): boolean { + this.validate({ role, resource, operations: [operation] }); + const roleIndex = this.roles.indexOf(role); + const resourceIndex = this.resources.indexOf(resource); + const operationIndex = this.operations.indexOf(operation); + return this.matrix[roleIndex][resourceIndex][operationIndex]; + } + + public resetAccessForResource(resource: string): void { + this.validate({ resource }); + const resourceIndex = this.resources.indexOf(resource); + for (let i = 0; i < this.roles.length; i++) { + this.matrix[i][resourceIndex] = new Array(this.operations.length).fill(false); + } + } + + /** + * Given an operation returns the roles which have access to at least one resource + * If fullAccess is true then it returns roles which have operation access on all resources + * @param operation string + * @param fullAccess boolean + * @returns array of roles + */ + public getRolesPerOperation(operation: string, fullAccess: boolean = false): Array { + this.validate({ operations: [operation] }); + const operationIndex = this.operations.indexOf(operation); + const roles = new Array(); + for (let x = 0; x < this.roles.length; x++) { + let hasOperation: boolean = false; + if (fullAccess) { + hasOperation = this.resources.every((resource, idx) => { + return this.matrix[x][idx][operationIndex]; + }); + } else { + hasOperation = this.resources.some((resource, idx) => { + return this.matrix[x][idx][operationIndex]; + }); + } + if (hasOperation) roles.push(this.roles[x]); + } + return roles; + } + + /** + * @returns a map of role and their access + * this object can then be used in console.table() + */ + public getAcmPerRole(): Map { + const acmPerRole: Map = new Map(); + for (let i = 0; i < this.matrix.length; i++) { + let tableObj: any = {}; + for (let y = 0; y < this.matrix[i].length; y++) { + tableObj[this.resources[y]] = this.matrix[i][y].reduce((prev: any, resource: boolean, index: number) => { + prev[this.operations[index]] = resource; + return prev; + }, {}); + } + acmPerRole.set(this.roles[i], tableObj); + } + return acmPerRole; + } + + /** + * helpers + */ + private validate(input: ValidateInput) { + if (input.resource && !this.resources.includes(input.resource)) { + throw Error(`Resource: ${input.resource} is not configued in the ACM`); + } + if (input.role && !this.roles.includes(input.role)) { + throw Error(`Role: ${input.role} does not exist in ACM.`); + } + if (input.operations) { + input.operations.forEach(operation => { + if (this.operations.indexOf(operation) === -1) throw Error(`Operation: ${operation} does not exist in the ACM.`); + }); + } + } + + /** + * + * if singular resource is specified the operations are only applied on the resource + * a denied array for every other resource is returned in the matrix + * @param operations + * @param resource + * @returns a 2d matrix containg the access for each resource + */ + private getResourceOperationMatrix(input: ResourceOperationInput): Array> { + const { operations, resource, role } = input; + let fieldAllowVector: boolean[][] = []; + let operationList: boolean[] = this.getOperationList(operations); + if (role && resource) { + const roleIndex = this.roles.indexOf(role); + const resourceIndex = this.resources.indexOf(resource); + fieldAllowVector = this.matrix[roleIndex]; + fieldAllowVector[resourceIndex] = operationList; + return fieldAllowVector; + } + for (let i = 0; i < this.resources.length; i++) { + if (resource) { + if (this.resources.indexOf(resource) === i) { + fieldAllowVector.push(operationList); + } else { + fieldAllowVector.push(new Array(this.operations.length).fill(false)); + } + } else { + fieldAllowVector.push(operationList); + } + } + return fieldAllowVector; + } + + private getOperationList(operations: Array): Array { + let operationList: Array = new Array(); + for (let operation of this.operations) { + operationList.push(operations.includes(operation)); + } + return operationList; + } +} diff --git a/packages/amplify-graphql-auth-transformer/src/accesscontrol/index.ts b/packages/amplify-graphql-auth-transformer/src/accesscontrol/index.ts new file mode 100644 index 00000000000..e07fbd95541 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/accesscontrol/index.ts @@ -0,0 +1 @@ +export { AccessControlMatrix } from './acm'; diff --git a/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts b/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts new file mode 100644 index 00000000000..bd49ca098cd --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts @@ -0,0 +1,948 @@ +import { + DirectiveWrapper, + TransformerContractError, + TransformerAuthBase, + InvalidDirectiveError, + MappingTemplate, + IAM_AUTH_ROLE_PARAMETER, + IAM_UNAUTH_ROLE_PARAMETER, + TransformerResolver, +} from '@aws-amplify/graphql-transformer-core'; +import { + DataSourceProvider, + MutationFieldType, + QueryFieldType, + TransformerTransformSchemaStepContextProvider, + TransformerContextProvider, + TransformerResolverProvider, + TransformerSchemaVisitStepContextProvider, + TransformerAuthProvider, + TransformerBeforeStepContextProvider, +} from '@aws-amplify/graphql-transformer-interfaces'; +import { + AuthRule, + authDirectiveDefinition, + ConfiguredAuthProviders, + getConfiguredAuthProviders, + AuthTransformerConfig, + collectFieldNames, + DEFAULT_GROUP_CLAIM, + MODEL_OPERATIONS, + ModelOperation, + ensureAuthRuleDefaults, + DEFAULT_IDENTITY_CLAIM, + DEFAULT_GROUPS_FIELD, + DEFAULT_OWNER_FIELD, + getModelConfig, + validateFieldRules, + validateRules, + AuthProvider, + AUTH_PROVIDER_DIRECTIVE_MAP, + extendTypeWithDirectives, + RoleDefinition, + addDirectivesToOperation, + createPolicyDocumentForManagedPolicy, + getQueryFieldNames, + getMutationFieldNames, + addSubscriptionArguments, + fieldIsList, + getSubscriptionFieldNames, + addDirectivesToField, + getSearchableConfig, + getStackForField, + NONE_DS, +} from './utils'; +import { + DirectiveNode, + FieldDefinitionNode, + ObjectTypeDefinitionNode, + InterfaceTypeDefinitionNode, + Kind, + TypeDefinitionNode, +} from 'graphql'; +import { SubscriptionLevel, ModelDirectiveConfiguration } from '@aws-amplify/graphql-model-transformer'; +import { AccessControlMatrix } from './accesscontrol'; +import { getBaseType, makeDirective, makeField, makeNamedType, ResourceConstants } from 'graphql-transformer-common'; +import * as iam from '@aws-cdk/aws-iam'; +import * as cdk from '@aws-cdk/core'; +import { + generateAuthExpressionForCreate, + generateAuthExpressionForUpdate, + generateAuthRequestExpression, + geneateAuthExpressionForDelete, + generateAuthExpressionForField, + generateFieldAuthResponse, + generateAuthExpressionForQueries, + generateAuthExpressionForSubscriptions, +} from './resolvers'; +import { toUpper } from 'graphql-transformer-common'; + +// @ auth +// changing the schema +// - transformSchema +// adding resolver +// - generateResolver +// editing IAM policy +// - generateResolver (cdk) +// resolver mapping + +// resolver.ts for auth pipeline slots + +export class AuthTransformer extends TransformerAuthBase implements TransformerAuthProvider { + private config: AuthTransformerConfig; + private configuredAuthProviders: ConfiguredAuthProviders; + // access control + private roleMap: Map; + private authModelConfig: Map; + private authNonModelConfig: Map; + // model config + private modelDirectiveConfig: Map; + // schema generation + private seenNonModelTypes: Map>; + // iam policy generation + private generateIAMPolicyforUnauthRole: boolean; + private generateIAMPolicyforAuthRole: boolean; + private authPolicyResources = new Set(); + private unauthPolicyResources = new Set(); + + constructor(config: AuthTransformerConfig) { + super('amplify-auth-transformer', authDirectiveDefinition); + this.config = config; + this.modelDirectiveConfig = new Map(); + this.seenNonModelTypes = new Map(); + this.authModelConfig = new Map(); + this.roleMap = new Map(); + this.generateIAMPolicyforUnauthRole = false; + this.generateIAMPolicyforAuthRole = false; + this.authNonModelConfig = new Map(); + } + + before = (context: TransformerBeforeStepContextProvider): void => { + // if there was no auth config in the props we add the authConfig from the context + this.config.authConfig = this.config.authConfig || context.authConfig; + this.configuredAuthProviders = getConfiguredAuthProviders(this.config); + }; + + object = (def: ObjectTypeDefinitionNode, directive: DirectiveNode, context: TransformerSchemaVisitStepContextProvider): void => { + const modelDirective = def.directives?.find(dir => dir.name.value === 'model'); + if (!modelDirective) { + throw new TransformerContractError('Types annotated with @auth must also be annotated with @model.'); + } + const typeName = def.name.value; + const authDir = new DirectiveWrapper(directive); + const rules: AuthRule[] = authDir.getArguments<{ rules: Array }>({ rules: [] }).rules; + ensureAuthRuleDefaults(rules); + // validate rules + validateRules(rules, this.configuredAuthProviders); + // create access control for object + const acm = new AccessControlMatrix({ + operations: MODEL_OPERATIONS, + resources: collectFieldNames(def), + }); + // Check the rules to see if we should generate Auth/Unauth Policies + this.setAuthPolicyFlag(rules); + this.setUnauthPolicyFlag(rules); + // add object into policy + this.addTypeToResourceReferences(def.name.value, rules); + // turn rules into roles and add into acm and roleMap + this.convertRulesToRoles(acm, rules); + this.modelDirectiveConfig.set(typeName, getModelConfig(modelDirective, typeName, context.isProjectUsingDataStore())); + this.authModelConfig.set(typeName, acm); + }; + + field = ( + parent: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, + field: FieldDefinitionNode, + directive: DirectiveNode, + context: TransformerSchemaVisitStepContextProvider, + ): void => { + if (parent.kind === Kind.INTERFACE_TYPE_DEFINITION) { + throw new InvalidDirectiveError( + `The @auth directive cannot be placed on an interface's field. See ${parent.name.value}${field.name.value}`, + ); + } + const isParentTypeBuiltinType = + parent.name.value === context.output.getQueryTypeName() || + parent.name.value === context.output.getMutationTypeName() || + parent.name.value === context.output.getSubscriptionTypeName(); + + if (isParentTypeBuiltinType) { + console.warn( + `Be careful when using @auth directives on a field in a root type. @auth directives on field definitions use the source \ +object to perform authorization logic and the source will be an empty object for fields on root types. \ +Static group authorization should perform as expected.`, + ); + } + // context.api.host.resolver + // context.resolver -> resolver manager -> dynamodb, relation directives, searchable + // creates field resolver + + const modelDirective = parent.directives?.find(dir => dir.name.value === 'model'); + const typeName = parent.name.value; + const fieldName = field.name.value; + const authDir = new DirectiveWrapper(directive); + const rules: AuthRule[] = authDir.getArguments<{ rules: Array }>({ rules: [] }).rules; + ensureAuthRuleDefaults(rules); + validateFieldRules(rules, isParentTypeBuiltinType, modelDirective !== undefined, this.configuredAuthProviders); + + // regardless if a model directive is used we generate the policy for iam auth + this.setAuthPolicyFlag(rules); + this.setUnauthPolicyFlag(rules); + this.addFieldToResourceReferences(parent.name.value, field.name.value, rules); + + if (modelDirective) { + // auth on models + let acm: AccessControlMatrix; + // check if the parent is already in the model config if not add it + if (!this.modelDirectiveConfig.has(typeName)) { + this.modelDirectiveConfig.set(typeName, getModelConfig(modelDirective, typeName, context.isProjectUsingDataStore())); + acm = new AccessControlMatrix({ + operations: MODEL_OPERATIONS, + resources: collectFieldNames(parent), + }); + } else { + acm = this.authModelConfig.get(typeName) as AccessControlMatrix; + acm.resetAccessForResource(fieldName); + } + this.convertRulesToRoles(acm, rules, fieldName); + this.authModelConfig.set(typeName, acm); + } else { + // if @auth is used without @model only generate static group rules in the resolver + // since we only protect the field for non models we store the typeName + fieldName + // in the authNonModelTypes map + const staticRules = rules.filter((rule: AuthRule) => rule.allow !== 'owner' && !rule.groupsField); + const typeFieldName = `${typeName}:${fieldName}`; + const acm = new AccessControlMatrix({ + operations: ['read'], + resources: [typeFieldName], + }); + this.convertRulesToRoles(acm, staticRules, typeFieldName, ['read']); + this.authNonModelConfig.set(typeFieldName, acm); + } + }; + + transformSchema = (context: TransformerTransformSchemaStepContextProvider): void => { + const getOwnerFields = (acm: AccessControlMatrix) => { + return acm.getRoles().reduce((prev: string[], role: string) => { + if (this.roleMap.get(role)!.strategy === 'owner') prev.push(this.roleMap.get(role)!.entity!); + return prev; + }, []); + }; + for (let [modelName, acm] of this.authModelConfig) { + const def = context.output.getObject(modelName)!; + // collect ownerFields and them in the model + this.addFieldsToObject(context, modelName, getOwnerFields(acm)); + // Get the directives we need to add to the GraphQL nodes + const providers = this.getAuthProviders(acm.getRoles()); + const directives = this.getServiceDirectives(providers, providers.length === 0 ? this.shouldAddDefaultServiceDirective() : false); + if (directives.length > 0) { + extendTypeWithDirectives(context, modelName, directives); + } + this.protectSchemaOperations(context, def, acm); + this.propagateAuthDirectivesToNestedTypes(context, context.output.getObject(modelName)!, providers); + } + for (let [typeFieldName, acm] of this.authNonModelConfig) { + // protect the non model field + const [typeName, fieldName] = typeFieldName.split(':'); + const providers = this.getAuthProviders(acm.getRoles()); + const directives = this.getServiceDirectives(providers, false); + if (directives.length > 0) { + addDirectivesToField(context, typeName, fieldName, directives); + } + } + }; + + generateResolvers = (context: TransformerContextProvider): void => { + // generate iam policies + this.generateIAMPolicies(context); + // generate auth resolver code + for (let [modelName, acm] of this.authModelConfig) { + const indexKeyName = `${modelName}:indicies`; + const def = context.output.getObject(modelName)!; + const searchableDirective = def.directives.find(dir => dir.name.value === 'searchable'); + // queries + const queryFields = getQueryFieldNames(this.modelDirectiveConfig.get(modelName)!); + for (let query of queryFields.values()) { + switch (query.type) { + case QueryFieldType.GET: + this.protectGetResolver(context, def, query.typeName, query.fieldName, acm); + break; + case QueryFieldType.LIST: + this.protectListResolver(context, def, query.typeName, query.fieldName, acm); + break; + case QueryFieldType.SYNC: + this.protectSyncResolver(context, def, query.typeName, query.fieldName, acm); + break; + default: + throw new TransformerContractError('Unkown query field type'); + } + } + // protect additional query fields if they exist + if (context.metadata.has(indexKeyName)) { + for (let index of context.metadata.get>(indexKeyName)!.values()) { + this.protectListResolver(context, def, def.name.value, index, acm); + } + } + // check if searchable if included in the typeName + if (searchableDirective) { + // protect search query + const config = getSearchableConfig(searchableDirective, modelName); + this.protectSearchResolver(context, def, context.output.getQueryTypeName()!, config.queries.search, acm); + } + // get fields specified in the schema + // if there is a role that does not have read access on the field then we create a field resolver + const readRoles = acm.getRolesPerOperation('read'); + const modelFields = def.fields?.filter(f => acm.getResources().includes(f.name.value)) ?? []; + for (let field of modelFields) { + const allowedRoles = readRoles.filter(r => acm.isAllowed(r, field.name.value, 'read')); + if (allowedRoles.length < readRoles.length) { + if (field.type.kind === Kind.NON_NULL_TYPE) { + throw new InvalidDirectiveError(`\nPer-field auth on the required field ${field.name.value} is not supported with subscriptions. + Either make the field optional, set auth on the object and not the field, or disable subscriptions for the object (setting level to off or public)\n`); + } + this.protectFieldResolver(context, def, modelName, field.name.value, allowedRoles); + } + } + const mutationFields = getMutationFieldNames(this.modelDirectiveConfig.get(modelName)!); + for (let mutation of mutationFields.values()) { + switch (mutation.type) { + case MutationFieldType.CREATE: + this.protectCreateResolver(context, def, mutation.typeName, mutation.fieldName, acm); + break; + case MutationFieldType.UPDATE: + this.protectUpdateResolver(context, def, mutation.typeName, mutation.fieldName, acm); + break; + case MutationFieldType.DELETE: + this.protectDeleteResolver(context, def, mutation.typeName, mutation.fieldName, acm); + break; + default: + throw new TransformerContractError('Unkown Mutation field type'); + } + } + + const subscriptionFieldNames = getSubscriptionFieldNames(this.modelDirectiveConfig.get(modelName)!); + const subscriptionRoles = acm + .getRolesPerOperation('read') + .map(role => this.roleMap.get(role)!) + // for subscriptions we only use static rules or owner rule where the field is not a list + .filter(roleDef => (roleDef.strategy === 'owner' && !fieldIsList(def.fields ?? [], roleDef.entity!)) || roleDef.static); + for (let subscription of subscriptionFieldNames) { + this.protectSubscriptionResolver(context, subscription.typeName, subscription.fieldName, subscriptionRoles); + } + } + + for (let [typeFieldName, acm] of this.authNonModelConfig) { + // field resolvers + const [typeName, fieldName] = typeFieldName.split(':'); + const def = context.output.getObject(typeName); + this.protectFieldResolver(context, def, typeName, fieldName, acm.getRoles()); + } + }; + + protectSchemaOperations = ( + ctx: TransformerTransformSchemaStepContextProvider, + def: ObjectTypeDefinitionNode, + acm: AccessControlMatrix, + ): void => { + const modelConfig = this.modelDirectiveConfig.get(def.name.value)!; + const indexKeyName = `${def.name.value}:indicies`; + const searchableDirective = def.directives.find(dir => dir.name.value === 'searchable'); + const addServiceDirective = (typeName: string, operation: ModelOperation, operationName: string | null = null) => { + if (operationName) { + const includeDefault = this.doesTypeHaveRulesForOperation(acm, operation); + const providers = this.getAuthProviders(acm.getRolesPerOperation(operation, operation === 'delete')); + const operationDirectives = this.getServiceDirectives(providers, includeDefault); + if (operationDirectives.length > 0) { + addDirectivesToOperation(ctx, typeName, operationName, operationDirectives); + } + this.addOperationToResourceReferences(typeName, operationName, acm.getRoles()); + } + }; + // default model operations TODO: protect sync queries once supported + addServiceDirective(ctx.output.getQueryTypeName()!, 'read', modelConfig?.queries?.get); + addServiceDirective(ctx.output.getQueryTypeName()!, 'read', modelConfig?.queries?.list); + addServiceDirective(ctx.output.getMutationTypeName()!, 'create', modelConfig?.mutations?.create); + addServiceDirective(ctx.output.getMutationTypeName()!, 'update', modelConfig?.mutations?.update); + addServiceDirective(ctx.output.getMutationTypeName()!, 'delete', modelConfig?.mutations?.delete); + // @index queries + if (ctx.metadata.has(indexKeyName)) { + for (let index of ctx.metadata.get>(indexKeyName)!.values()) { + addServiceDirective(ctx.output.getQueryTypeName(), 'read', index); + } + } + // @searchable + if (searchableDirective) { + const config = getSearchableConfig(searchableDirective, def.name.value); + addServiceDirective(ctx.output.getQueryTypeName(), 'read', config.queries.search); + } + + const subscriptions = modelConfig?.subscriptions; + if (subscriptions.level === SubscriptionLevel.on) { + const subscriptionArguments = acm + .getRolesPerOperation('read') + .map(role => this.roleMap.get(role)!) + .filter(roleDef => roleDef.strategy === 'owner' && !fieldIsList(def.fields ?? [], roleDef.entity!)); + if (subscriptions.onCreate && modelConfig?.mutations?.create) { + for (let onCreateSub of subscriptions.onCreate) { + addServiceDirective(ctx.output.getSubscriptionTypeName()!, 'read', onCreateSub); + addSubscriptionArguments(ctx, onCreateSub, subscriptionArguments); + } + } + if (subscriptions.onUpdate && modelConfig?.mutations?.update) { + for (let onUpdateSub of subscriptions.onUpdate) { + addServiceDirective(ctx.output.getSubscriptionTypeName()!, 'read', onUpdateSub); + addSubscriptionArguments(ctx, onUpdateSub, subscriptionArguments); + } + } + if (subscriptions.onDelete && modelConfig?.mutations?.delete) { + for (let onDeleteSub of subscriptions.onDelete) { + addServiceDirective(ctx.output.getSubscriptionTypeName()!, 'read', onDeleteSub); + addSubscriptionArguments(ctx, onDeleteSub, subscriptionArguments); + } + } + } + }; + + protectGetResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + acm: AccessControlMatrix, + ): void => { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const roleDefinitions = acm.getRolesPerOperation('read').map(r => this.roleMap.get(r)!); + const authExpression = generateAuthExpressionForQueries(this.configuredAuthProviders, roleDefinitions, def.fields ?? []); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + ); + }; + protectListResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + acm: AccessControlMatrix, + ): void => { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const roleDefinitions = acm.getRolesPerOperation('read').map(r => this.roleMap.get(r)!); + const authExpression = generateAuthExpressionForQueries(this.configuredAuthProviders, roleDefinitions, def.fields ?? []); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + ); + }; + protectSyncResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + acm: AccessControlMatrix, + ): void => { + if (ctx.isProjectUsingDataStore()) { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const roleDefinitions = acm.getRolesPerOperation('read').map(r => this.roleMap.get(r)!); + const authExpression = generateAuthExpressionForQueries(this.configuredAuthProviders, roleDefinitions, def.fields ?? []); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + ); + } + }; + protectSearchResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + acm: AccessControlMatrix, + ): void => { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const roleDefinitions = acm.getRolesPerOperation('read').map(r => this.roleMap.get(r)!); + const authExpression = generateAuthExpressionForQueries(this.configuredAuthProviders, roleDefinitions, def.fields ?? [], 'opensearch'); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + ); + }; + /* + Field Resovler can protect the following + - model fields + - relational fields (hasOne, hasMany, belongsTo) + - fields on an operation (query/mutation) + - protection on predictions/function/no directive + Order of precendence + - resolver in api host (ex. @function, @predictions) + - resolver in resolver manager (ex. @hasOne, @hasMany @belongsTo) + - no resolver creates a blank non-pipeline resolver will return the source field + */ + protectFieldResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + roles: Array, + ): void => { + const roleDefinitions = roles.map(r => this.roleMap.get(r)!); + const hasModelDirective = def.directives.some(dir => dir.name.value === 'model'); + const stack = getStackForField(ctx, def, fieldName, hasModelDirective); + if (ctx.api.host.hasResolver(typeName, fieldName)) { + // TODO: move pipeline resolvers created in the api host to the resolver manager + const fieldResolver = ctx.api.host.getResolver(typeName, fieldName) as any; + const fieldAuthExpression = generateAuthExpressionForField(this.configuredAuthProviders, roleDefinitions, []); + if (!ctx.api.host.hasDataSource(NONE_DS)) { + ctx.api.host.addNoneDataSource(NONE_DS); + } + const authFunction = ctx.api.host.addAppSyncFunction( + `${toUpper(typeName)}${toUpper(fieldName)}AuthFN`, + MappingTemplate.s3MappingTemplateFromString(fieldAuthExpression, `${typeName}.${fieldName}.auth.req.vtl`), + MappingTemplate.inlineTemplateFromString('$util.toJson({})'), + NONE_DS, + stack, + ); + (fieldResolver.pipelineConfig.functions as string[]).unshift(authFunction.functionId); + } else if (ctx.resolvers.hasResolver(typeName, fieldName)) { + // if there a resolver in the resolver manager we can append to the auth slot + const fieldResolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const authExpression = generateAuthExpressionForQueries(this.configuredAuthProviders, roleDefinitions, def.fields ?? []); + fieldResolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + ); + } else { + const fieldAuthExpression = generateAuthExpressionForField(this.configuredAuthProviders, roleDefinitions, def.fields ?? []); + const subsEnabled = hasModelDirective ? this.modelDirectiveConfig.get(typeName)!.subscriptions.level === 'on' : false; + const fieldResponse = generateFieldAuthResponse('Mutation', fieldName, subsEnabled); + const resolver = ctx.resolvers.addResolver( + typeName, + fieldName, + new TransformerResolver( + typeName, + fieldName, + MappingTemplate.s3MappingTemplateFromString(fieldAuthExpression, `${typeName}.${fieldName}.req.vtl`), + MappingTemplate.s3MappingTemplateFromString(fieldResponse, `${typeName}.${fieldName}.res.vtl`), + ['init'], + ['finish'], + ), + ); + resolver.mapToStack(stack); + } + }; + protectCreateResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + acm: AccessControlMatrix, + ): void => { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const fields = acm.getResources(); + const createRoles = acm.getRolesPerOperation('create').map(role => { + const allowedFields = fields.filter(resource => acm.isAllowed(role, resource, 'create')); + const roleDefinition = this.roleMap.get(role)!; + roleDefinition.allowedFields = allowedFields.length === fields.length ? [] : allowedFields; + return roleDefinition; + }); + const authExpression = generateAuthExpressionForCreate(this.configuredAuthProviders, createRoles, def.fields ?? []); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + ); + }; + protectUpdateResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + acm: AccessControlMatrix, + ): void => { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const fields = acm.getResources(); + const updateDeleteRoles = [...new Set([...acm.getRolesPerOperation('update'), ...acm.getRolesPerOperation('delete')])]; + // protect fields to be updated and fields that can't be set to null (partial delete on fields) + const totalRoles = updateDeleteRoles.map(role => { + const allowedFields = fields.filter(resource => acm.isAllowed(role, resource, 'update')); + const nullAllowedFileds = fields.filter(resource => acm.isAllowed(role, resource, 'delete')); + const roleDefinition = this.roleMap.get(role)!; + roleDefinition.allowedFields = allowedFields.length === fields.length ? [] : allowedFields; + roleDefinition.nullAllowedFields = nullAllowedFileds.length === fields.length ? [] : nullAllowedFileds; + return roleDefinition; + }); + const datasource = ctx.api.host.getDataSource(`${def.name.value}Table`) as DataSourceProvider; + const requestExpression = generateAuthRequestExpression(); + const authExpression = generateAuthExpressionForUpdate(this.configuredAuthProviders, totalRoles, def.fields ?? []); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), + datasource, + ); + }; + + protectDeleteResolver = ( + ctx: TransformerContextProvider, + def: ObjectTypeDefinitionNode, + typeName: string, + fieldName: string, + acm: AccessControlMatrix, + ): void => { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + // only roles with full delete on every field can delete + const deleteRoles = acm.getRolesPerOperation('delete', true).map(role => this.roleMap.get(role)!); + const datasource = ctx.api.host.getDataSource(`${def.name.value}Table`) as DataSourceProvider; + const requestExpression = generateAuthRequestExpression(); + const authExpression = geneateAuthExpressionForDelete(this.configuredAuthProviders, deleteRoles, def.fields ?? []); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(requestExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.res.vtl`), + datasource, + ); + }; + + protectSubscriptionResolver = ( + ctx: TransformerContextProvider, + typeName: string, + fieldName: string, + subscriptionRoles: Array, + ): void => { + const resolver = ctx.resolvers.getResolver(typeName, fieldName) as TransformerResolverProvider; + const authExpression = generateAuthExpressionForSubscriptions(this.configuredAuthProviders, subscriptionRoles); + resolver.addToSlot( + 'auth', + MappingTemplate.s3MappingTemplateFromString(authExpression, `${typeName}.${fieldName}.{slotName}.{slotIndex}.req.vtl`), + ); + }; + + /* + Role Helpers + */ + private convertRulesToRoles(acm: AccessControlMatrix, authRules: AuthRule[], field?: string, overideOperations?: ModelOperation[]) { + for (let rule of authRules) { + let operations: ModelOperation[] = overideOperations ? overideOperations : rule.operations || MODEL_OPERATIONS; + if (rule.groups && !rule.groupsField) { + rule.groups.forEach(group => { + const groupClaim = rule.groupClaim || DEFAULT_GROUP_CLAIM; + const roleName = `${rule.provider}:staticGroup:${group}:${groupClaim}`; + if (!(roleName in this.roleMap)) { + this.roleMap.set(roleName, { + provider: rule.provider!, + strategy: rule.allow, + static: true, + claim: groupClaim, + entity: group, + }); + } + acm.setRole({ role: roleName, resource: field, operations }); + }); + } else { + let roleName: string; + let roleDefinition: RoleDefinition; + switch (rule.provider) { + case 'apiKey': + roleName = 'apiKey:public'; + roleDefinition = { provider: rule.provider, strategy: rule.allow, static: true }; + break; + case 'iam': + roleName = `iam:${rule.allow}`; + roleDefinition = { + provider: rule.provider, + strategy: rule.allow, + static: true, + claim: rule.allow === 'private' ? 'authRole' : 'unauthRole', + }; + break; + case 'oidc': + case 'userPools': + if (rule.allow === 'groups') { + const groupClaim = rule.groupClaim || DEFAULT_GROUP_CLAIM; + const groupsField = rule.groupsField || DEFAULT_GROUPS_FIELD; + roleName = `${rule.provider}:dynamicGroup:${groupsField}:${groupClaim}`; + roleDefinition = { + provider: rule.provider, + strategy: rule.allow, + static: false, + claim: groupClaim, + entity: groupsField, + }; + } else if (rule.allow === 'owner') { + const ownerField = rule.ownerField || DEFAULT_OWNER_FIELD; + const ownerClaim = rule.identityClaim || DEFAULT_IDENTITY_CLAIM; + roleName = `${rule.provider}:owner:${ownerField}:${ownerClaim}`; + roleDefinition = { + provider: rule.provider, + strategy: rule.allow, + static: false, + claim: ownerClaim, + entity: ownerField, + }; + } else if (rule.allow === 'private') { + roleName = `${rule.provider}:${rule.allow}`; + roleDefinition = { + provider: rule.provider, + strategy: rule.allow, + static: true, + }; + } else { + throw new TransformerContractError(`Could not create a role from ${JSON.stringify(rule)}`); + } + break; + default: + throw new TransformerContractError(`Could not create a role from ${JSON.stringify(rule)}`); + } + if (!(roleName in this.roleMap)) { + this.roleMap.set(roleName, roleDefinition); + } + acm.setRole({ role: roleName, resource: field, operations }); + } + } + } + + private doesTypeHaveRulesForOperation(acm: AccessControlMatrix, operation: ModelOperation) { + const rolesHasDefaultProvider = (roles: Array) => { + return roles.some(r => this.roleMap.get(r)!.provider! === this.configuredAuthProviders.default); + }; + const roles = acm.getRolesPerOperation(operation, operation === 'delete'); + return rolesHasDefaultProvider(roles) || (roles.length === 0 && this.shouldAddDefaultServiceDirective()); + } + private getAuthProviders(roles: Array): Array { + const providers: Set = new Set(); + // get the roles created for type + for (let role of roles) { + providers.add(this.roleMap.get(role)!.provider); + } + if (this.configuredAuthProviders.hasAdminUIEnabled) { + providers.add('iam'); + } + return Array.from(providers); + } + + /* + Schema Generation Helpers + */ + private addFieldsToObject(ctx: TransformerTransformSchemaStepContextProvider, modelName: string, ownerFields: Array) { + const modelObject = ctx.output.getObject(modelName)!; + const existingFields = collectFieldNames(modelObject); + const ownerFieldsToAdd = ownerFields.filter(field => !existingFields.includes(field)); + for (let ownerField of ownerFieldsToAdd) { + (modelObject as any).fields.push(makeField(ownerField, [], makeNamedType('String'))); + } + ctx.output.putType(modelObject); + } + private propagateAuthDirectivesToNestedTypes( + ctx: TransformerTransformSchemaStepContextProvider, + def: ObjectTypeDefinitionNode, + providers: Array, + ) { + const nonModelTypePredicate = (fieldType: TypeDefinitionNode): TypeDefinitionNode | undefined => { + if (fieldType) { + if (fieldType.kind !== 'ObjectTypeDefinition') { + return undefined; + } + const typeModel = fieldType.directives!.find(dir => dir.name.value === 'model'); + return typeModel !== undefined ? undefined : fieldType; + } + return fieldType; + }; + const nonModelFieldTypes = def + .fields!.map(f => ctx.output.getType(getBaseType(f.type)) as TypeDefinitionNode) + .filter(nonModelTypePredicate); + for (const nonModelFieldType of nonModelFieldTypes) { + const nonModelName = nonModelFieldType.name.value; + const hasSeenType = this.seenNonModelTypes.has(nonModelFieldType.name.value); + let directives = this.getServiceDirectives(providers, hasSeenType); + if (!hasSeenType) { + this.seenNonModelTypes.set(nonModelName, new Set([...directives.map(dir => dir.name.value)])); + // since we haven't seen this type before we add it to the iam policy resource sets + const hasIAM = directives.some(dir => dir.name.value === 'aws_iam') || this.configuredAuthProviders.default === 'iam'; + if (hasIAM) { + this.unauthPolicyResources.add(`${nonModelFieldType.name.value}/null`); + this.authPolicyResources.add(`${nonModelFieldType.name.value}/null`); + } + } else { + const currentDirectives = this.seenNonModelTypes.get(nonModelName)!; + directives = directives.filter(dir => !currentDirectives.has(dir.name.value)); + this.seenNonModelTypes.set(nonModelName, new Set([...directives.map(dir => dir.name.value), ...currentDirectives])); + } + // we continue to check the nested types if we find that directives list is not empty or if haven't seen the type before + if (directives.length > 0 || !hasSeenType) { + extendTypeWithDirectives(ctx, nonModelFieldType.name.value, directives); + this.propagateAuthDirectivesToNestedTypes(ctx, nonModelFieldType, providers); + } + } + } + + private getServiceDirectives(providers: Readonly>, addDefaultIfNeeded: boolean = true): Array { + if (providers.length === 0) { + return []; + } + const directives: Array = new Array(); + /* + We only add a service directive if it's not the default or + it's the default but there are other rules under different providers. + For fields we don't we don't add the default since it would open up access. + */ + const addDirectiveIfNeeded = (provider: AuthProvider, directiveName: string): void => { + if ( + (this.configuredAuthProviders.default !== provider && providers.some(p => p === provider)) || + (this.configuredAuthProviders.default === provider && providers.some(p => p !== provider && addDefaultIfNeeded === true)) + ) { + directives.push(makeDirective(directiveName, [])); + } + }; + + for (let [authProvider, directiveName] of AUTH_PROVIDER_DIRECTIVE_MAP) { + addDirectiveIfNeeded(authProvider, directiveName); + } + /* + If we have any rules for the default provider AND those with other providers, + we add the default provider directive, regardless of the addDefaultDirective value + + For example if we have this rule and the default is API_KEY + @auth(rules: [{ allow: owner }, { allow: public, operations: [read] }]) + + Then we need to add @aws_api_key on the queries along with @aws_cognito_user_pools, but we + cannot add @aws_api_key to other operations since their is no rule granted access to it + */ + if ( + providers.some(p => p === this.configuredAuthProviders.default) && + providers.some(p => p !== this.configuredAuthProviders.default) && + !directives.some(d => d.name.value === AUTH_PROVIDER_DIRECTIVE_MAP.get(this.configuredAuthProviders.default)) + ) { + directives.push(makeDirective(AUTH_PROVIDER_DIRECTIVE_MAP.get(this.configuredAuthProviders.default) as string, [])); + } + return directives; + } + /** + * When AdminUI is enabled, all the types and operations get IAM auth. If the default auth mode is + * not IAM all the fields will need to have the default auth mode directive to ensure both IAM and deault + * auth modes are allowed to access + * default auth provider needs to be added if AdminUI is enabled and default auth type is not IAM + * @returns boolean + */ + private shouldAddDefaultServiceDirective(): boolean { + return this.configuredAuthProviders.hasAdminUIEnabled && this.config.authConfig.defaultAuthentication.authenticationType !== 'AWS_IAM'; + } + /* + IAM Helpers + */ + private generateIAMPolicies(ctx: TransformerContextProvider) { + // iam + if (this.generateIAMPolicyforAuthRole) { + // Sanity check to make sure we're not generating invalid policies, where no resources are defined. + if (this.authPolicyResources.size === 0) { + // When AdminUI is enabled, IAM auth is added but it does not need any policies to be generated + if (!this.configuredAuthProviders.hasAdminUIEnabled) { + throw new TransformerContractError('AuthRole policies should be generated, but no resources were added.'); + } + } else { + const authRoleParameter = (ctx.stackManager.getParameter(IAM_AUTH_ROLE_PARAMETER) as cdk.CfnParameter).valueAsString; + const authPolicyDocuments = createPolicyDocumentForManagedPolicy(this.authPolicyResources); + const rootStack = ctx.stackManager.rootStack; + for (let i = 0; i < authPolicyDocuments.length; i++) { + const paddedIndex = `${i + 1}`.padStart(2, '0'); + const resourceName = `${ResourceConstants.RESOURCES.AuthRolePolicy}${paddedIndex}`; + new iam.ManagedPolicy(rootStack, resourceName, { + document: iam.PolicyDocument.fromJson(authPolicyDocuments[i]), + // we need to add the arn path as this is something cdk is looking for when using imported roles in policies + roles: [ + iam.Role.fromRoleArn( + rootStack, + 'auth-role-name', + `arn:aws:iam::${cdk.Stack.of(rootStack).account}:role/${authRoleParameter}`, + ), + ], + }); + } + } + } + if (this.generateIAMPolicyforUnauthRole) { + // Sanity check to make sure we're not generating invalid policies, where no resources are defined. + if (this.unauthPolicyResources.size === 0) { + throw new TransformerContractError('UnauthRole policies should be generated, but no resources were added'); + } + const unauthRoleParameter = (ctx.stackManager.getParameter(IAM_UNAUTH_ROLE_PARAMETER) as cdk.CfnParameter).valueAsString; + const unauthPolicyDocuments = createPolicyDocumentForManagedPolicy(this.unauthPolicyResources); + const rootStack = ctx.stackManager.rootStack; + for (let i = 0; i < unauthPolicyDocuments.length; i++) { + const paddedIndex = `${i + 1}`.padStart(2, '0'); + const resourceName = `${ResourceConstants.RESOURCES.UnauthRolePolicy}${paddedIndex}`; + new iam.ManagedPolicy(ctx.stackManager.rootStack, resourceName, { + document: iam.PolicyDocument.fromJson(unauthPolicyDocuments[i]), + roles: [ + iam.Role.fromRoleArn( + rootStack, + 'unauth-role-name', + `arn:aws:iam::${cdk.Stack.of(rootStack).account}:role/${unauthRoleParameter}`, + ), + ], + }); + } + } + } + private setAuthPolicyFlag(rules: AuthRule[]): void { + if (rules.length === 0 || this.generateIAMPolicyforAuthRole === true) { + return; + } + for (const rule of rules) { + if ((rule.allow === 'private' || rule.allow === 'public') && rule.provider === 'iam') { + this.generateIAMPolicyforAuthRole = true; + return; + } + } + } + + private setUnauthPolicyFlag(rules: AuthRule[]): void { + if (rules.length === 0 || this.generateIAMPolicyforUnauthRole === true) { + return; + } + for (const rule of rules) { + if (rule.allow === 'public' && rule.provider === 'iam') { + this.generateIAMPolicyforUnauthRole = true; + return; + } + } + } + + private addOperationToResourceReferences(operationName: string, fieldName: string, roles: Array) { + const iamPublicRolesExist = roles.some(r => this.roleMap.get(r)!.provider === 'iam' && this.roleMap.get(r)!.strategy === 'public'); + const iamPrivateRolesExist = roles.some(r => this.roleMap.get(r)!.provider === 'iam' && this.roleMap.get(r)!.strategy === 'private'); + + if (iamPublicRolesExist) { + this.unauthPolicyResources.add(`${operationName}/${fieldName}`); + this.authPolicyResources.add(`${operationName}/${fieldName}`); + } + if (iamPrivateRolesExist) { + this.authPolicyResources.add(`${operationName}/${fieldName}`); + } + } + + /** + * TODO: Change Resource Ref Object/Field Functions to work with roles + */ + private addTypeToResourceReferences(typeName: string, rules: AuthRule[]): void { + const iamPublicRulesExist = rules.some(r => r.allow === 'public' && r.provider === 'iam' && r.generateIAMPolicy); + const iamPrivateRulesExist = rules.some(r => r.allow === 'private' && r.provider === 'iam' && r.generateIAMPolicy); + + if (iamPublicRulesExist) { + this.unauthPolicyResources.add(`${typeName}/null`); + this.authPolicyResources.add(`${typeName}/null`); + } + if (iamPrivateRulesExist) { + this.authPolicyResources.add(`${typeName}/null`); + } + } + + private addFieldToResourceReferences(typeName: string, fieldName: string, rules: AuthRule[]): void { + const iamPublicRulesExist = rules.some(r => r.allow === 'public' && r.provider === 'iam' && r.generateIAMPolicy); + const iamPrivateRulesExist = rules.some(r => r.allow === 'private' && r.provider === 'iam' && r.generateIAMPolicy); + + if (iamPublicRulesExist) { + this.unauthPolicyResources.add(`${typeName}/${fieldName}`); + this.authPolicyResources.add(`${typeName}/${fieldName}`); + } + if (iamPrivateRulesExist) { + this.authPolicyResources.add(`${typeName}/${fieldName}`); + } + } +} diff --git a/packages/amplify-graphql-auth-transformer/src/index.ts b/packages/amplify-graphql-auth-transformer/src/index.ts new file mode 100644 index 00000000000..5382eacf29f --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/index.ts @@ -0,0 +1,4 @@ +export * from './graphql-auth-transformer'; +export * from './utils/constants'; +export * from './utils/definitions'; +export { AccessControlMatrix } from './accesscontrol'; diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/field.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/field.ts new file mode 100644 index 00000000000..e5ec9ffe460 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/field.ts @@ -0,0 +1,136 @@ +import { OPERATION_KEY } from '@aws-amplify/graphql-model-transformer'; +import { FieldDefinitionNode } from 'graphql'; +import { + Expression, + iff, + not, + ref, + equals, + str, + compoundExpression, + printBlock, + toJson, + set, + methodCall, + nul, + ifElse, + bool, + raw, + forEach, +} from 'graphql-mapping-template'; +import { + RoleDefinition, + splitRoles, + COGNITO_AUTH_TYPE, + OIDC_AUTH_TYPE, + ConfiguredAuthProviders, + fieldIsList, + IS_AUTHORIZED_FLAG, +} from '../utils'; +import { getOwnerClaim, generateStaticRoleExpression, apiKeyExpression, iamExpression, emptyPayload } from './helpers'; + +// Field Read VTL Functions +const generateDynamicAuthReadExpression = (roles: Array, fields: ReadonlyArray) => { + const ownerExpressions = new Array(); + const dynamicGroupExpressions = new Array(); + roles.forEach((role, idx) => { + const entityIsList = fieldIsList(fields, role.entity!); + if (role.strategy === 'owner') { + ownerExpressions.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref(`ownerEntity${idx}`), methodCall(ref('util.defaultIfNull'), ref(`ctx.source.${role.entity!}`), nul())), + set(ref(`ownerClaim${idx}`), getOwnerClaim(role.claim!)), + ...(entityIsList + ? [ + forEach(ref('allowedOwner'), ref(`ownerEntity${idx}`), [ + iff( + equals(ref('allowedOwner'), ref(`ownerClaim${idx}`)), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw('#break')]), + ), + ]), + ] + : [iff(equals(ref(`ownerEntity${idx}`), ref(`ownerClaim${idx}`)), set(ref(IS_AUTHORIZED_FLAG), bool(true)))]), + ]), + ), + ); + } + if (role.strategy === 'groups') { + dynamicGroupExpressions.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref(`groupEntity${idx}`), methodCall(ref('util.defaultIfNull'), ref(`ctx.source.${role.entity!}`), nul())), + set(ref(`groupClaim${idx}`), getOwnerClaim(role.claim!)), + forEach(ref('userGroup'), ref('dynamicGroupClaim'), [ + iff( + entityIsList + ? methodCall(ref(`groupEntity${idx}.contains`), ref('userGroup')) + : equals(ref(`groupEntity${idx}`), ref('userGroup')), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw('#break')]), + ), + ]), + ]), + ), + ); + } + }); + return [...(ownerExpressions.length > 0 || dynamicGroupExpressions.length > 0 ? [...ownerExpressions, ...dynamicGroupExpressions] : [])]; +}; + +export const generateAuthExpressionForField = ( + provider: ConfiguredAuthProviders, + roles: Array, + fields: ReadonlyArray, +): string => { + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, iamRoles, apiKeyRoles } = splitRoles(roles); + const totalAuthExpressions: Array = [set(ref(IS_AUTHORIZED_FLAG), bool(false))]; + if (provider.hasApiKey) { + totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); + } + if (provider.hasIAM) { + totalAuthExpressions.push(iamExpression(iamRoles, provider.hasAdminUIEnabled, provider.adminUserPoolID)); + } + if (provider.hasUserPools) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(COGNITO_AUTH_TYPE)), + compoundExpression([ + ...generateStaticRoleExpression(cogntoStaticRoles), + ...generateDynamicAuthReadExpression(cognitoDynamicRoles, fields), + ]), + ), + ); + } + if (provider.hasOIDC) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(OIDC_AUTH_TYPE)), + compoundExpression([ + ...generateStaticRoleExpression(oidcStaticRoles), + ...generateDynamicAuthReadExpression(oidcDynamicRoles, fields), + ]), + ), + ); + } + totalAuthExpressions.push(iff(not(ref(IS_AUTHORIZED_FLAG)), ref('util.unauthorized()'))); + return printBlock('Field Authorization Steps')(compoundExpression([...totalAuthExpressions, emptyPayload])); +}; + +/** + * This is the response resolver for fields to protect subscriptions + * @param subscriptionsEnabled + * @returns + */ +export const generateFieldAuthResponse = (operation: string, fieldName: string, subscriptionsEnabled: boolean): string => { + if (subscriptionsEnabled) { + return printBlock('Checking for allowed operations which can return this field')( + compoundExpression([ + set(ref('operation'), methodCall(ref('util.defaultIfNull'), methodCall(ref('ctx.source.get'), str(OPERATION_KEY)), nul())), + ifElse(equals(ref('operation'), str(operation)), toJson(nul()), toJson(ref(`context.source.${fieldName}`))), + ]), + ); + } + return printBlock('Return Source Field')(toJson(ref(`context.source.${fieldName}`))); +}; diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts new file mode 100644 index 00000000000..5ac4e417b94 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts @@ -0,0 +1,152 @@ +import { + qref, + Expression, + ifElse, + iff, + methodCall, + not, + ref, + set, + str, + raw, + obj, + bool, + compoundExpression, + printBlock, + toJson, + forEach, + list, + equals, + or, +} from 'graphql-mapping-template'; +import { NONE_VALUE } from 'graphql-transformer-common'; +import { + DEFAULT_COGNITO_IDENTITY_CLAIM, + RoleDefinition, + IS_AUTHORIZED_FLAG, + ALLOWED_FIELDS, + API_KEY_AUTH_TYPE, + ADMIN_ROLE, + IAM_AUTH_TYPE, + MANAGE_ROLE, +} from '../utils'; + +// note in the resolver that operation is protected by auth +export const setHasAuthExpression: Expression = qref(methodCall(ref('ctx.stash.put'), str('hasAuth'), bool(true))); + +// since the keySet returns a set we can convert it to a list by converting to json and parsing back as a list +export const getInputFields = (): Expression => { + return set(ref('inputFields'), methodCall(ref('util.parseJson'), methodCall(ref('util.toJson'), ref('ctx.args.input.keySet()')))); +}; + +export const getIdentityClaimExp = (value: Expression, defaultValueExp: Expression): Expression => { + return methodCall(ref('util.defaultIfNull'), methodCall(ref('ctx.identity.claims.get'), value), defaultValueExp); +}; + +// for create mutations and subscriptions +export const addAllowedFieldsIfElse = (fieldKey: string, breakLoop: boolean = false): Expression => { + return ifElse( + not(ref(`${fieldKey}.isEmpty()`)), + qref(methodCall(ref(`${ALLOWED_FIELDS}.addAll`), ref(fieldKey))), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), ...(breakLoop ? [raw('#break')] : [])]), + ); +}; + +// iam check +export const iamCheck = (claim: string, exp: Expression) => iff(equals(ref('ctx.identity.userArn'), ref(`ctx.stash.${claim}`)), exp); + +/** + * Behavior of auth v1 + * Order of how the owner value is retrieved from the jwt + * if claim is username + * 1. username + * 2. cognito:username + * 3. none value + * + * if claim is custom + * 1. custom + * 2. none value + */ +export const getOwnerClaim = (ownerClaim: string): Expression => { + if (ownerClaim === 'username') { + return getIdentityClaimExp(str(ownerClaim), getIdentityClaimExp(str(DEFAULT_COGNITO_IDENTITY_CLAIM), str(NONE_VALUE))); + } + return getIdentityClaimExp(str(ownerClaim), str(NONE_VALUE)); +}; + +export const responseCheckForErrors = () => + iff(ref('ctx.error'), methodCall(ref('util.error'), ref('ctx.error.message'), ref('ctx.error.type'))); + +// Common Expressions + +export const generateStaticRoleExpression = (roles: Array): Array => { + const staticRoleExpression: Array = new Array(); + const privateRoleIdx = roles.findIndex(r => r.strategy === 'private'); + if (privateRoleIdx > -1) { + staticRoleExpression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + roles.splice(privateRoleIdx, 1); + } + if (roles.length > 0) { + staticRoleExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref('staticGroupRoles'), raw(JSON.stringify(roles.map(r => ({ claim: r.claim, entity: r.entity }))))), + forEach(ref('groupRole'), ref('staticGroupRoles'), [ + set(ref('groupsInToken'), getIdentityClaimExp(ref('groupRole.claim'), list([]))), + iff( + methodCall(ref('groupsInToken.contains'), ref('groupRole.entity')), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw(`#break`)]), + ), + ]), + ]), + ), + ); + } + return staticRoleExpression; +}; + +export const apiKeyExpression = (roles: Array) => + iff( + equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), + compoundExpression([...(roles.length > 0 ? [set(ref(IS_AUTHORIZED_FLAG), bool(true))] : [])]), + ); + +export const iamExpression = (roles: Array, adminuiEnabled: boolean = false, adminUserPoolID?: string) => { + const expression = new Array(); + // allow if using admin ui + if (adminuiEnabled) { + expression.push( + iff( + or([ + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID}${ADMIN_ROLE}`)), + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID}${MANAGE_ROLE}`)), + ]), + raw('#return($util.toJson({})'), + ), + ); + } + if (roles.length > 0) { + for (let role of roles) { + expression.push(iff(not(ref(IS_AUTHORIZED_FLAG)), iamCheck(role.claim!, set(ref(IS_AUTHORIZED_FLAG), bool(true))))); + } + } + return iff(equals(ref('util.authType()'), str(IAM_AUTH_TYPE)), compoundExpression(expression)); +}; + +// Get Request for Update and Delete +export const generateAuthRequestExpression = () => { + const statements = [ + set(ref('GetRequest'), obj({ version: str('2018-05-29'), operation: str('GetItem') })), + ifElse( + ref('ctx.stash.metadata.modelObjectKey'), + set(ref('key'), ref('ctx.stash.metadata.modelObjectKey')), + compoundExpression([set(ref('key'), obj({ id: methodCall(ref('util.dynamodb.toDynamoDB'), ref('ctx.args.input.id')) }))]), + ), + qref(methodCall(ref('GetRequest.put'), str('key'), ref('key'))), + toJson(ref('GetRequest')), + ]; + return printBlock('Get Request template')(compoundExpression(statements)); +}; + +export const emptyPayload = toJson(raw(JSON.stringify({ version: '2018-05-29', payload: {} }))); diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/index.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/index.ts new file mode 100644 index 00000000000..5f9e8476d39 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/index.ts @@ -0,0 +1,7 @@ +export { generateAuthExpressionForQueries } from './query'; +export { generateAuthExpressionForCreate } from './mutation.create'; +export { generateAuthExpressionForUpdate } from './mutation.update'; +export { geneateAuthExpressionForDelete } from './mutation.delete'; +export { generateAuthExpressionForField, generateFieldAuthResponse } from './field'; +export { generateAuthExpressionForSubscriptions } from './subscriptions'; +export { generateAuthRequestExpression } from './helpers'; diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts new file mode 100644 index 00000000000..22dd6a95d22 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts @@ -0,0 +1,274 @@ +import { FieldDefinitionNode } from 'graphql'; +import { + Expression, + compoundExpression, + set, + ref, + bool, + raw, + iff, + and, + isNullOrEmpty, + not, + methodCall, + qref, + list, + nul, + forEach, + equals, + str, + or, + printBlock, +} from 'graphql-mapping-template'; +import { + getOwnerClaim, + getIdentityClaimExp, + getInputFields, + addAllowedFieldsIfElse, + emptyPayload, + setHasAuthExpression, + iamCheck, +} from './helpers'; +import { + ADMIN_ROLE, + API_KEY_AUTH_TYPE, + COGNITO_AUTH_TYPE, + ConfiguredAuthProviders, + IAM_AUTH_TYPE, + MANAGE_ROLE, + OIDC_AUTH_TYPE, + RoleDefinition, + splitRoles, + fieldIsList, + IS_AUTHORIZED_FLAG, + ALLOWED_FIELDS, + DENIED_FIELDS, +} from '../utils'; + +/** + * There is only one role for ApiKey we can use the first index + * @param roles + * @returns Expression | null + */ +const apiKeyExpression = (roles: Array) => { + const expression = new Array(); + if (roles.length === 0) { + return iff(equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), ref('util.unauthorized()')); + } + if (roles[0].allowedFields!.length > 0) { + expression.push(set(ref(`${ALLOWED_FIELDS}`), raw(JSON.stringify(roles[0].allowedFields)))); + } else { + expression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + return iff(equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), compoundExpression(expression)); +}; + +/** + * No need to combine allowed fields as the request can only be signed by one iam role + * @param roles + * @returns + */ +const iamExpression = (roles: Array, hasAdminUIEnabled: boolean = false, adminUserPoolID?: string) => { + const expression = new Array(); + // allow if using admin ui + if (hasAdminUIEnabled) { + expression.push( + iff( + or([ + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID!}${ADMIN_ROLE}`)), + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID!}${MANAGE_ROLE}`)), + ]), + raw('#return($util.toJson({})'), + ), + ); + } + if (roles.length > 0) { + for (let role of roles) { + if (role.allowedFields!.length > 0) { + expression.push( + iamCheck(role.claim!, compoundExpression([set(ref(`${ALLOWED_FIELDS}`), raw(JSON.stringify(role.allowedFields)))])), + ); + } else { + expression.push(iamCheck(role.claim!, set(ref(IS_AUTHORIZED_FLAG), bool(true)))); + } + } + } else { + expression.push(ref('util.unauthorized()')); + } + return iff(equals(ref('util.authType()'), str(IAM_AUTH_TYPE)), compoundExpression(expression)); +}; + +const generateStaticRoleExpression = (roles: Array): Array => { + const staticRoleExpression: Array = new Array(); + const privateRoleIdx = roles.findIndex(r => r.strategy === 'private'); + if (privateRoleIdx > -1) { + const privateRole = roles[privateRoleIdx]; + if (privateRole.allowedFields!.length > 0) { + staticRoleExpression.push(qref(methodCall(ref(`${ALLOWED_FIELDS}.addAll`), raw(JSON.stringify(privateRole.allowedFields))))); + } else { + staticRoleExpression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + roles.splice(privateRoleIdx, 1); + } + if (roles.length > 0) { + staticRoleExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set( + ref('staticGroupRoles'), + raw(JSON.stringify(roles.map(r => ({ claim: r.claim, entity: r.entity, allowedFields: r.allowedFields ?? [] })))), + ), + forEach(/** for */ ref('groupRole'), /** in */ ref('staticGroupRoles'), [ + set(ref('groupsInToken'), getIdentityClaimExp(ref('groupRole.claim'), list([]))), + iff( + methodCall(ref('groupsInToken.contains'), ref('groupRole.entity')), + addAllowedFieldsIfElse('groupRole.allowedFields', true), + ), + ]), + ]), + ), + ); + } + return staticRoleExpression; +}; + +const dynamicGroupRoleExpression = (roles: Array, fields: ReadonlyArray): Array => { + const ownerExpression = new Array(); + const dynamicGroupExpression = new Array(); + roles.forEach((role, idx) => { + const entityIsList = fieldIsList(fields, role.entity!); + if (role.strategy === 'owner') { + ownerExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set( + ref(`ownerEntity${idx}`), + methodCall(ref('util.defaultIfNull'), ref(`ctx.args.input.${role.entity!}`), entityIsList ? list([]) : nul()), + ), + set(ref(`ownerClaim${idx}`), getOwnerClaim(role.claim!)), + set(ref(`ownerAllowedFields${idx}`), raw(JSON.stringify(role.allowedFields))), + ...(entityIsList + ? [ + forEach(ref('allowedOwner'), ref(`ownerEntity${idx}`), [ + iff(equals(ref('allowedOwner'), ref(`ownerClaim${idx}`)), addAllowedFieldsIfElse(`ownerAllowedFields${idx}`, true)), + ]), + ] + : [iff(equals(ref(`ownerClaim${idx}`), ref(`ownerEntity${idx}`)), addAllowedFieldsIfElse(`ownerAllowedFields${idx}`))]), + iff( + and([isNullOrEmpty(ref(`ownerEntity${idx}`)), not(methodCall(ref('ctx.args.input.containsKey'), str(role.entity!)))]), + compoundExpression([ + qref( + methodCall( + ref('ctx.args.input.put'), + str(role.entity!), + entityIsList ? list([ref(`ownerClaim${idx}`)]) : ref(`ownerClaim${idx}`), + ), + ), + addAllowedFieldsIfElse(`ownerAllowedFields${idx}`), + ]), + ), + ]), + ), + ); + } + if (role.strategy === 'groups') { + dynamicGroupExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set( + ref(`groupEntity${idx}`), + methodCall(ref('util.defaultIfNull'), ref(`ctx.args.input.${role.entity!}`), entityIsList ? list([]) : nul()), + ), + set(ref(`groupClaim${idx}`), getIdentityClaimExp(str(role.claim!), list([]))), + set(ref(`groupAllowedFields${idx}`), raw(JSON.stringify(role.allowedFields))), + forEach(ref('userGroup'), ref(`groupClaim${idx}`), [ + iff( + entityIsList + ? methodCall(ref(`groupEntity${idx}.contains`), ref('userGroup')) + : equals(ref(`groupEntity${idx}`), ref('userGroup')), + addAllowedFieldsIfElse(`groupAllowedFields${idx}`, true), + ), + ]), + ]), + ), + ); + } + }); + + return [...(ownerExpression.length > 0 ? ownerExpression : []), ...(dynamicGroupExpression.length > 0 ? dynamicGroupExpression : [])]; +}; + +/** + * Unauthorized if + * - auth conditions could not be met + * - there are fields conditions that could not be met + * @param providers + * @param roles + * @param fields + * @returns + */ +export const generateAuthExpressionForCreate = ( + providers: ConfiguredAuthProviders, + roles: Array, + fields: ReadonlyArray, +): string => { + const { + cogntoStaticRoles: cognitoStaticGroupRoles, + cognitoDynamicRoles, + oidcStaticRoles: oidcStaticGroupRoles, + oidcDynamicRoles, + apiKeyRoles, + iamRoles, + } = splitRoles(roles); + const totalAuthExpressions: Array = [ + setHasAuthExpression, + getInputFields(), + set(ref(IS_AUTHORIZED_FLAG), bool(false)), + set(ref(ALLOWED_FIELDS), list([])), + ]; + if (providers.hasApiKey) { + totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); + } + if (providers.hasIAM) { + totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); + } + if (providers.hasUserPools) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(COGNITO_AUTH_TYPE)), + compoundExpression([ + ...generateStaticRoleExpression(cognitoStaticGroupRoles), + ...dynamicGroupRoleExpression(cognitoDynamicRoles, fields), + ]), + ), + ); + } + if (providers.hasOIDC) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(OIDC_AUTH_TYPE)), + compoundExpression([ + ...generateStaticRoleExpression(oidcStaticGroupRoles), + ...dynamicGroupRoleExpression(oidcDynamicRoles, fields), + ]), + ), + ); + } + totalAuthExpressions.push( + iff(and([not(ref(IS_AUTHORIZED_FLAG)), ref(`${ALLOWED_FIELDS}.isEmpty()`)]), ref('util.unauthorized()')), + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref(DENIED_FIELDS), methodCall(ref('util.list.copyAndRemoveAll'), ref('inputFields'), ref(ALLOWED_FIELDS))), + iff( + ref(`${DENIED_FIELDS}.size() > 0`), + methodCall(ref('util.error'), str(`Unauthorized on \${${DENIED_FIELDS}}`), str('Unauthorized')), + ), + ]), + ), + ); + return printBlock('Authorization Steps')(compoundExpression([...totalAuthExpressions, emptyPayload])); +}; diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts new file mode 100644 index 00000000000..c5656f061dc --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts @@ -0,0 +1,189 @@ +import { FieldDefinitionNode } from 'graphql'; +import { + Expression, + printBlock, + compoundExpression, + bool, + equals, + iff, + raw, + ref, + set, + str, + methodCall, + or, + forEach, + list, + not, + nul, +} from 'graphql-mapping-template'; +import { emptyPayload, getIdentityClaimExp, getOwnerClaim, iamCheck, setHasAuthExpression } from './helpers'; +import { + ADMIN_ROLE, + API_KEY_AUTH_TYPE, + COGNITO_AUTH_TYPE, + ConfiguredAuthProviders, + fieldIsList, + IAM_AUTH_TYPE, + IS_AUTHORIZED_FLAG, + MANAGE_ROLE, + OIDC_AUTH_TYPE, + RoleDefinition, + splitRoles, +} from '../utils'; + +/** + * There is only one role for ApiKey we can use the first index + * @param roles + * @returns Expression | null + */ +const apiKeyExpression = (roles: Array) => { + const expression = new Array(); + if (roles.length === 0) { + return iff(equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), ref('util.unauthorized()')); + } + if (roles.length > 0) { + expression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + return iff(equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), compoundExpression(expression)); +}; +/** + * No need to combine allowed fields as the request can only be signed by one iam role + * @param roles + * @returns + */ +const iamExpression = (roles: Array, hasAdminUIEnabled: boolean = false, adminUserPoolID?: string) => { + const expression = new Array(); + // allow if using admin ui + if (hasAdminUIEnabled) { + expression.push( + iff( + or([ + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID}${ADMIN_ROLE}`)), + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID}${MANAGE_ROLE}`)), + ]), + raw('#return($util.toJson({})'), + ), + ); + } + if (roles.length > 0) { + for (let role of roles) { + iamCheck(role.claim!, set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + } else { + expression.push(ref('util.unauthorized()')); + } + return iff(equals(ref('util.authType()'), str(IAM_AUTH_TYPE)), compoundExpression(expression)); +}; + +const generateStaticRoleExpression = (roles: Array): Array => { + const staticRoleExpression: Array = new Array(); + const privateRoleIdx = roles.findIndex(r => r.strategy === 'private'); + if (privateRoleIdx > -1) { + staticRoleExpression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + roles.splice(privateRoleIdx, -1); + } + if (roles.length > 0) { + staticRoleExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref('staticGroupRoles'), raw(JSON.stringify(roles.map(r => ({ claim: r.claim, entity: r.entity }))))), + forEach(/** for */ ref('groupRole'), /** in */ ref('staticGroupRoles'), [ + set(ref('groupsInToken'), getIdentityClaimExp(ref('groupRole.claim'), list([]))), + iff( + methodCall(ref('groupsInToken.contains'), ref('groupRole.entity')), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw('#break')]), + ), + ]), + ]), + ), + ); + } + return staticRoleExpression; +}; + +const dynamicGroupRoleExpression = (roles: Array, fields: ReadonlyArray) => { + const ownerExpression = new Array(); + const dynamicGroupExpression = new Array(); + roles.forEach((role, idx) => { + const entityIsList = fieldIsList(fields, role.entity!); + if (role.strategy === 'owner') { + ownerExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref(`ownerEntity${idx}`), methodCall(ref('util.defaultIfNull'), ref(`ctx.result.${role.entity!}`), nul())), + set(ref(`ownerClaim${idx}`), getOwnerClaim(role.claim!)), + ...(entityIsList + ? [ + forEach(ref('allowedOwner'), ref(`ownerEntity${idx}`), [ + iff(equals(ref('allowedOwner'), ref(`ownerClaim${idx}`)), set(ref(IS_AUTHORIZED_FLAG), bool(true))), + ]), + ] + : [iff(equals(ref(`ownerEntity${idx}`), ref(`ownerClaim${idx}`)), set(ref(IS_AUTHORIZED_FLAG), bool(true)))]), + ]), + ), + ); + } + if (role.strategy === 'groups') { + dynamicGroupExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set( + ref(`groupEntity${idx}`), + methodCall(ref('util.defaultIfNull'), ref(`ctx.result.${role.entity}`), entityIsList ? list([]) : nul()), + ), + set(ref(`groupClaim${idx}`), getIdentityClaimExp(str(role.claim!), list([]))), + forEach(ref('userGroup'), ref(`groupClaim${idx}`), [ + iff( + entityIsList + ? methodCall(ref(`groupEntity${idx}.contains`), ref('userGroup')) + : equals(ref(`groupEntity${idx}`), ref('userGroup')), + set(ref(IS_AUTHORIZED_FLAG), bool(true)), + ), + ]), + ]), + ), + ); + } + }); + return [...(ownerExpression.length > 0 ? ownerExpression : []), ...(dynamicGroupExpression.length > 0 ? dynamicGroupExpression : [])]; +}; + +export const geneateAuthExpressionForDelete = ( + providers: ConfiguredAuthProviders, + roles: Array, + fields: ReadonlyArray, +) => { + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles } = splitRoles(roles); + const totalAuthExpressions: Array = [setHasAuthExpression, set(ref(IS_AUTHORIZED_FLAG), bool(false))]; + if (providers.hasApiKey) { + totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); + } + if (providers.hasIAM) { + totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); + } + if (providers.hasUserPools) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(COGNITO_AUTH_TYPE)), + compoundExpression([ + ...generateStaticRoleExpression(cogntoStaticRoles), + ...dynamicGroupRoleExpression(cognitoDynamicRoles, fields), + ]), + ), + ); + } + if (providers.hasOIDC) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(OIDC_AUTH_TYPE)), + compoundExpression([...generateStaticRoleExpression(oidcStaticRoles), ...dynamicGroupRoleExpression(oidcDynamicRoles, fields)]), + ), + ); + } + totalAuthExpressions.push(iff(not(ref(IS_AUTHORIZED_FLAG)), ref('util.unauthorized()'))); + return printBlock('Authorization Steps')(compoundExpression([...totalAuthExpressions, emptyPayload])); +}; diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts new file mode 100644 index 00000000000..a58101a3ce3 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts @@ -0,0 +1,318 @@ +import { FieldDefinitionNode } from 'graphql'; +import { + compoundExpression, + iff, + raw, + set, + ref, + forEach, + bool, + Expression, + not, + obj, + list, + qref, + equals, + str, + and, + methodCall, + toJson, + printBlock, + ifElse, + nul, + or, +} from 'graphql-mapping-template'; +import { + ADMIN_ROLE, + API_KEY_AUTH_TYPE, + COGNITO_AUTH_TYPE, + ConfiguredAuthProviders, + IAM_AUTH_TYPE, + MANAGE_ROLE, + OIDC_AUTH_TYPE, + RoleDefinition, + splitRoles, + fieldIsList, + IS_AUTHORIZED_FLAG, + ALLOWED_FIELDS, + NULL_ALLOWED_FIELDS, + DENIED_FIELDS, +} from '../utils'; +import { getIdentityClaimExp, responseCheckForErrors, getOwnerClaim, getInputFields, setHasAuthExpression, iamCheck } from './helpers'; + +/** + * There is only one role for ApiKey we can use the first index + * @param roles + * @returns Expression | null + */ +const apiKeyExpression = (roles: Array) => { + const expression = new Array(); + if (roles.length === 0) { + return iff(equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), ref('util.unauthorized()')); + } + if (roles[0].allowedFields!.length > 0 || roles[0].nullAllowedFields!.length > 0) { + expression.push( + set(ref(`${ALLOWED_FIELDS}`), raw(JSON.stringify(roles[0].allowedFields))), + set(ref(`${NULL_ALLOWED_FIELDS}`), raw(JSON.stringify(roles[0].nullAllowedFields))), + ); + } else { + expression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + return iff(equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), compoundExpression(expression)); +}; + +const iamExpression = (roles: Array, hasAdminUIEnabled: boolean = false, adminUserPoolID?: string) => { + const expression = new Array(); + // allow if using admin ui + if (hasAdminUIEnabled) { + expression.push( + iff( + or([ + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID}${ADMIN_ROLE}`)), + methodCall(ref('ctx.identity.userArn.contains'), str(`${adminUserPoolID}${MANAGE_ROLE}`)), + ]), + raw('#return($util.toJson({})'), + ), + ); + } + if (roles.length > 0) { + for (let role of roles) { + if (role.allowedFields!.length > 0 || role.nullAllowedFields!.length > 0) { + expression.push( + iamCheck( + role.claim!, + compoundExpression([ + set(ref(`${ALLOWED_FIELDS}`), raw(JSON.stringify(role.allowedFields))), + set(ref(`${NULL_ALLOWED_FIELDS}`), raw(JSON.stringify(role.nullAllowedFields))), + ]), + ), + ); + } else { + iamCheck(role.claim!, set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + } + } else { + expression.push(ref('util.unauthorized()')); + } + return iff(equals(ref('util.authType()'), str(IAM_AUTH_TYPE)), compoundExpression(expression)); +}; + +const generateStaticRoleExpression = (roles: Array) => { + const staticRoleExpression: Array = new Array(); + const privateRoleIdx = roles.findIndex(r => r.strategy === 'private'); + if (privateRoleIdx > -1) { + const privateRole = roles[privateRoleIdx]; + if (privateRole.allowedFields!.length > 0 || privateRole.nullAllowedFields!.length > 0) { + staticRoleExpression.push( + qref(methodCall(ref(`${ALLOWED_FIELDS}.addAll`), raw(JSON.stringify(privateRole.allowedFields)))), + qref(methodCall(ref(`${NULL_ALLOWED_FIELDS}.addAll`), raw(JSON.stringify(privateRole.nullAllowedFields)))), + ); + } else { + staticRoleExpression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + roles.splice(privateRoleIdx, 1); + } + if (roles.length > 0) { + staticRoleExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set( + ref('staticGroupRoles'), + raw( + JSON.stringify( + roles.map(r => ({ + claim: r.claim, + entity: r.entity, + allowedFields: r.allowedFields, + nullAllowedFields: r.nullAllowedFields, + })), + ), + ), + ), + forEach(/** for */ ref('groupRole'), /** in */ ref('staticGroupRoles'), [ + set(ref('groupsInToken'), getIdentityClaimExp(ref('groupRole.claim'), list([]))), + iff( + methodCall(ref('groupsInToken.contains'), ref('groupRole.entity')), + compoundExpression([ + // if we find that it's not fully allowed on update (update/delete) we add the field conditions + // otherwise we set to true and break + ifElse( + or([not(ref(`groupRole.allowedFields.isEmpty()`)), not(ref('groupRole.nullAllowedFields.isEmpty()'))]), + compoundExpression([ + qref(methodCall(ref(`${ALLOWED_FIELDS}.addAll`), ref('groupRole.allowedFields'))), + qref(methodCall(ref(`${NULL_ALLOWED_FIELDS}.addAll`), ref('groupRole.nullAllowedFields'))), + ]), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw('#break')]), + ), + ]), + ), + ]), + ]), + ), + ); + } + return staticRoleExpression; +}; +const dynamicGroupRoleExpression = (roles: Array, fields: ReadonlyArray): Array => { + const ownerExpression = new Array(); + const dynamicGroupExpression = new Array(); + roles.forEach((role, idx) => { + const entityIsList = fieldIsList(fields, role.entity!); + if (role.strategy === 'owner') { + ownerExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set( + ref(`ownerEntity${idx}`), + methodCall(ref('util.defaultIfNull'), ref(`ctx.result.${role.entity!}`), entityIsList ? list([]) : nul()), + ), + set(ref(`ownerClaim${idx}`), getOwnerClaim(role.claim!)), + set(ref(`ownerAllowedFields${idx}`), raw(JSON.stringify(role.allowedFields))), + set(ref(`ownerNullAllowedFields${idx}`), raw(JSON.stringify(role.nullAllowedFields))), + ...(entityIsList + ? [ + forEach(ref('allowedOwner'), ref(`ownerEntity${idx}`), [ + iff( + equals(ref('allowedOwner'), ref(`ownerClaim${idx}`)), + ifElse( + or([not(ref(`ownerAllowedFields${idx}.isEmpty()`)), not(ref(`ownerNullAllowedFields${idx}.isEmpty()`))]), + compoundExpression([ + qref(methodCall(ref(`${ALLOWED_FIELDS}.addAll`), ref(`ownerAllowedFields${idx}`))), + qref(methodCall(ref(`${NULL_ALLOWED_FIELDS}.addAll`), ref(`ownerNullAllowedFields${idx}`))), + ]), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw('#break')]), + ), + ), + ]), + ] + : [ + iff( + equals(ref(`ownerEntity${idx}`), ref(`ownerClaim${idx}`)), + ifElse( + or([not(ref(`ownerAllowedFields${idx}.isEmpty()`)), not(ref(`ownerNullAllowedFields${idx}.isEmpty()`))]), + compoundExpression([ + qref(methodCall(ref(`${ALLOWED_FIELDS}.addAll`), ref(`ownerAllowedFields${idx}`))), + qref(methodCall(ref(`${NULL_ALLOWED_FIELDS}.addAll`), ref(`ownerNullAllowedFields${idx}`))), + ]), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true))]), + ), + ), + ]), + ]), + ), + ); + } + if (role.strategy === 'groups') { + dynamicGroupExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set( + ref(`groupEntity${idx}`), + methodCall(ref('util.defaultIfNull'), ref(`ctx.result.${role.entity}`), entityIsList ? list([]) : nul()), + ), + set(ref(`groupClaim${idx}`), getIdentityClaimExp(str(role.claim!), list([]))), + set(ref(`groupAllowedFields${idx}`), raw(JSON.stringify(role.allowedFields))), + set(ref(`groupNullAllowedFields${idx}`), raw(JSON.stringify(role.nullAllowedFields))), + forEach(ref('userGroup'), ref(`groupClaim${idx}`), [ + iff( + entityIsList + ? methodCall(ref(`groupEntity${idx}.contains`), ref('userGroup')) + : equals(ref(`groupEntity${idx}`), ref('userGroup')), + ifElse( + or([not(ref(`groupAllowedFields${idx}.isEmpty()`)), not(ref(`groupNullAllowedFields${idx}.isEmpty()`))]), + compoundExpression([ + qref(methodCall(ref(`${ALLOWED_FIELDS}.addAll`), ref('groupRole.allowedFields'))), + qref(methodCall(ref(`${NULL_ALLOWED_FIELDS}.addAll`), ref('groupRole.nullAllowedFields'))), + ]), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw('#break')]), + ), + ), + ]), + ]), + ), + ); + } + }); + return [...(ownerExpression.length > 0 ? ownerExpression : []), ...(dynamicGroupExpression.length > 0 ? dynamicGroupExpression : [])]; +}; + +/** + * For update we need to check for allowed fields and null allowed fields + * unauthorized if + * - none of the roles have been met and there are no field conditions + * - role is partially allowed but the field conditions have not been met + * @param providers + * @param roles + * @param fields + * @returns + */ +export const generateAuthExpressionForUpdate = ( + providers: ConfiguredAuthProviders, + roles: Array, + fields: ReadonlyArray, +) => { + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles } = splitRoles(roles); + const totalAuthExpressions: Array = [ + setHasAuthExpression, + responseCheckForErrors(), + getInputFields(), + set(ref(IS_AUTHORIZED_FLAG), bool(false)), + set(ref(`${ALLOWED_FIELDS}`), list([])), + set(ref(`${NULL_ALLOWED_FIELDS}`), list([])), + set(ref(`${DENIED_FIELDS}`), obj({})), + ]; + if (providers.hasApiKey) { + totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); + } + if (providers.hasIAM) { + totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); + } + if (providers.hasUserPools) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(COGNITO_AUTH_TYPE)), + compoundExpression([ + ...generateStaticRoleExpression(cogntoStaticRoles), + ...dynamicGroupRoleExpression(cognitoDynamicRoles, fields), + ]), + ), + ); + } + if (providers.hasOIDC) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(OIDC_AUTH_TYPE)), + compoundExpression([...generateStaticRoleExpression(oidcStaticRoles), ...dynamicGroupRoleExpression(oidcDynamicRoles, fields)]), + ), + ); + } + totalAuthExpressions.push( + iff( + and([not(ref(IS_AUTHORIZED_FLAG)), ref(`${ALLOWED_FIELDS}.isEmpty()`), ref(`${NULL_ALLOWED_FIELDS}.isEmpty()`)]), + ref('util.unauthorized()'), + ), + // if not authorized we check the field conditions + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + forEach(ref('entry'), ref('util.map.copyAndRetainAllKeys($ctx.args.input, $inputFields).entrySet()'), [ + iff( + and([methodCall(ref('util.isNull'), ref('entry.value')), not(ref(`${NULL_ALLOWED_FIELDS}.contains($entry.value)`))]), + qref(methodCall(ref(`${DENIED_FIELDS}.put`), ref('entry.key'), str(''))), + ), + ]), + forEach(ref('deniedField'), ref(`util.list.copyAndRemoveAll($inputFields, \$${ALLOWED_FIELDS})`), [ + qref(methodCall(ref(`${DENIED_FIELDS}.put`), ref('deniedField'), str(''))), + ]), + ]), + ), + iff( + ref(`${DENIED_FIELDS}.keySet().size() > 0`), + methodCall(ref('util.error'), str(`Unauthorized on \${${DENIED_FIELDS}.keySet()}`), str('Unauthorized')), + ), + ); + return printBlock('Authorization Steps')(compoundExpression([...totalAuthExpressions, toJson(obj({}))])); +}; diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/query.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/query.ts new file mode 100644 index 00000000000..fc244d65912 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/query.ts @@ -0,0 +1,204 @@ +import { FieldDefinitionNode } from 'graphql'; +import { + compoundExpression, + Expression, + obj, + printBlock, + and, + equals, + iff, + methodCall, + not, + ref, + str, + bool, + forEach, + list, + qref, + raw, + set, +} from 'graphql-mapping-template'; +import { getIdentityClaimExp, getOwnerClaim, apiKeyExpression, iamExpression, emptyPayload, setHasAuthExpression } from './helpers'; +import { + COGNITO_AUTH_TYPE, + OIDC_AUTH_TYPE, + RoleDefinition, + splitRoles, + ConfiguredAuthProviders, + IS_AUTHORIZED_FLAG, + fieldIsList, + QuerySource, +} from '../utils'; +import { InvalidDirectiveError } from '@aws-amplify/graphql-transformer-core'; +import { NONE_VALUE } from 'graphql-transformer-common'; + +const generateStaticRoleExpression = (roles: Array): Array => { + const staticRoleExpression: Array = []; + let privateRoleIdx = roles.findIndex(r => r.strategy === 'private'); + if (privateRoleIdx > -1) { + staticRoleExpression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + roles.splice(privateRoleIdx, 1); + } + if (roles.length > 0) { + staticRoleExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref('staticGroupRoles'), raw(JSON.stringify(roles.map(r => ({ claim: r.claim, entity: r.entity }))))), + forEach(ref('groupRole'), ref('staticGroupRoles'), [ + set(ref('groupsInToken'), getIdentityClaimExp(ref('groupRole.claim'), list([]))), + iff( + methodCall(ref('groupsInToken.contains'), ref('groupRole.entity')), + compoundExpression([set(ref(IS_AUTHORIZED_FLAG), bool(true)), raw(`#break`)]), + ), + ]), + ]), + ), + ); + } + return staticRoleExpression; +}; + +const generateAuthFilter = ( + roles: Array, + fields: ReadonlyArray, + querySource: QuerySource, +): Array => { + const authFilter = new Array(); + const groupMap = new Map>(); + const groupContainsExpression = new Array(); + if (!(roles.length > 0)) return []; + /** + * if ownerField is string + * ownerField: { eq: "cognito:owner" } + * if ownerField is a List + * ownerField: { contains: "cognito:owner"} + * + * if groupsField is a string + * groupsField: { in: "cognito:groups" } + * if groupsField is a list + * groupsField: { contains: "cognito:groups" } + * */ + if (querySource === 'dynamodb') { + for (let role of roles) { + const entityIsList = fieldIsList(fields, role.entity!); + if (role.strategy === 'owner') { + const ownerCondition = entityIsList ? 'contains' : 'eq'; + authFilter.push(obj({ [role.entity!]: obj({ [ownerCondition]: getOwnerClaim(role.claim!) }) })); + } + if (role.strategy === 'groups') { + // for fields where the group is a list and the token is a list we must add every group in the claim + if (entityIsList) { + if (groupMap.has(role.claim!)) { + groupMap.get(role.claim).push(role.entity); + } else { + groupMap.set(role.claim!, [role.entity]); + } + } else { + authFilter.push(obj({ [role.entity!]: obj({ in: getIdentityClaimExp(str(role.claim!), list([str(NONE_VALUE)])) }) })); + } + } + } + for (let [groupClaim, fieldList] of groupMap) { + groupContainsExpression.push( + forEach( + ref('group'), + ref(`util.defaultIfNull($ctx.identity.claims.get("${groupClaim}"), ["${NONE_VALUE}"])`), + fieldList.map(field => qref(methodCall(ref('authFilter.add'), raw(`{"${field}": { "contains": $group }}`)))), + ), + ); + } + return [ + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref('authFilter'), list(authFilter)), + ...(groupContainsExpression.length > 0 ? groupContainsExpression : []), + qref(methodCall(ref('ctx.stash.put'), str('authFilter'), raw('{ "or": $authFilter }'))), + ]), + ), + ]; + } + if (querySource === 'opensearch') { + for (let role of roles) { + let claimValue: Expression; + if (role.strategy === 'owner') { + claimValue = getOwnerClaim(role.claim!); + authFilter.push( + obj({ + terms_set: obj({ + [role.entity!]: obj({ + terms: list([claimValue]), + minimum_should_match_script: obj({ source: str('1') }), + }), + }), + }), + ); + } else if (role.strategy === 'groups') { + claimValue = getIdentityClaimExp(str(role.claim!), list([str(NONE_VALUE)])); + authFilter.push( + obj({ + terms_set: obj({ + [role.entity!]: obj({ + terms: claimValue, + minimum_should_match_script: obj({ source: str('1') }), + }), + }), + }), + ); + } + } + return [ + iff( + not(ref(IS_AUTHORIZED_FLAG)), + qref(methodCall(ref('ctx.stash.put'), str('authFilter'), obj({ bool: obj({ should: list(authFilter) }) }))), + ), + ]; + } + throw new InvalidDirectiveError(`Could not generate an auth filter for a ${querySource} datasource.`); +}; + +export const generateAuthExpressionForQueries = ( + providers: ConfiguredAuthProviders, + roles: Array, + fields: ReadonlyArray, + querySource: QuerySource = 'dynamodb', +): string => { + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles } = splitRoles(roles); + const totalAuthExpressions: Array = [setHasAuthExpression, set(ref(IS_AUTHORIZED_FLAG), bool(false))]; + if (providers.hasApiKey) { + totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); + } + if (providers.hasIAM) { + totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); + } + if (providers.hasUserPools) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(COGNITO_AUTH_TYPE)), + compoundExpression([ + ...generateStaticRoleExpression(cogntoStaticRoles), + ...generateAuthFilter(cognitoDynamicRoles, fields, querySource), + ]), + ), + ); + } + if (providers.hasOIDC) { + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(OIDC_AUTH_TYPE)), + compoundExpression([ + ...generateAuthFilter(oidcDynamicRoles, fields, querySource), + ...generateStaticRoleExpression(oidcStaticRoles), + ]), + ), + ); + } + totalAuthExpressions.push( + iff( + and([not(ref(IS_AUTHORIZED_FLAG)), methodCall(ref('util.isNullOrEmpty'), methodCall(ref('ctx.stash.get'), str('authFilter')))]), + ref('util.unauthorized()'), + ), + ); + return printBlock('Authorization Steps')(compoundExpression([...totalAuthExpressions, emptyPayload])); +}; diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts new file mode 100644 index 00000000000..9f5add04279 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts @@ -0,0 +1,65 @@ +import { + bool, + compoundExpression, + equals, + Expression, + iff, + methodCall, + not, + ref, + set, + str, + list, + nul, + printBlock, +} from 'graphql-mapping-template'; +import { COGNITO_AUTH_TYPE, ConfiguredAuthProviders, IS_AUTHORIZED_FLAG, OIDC_AUTH_TYPE, RoleDefinition, splitRoles } from '../utils'; +import { generateStaticRoleExpression, getOwnerClaim, apiKeyExpression, iamExpression, emptyPayload } from './helpers'; + +const dynamicRoleExpression = (roles: Array): Array => { + const ownerExpression = new Array(); + // we only check against owner rules which are not list fields + roles.forEach((role, idx) => { + if (role.strategy === 'owner') { + ownerExpression.push( + iff( + not(ref(IS_AUTHORIZED_FLAG)), + compoundExpression([ + set(ref(`ownerEntity${idx}`), methodCall(ref('util.defaultIfNull'), ref(`ctx.args.${role.entity!}`), nul())), + set(ref(`ownerClaim${idx}`), getOwnerClaim(role.claim!)), + iff(equals(ref(`ownerEntity${idx}`), ref(`ownerClaim${idx}`)), set(ref(IS_AUTHORIZED_FLAG), bool(true))), + ]), + ), + ); + } + }); + + return [...(ownerExpression.length > 0 ? ownerExpression : [])]; +}; + +export const generateAuthExpressionForSubscriptions = (providers: ConfiguredAuthProviders, roles: Array): string => { + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, iamRoles, apiKeyRoles } = splitRoles(roles); + const totalAuthExpressions: Array = [set(ref(IS_AUTHORIZED_FLAG), bool(false)), set(ref('allowedFields'), list([]))]; + if (providers.hasApiKey) { + totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); + } + if (providers.hasIAM) { + totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); + } + if (providers.hasUserPools) + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(COGNITO_AUTH_TYPE)), + compoundExpression([...generateStaticRoleExpression(cogntoStaticRoles), ...dynamicRoleExpression(cognitoDynamicRoles)]), + ), + ); + if (providers.hasOIDC) + totalAuthExpressions.push( + iff( + equals(ref('util.authType()'), str(OIDC_AUTH_TYPE)), + compoundExpression([...generateStaticRoleExpression(oidcStaticRoles), ...dynamicRoleExpression(oidcDynamicRoles)]), + ), + ); + totalAuthExpressions.push(iff(not(ref(IS_AUTHORIZED_FLAG)), ref('util.unauthorized()'))); + return printBlock('Authorization Steps')(compoundExpression([...totalAuthExpressions, emptyPayload])); +}; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/constants.ts b/packages/amplify-graphql-auth-transformer/src/utils/constants.ts new file mode 100644 index 00000000000..7b9d3cb428d --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/utils/constants.ts @@ -0,0 +1,32 @@ +import { AuthProvider, ModelOperation } from './definitions'; +export const DEFAULT_OWNER_FIELD = 'owner'; +export const DEFAULT_GROUPS_FIELD = 'groups'; +export const DEFAULT_IDENTITY_CLAIM = 'username'; +export const DEFAULT_COGNITO_IDENTITY_CLAIM = 'cognito:username'; +export const DEFAULT_GROUP_CLAIM = 'cognito:groups'; +export const ON_CREATE_FIELD = 'onCreate'; +export const ON_UPDATE_FIELD = 'onUpdate'; +export const ON_DELETE_FIELD = 'onDelete'; +export const AUTH_NON_MODEL_TYPES = 'authNonModelTypes'; +export const MODEL_OPERATIONS: ModelOperation[] = ['create', 'read', 'update', 'delete']; +export const AUTH_PROVIDER_DIRECTIVE_MAP = new Map([ + ['apiKey', 'aws_api_key'], + ['iam', 'aws_iam'], + ['oidc', 'aws_oidc'], + ['userPools', 'aws_cognito_user_pools'], +]); +// values for $util.authType() https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference.html +export const COGNITO_AUTH_TYPE = 'User Pool Authorization'; +export const OIDC_AUTH_TYPE = 'Open ID Connect Authorization'; +export const IAM_AUTH_TYPE = 'IAM Authorization'; +export const API_KEY_AUTH_TYPE = 'API Key Authorization'; +// resolver refs +export const IS_AUTHORIZED_FLAG = 'isAuthorized'; +export const ALLOWED_FIELDS = 'allowedFields'; +export const NULL_ALLOWED_FIELDS = 'nullAllowedFields'; +export const DENIED_FIELDS = 'deniedFields'; +// Admin Roles +export const ADMIN_ROLE = '_Full-access/CognitoIdentityCredentials'; +export const MANAGE_ROLE = '_Manage-only/CognitoIdentityCredentials'; +// resolver +export const NONE_DS = 'NONE_DS'; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts b/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts new file mode 100644 index 00000000000..786879c3b0e --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts @@ -0,0 +1,99 @@ +import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; +export type AuthStrategy = 'owner' | 'groups' | 'public' | 'private'; +export type AuthProvider = 'apiKey' | 'iam' | 'oidc' | 'userPools'; +export type ModelQuery = 'get' | 'list'; +export type ModelMutation = 'create' | 'update' | 'delete'; +export type ModelOperation = 'create' | 'update' | 'delete' | 'read'; + +export type QuerySource = 'dynamodb' | 'opensearch'; +export interface SearchableConfig { + queries: { + search: string; + }; +} + +export interface RolesByProvider { + cogntoStaticRoles: Array; + cognitoDynamicRoles: Array; + oidcStaticRoles: Array; + oidcDynamicRoles: Array; + iamRoles: Array; + apiKeyRoles: Array; +} + +export interface AuthRule { + allow: AuthStrategy; + provider?: AuthProvider; + ownerField?: string; + identityClaim?: string; + groupsField?: string; + groupClaim?: string; + groups?: string[]; + operations?: ModelOperation[]; + // Used only for IAM provider to decide if an IAM policy needs to be generated. IAM auth with AdminUI does not need IAM policies + generateIAMPolicy?: boolean; +} + +export interface RoleDefinition { + provider: AuthProvider; + strategy: AuthStrategy; + static: boolean; + claim?: string; + entity?: string; + // specific to mutations + allowedFields?: Array; + nullAllowedFields?: Array; +} + +export interface AuthDirective { + rules: AuthRule[]; +} + +export interface ConfiguredAuthProviders { + default: AuthProvider; + onlyDefaultAuthProviderConfigured: boolean; + hasApiKey: boolean; + hasUserPools: boolean; + hasOIDC: boolean; + hasIAM: boolean; + hasAdminUIEnabled: boolean; + adminUserPoolID?: string; +} + +export interface AuthTransformerConfig { + addAwsIamAuthInOutputSchema: boolean; + authConfig?: AppSyncAuthConfiguration; + adminUserPoolID?: string; +} + +export const authDirectiveDefinition = ` + directive @auth(rules: [AuthRule!]!) on OBJECT | FIELD_DEFINITION + input AuthRule { + allow: AuthStrategy! + provider: AuthProvider + identityClaim: String + groupClaim: String + ownerField: String + groupsField: String + groups: [String] + operations: [ModelOperation] + } + enum AuthStrategy { + owner + groups + private + public + } + enum AuthProvider { + apiKey + iam + oidc + userPools + } + enum ModelOperation { + create + update + delete + read + } +`; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/iam.ts b/packages/amplify-graphql-auth-transformer/src/utils/iam.ts new file mode 100644 index 00000000000..596f976ceb6 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/utils/iam.ts @@ -0,0 +1,70 @@ +import * as cdk from '@aws-cdk/core'; +interface PolicyDocument { + [key: string]: any; +} + +export const createPolicyDocumentForManagedPolicy = (resources: Set) => { + const policyDocuments = new Array(); + let policyDocumentResources = new Array(); + let resourceSize = 0; + + // 6144 bytes is the maximum policy payload size, but there is structural overhead, hence the 6000 bytes + const MAX_BUILT_SIZE_BYTES = 6000; + // The overhead is the amount of static policy arn contents like region, accountid, etc. + // arn:aws:appsync:${AWS::Region}:${AWS::AccountId}:apis/${apiId}/types/${typeName}/fields/${fieldName} + // 16 15 13 5 27 6 X+1 7 Y + // 89 + 11 extra = 100 + const RESOURCE_OVERHEAD = 100; + + const createPolicyDocument = (newPolicyDocumentResources: Array): PolicyDocument => { + return { + Version: '2012-10-17', + Statement: [ + { + Effect: 'Allow', + Action: ['appsync:GraphQL'], + Resource: newPolicyDocumentResources, + }, + ], + }; + }; + + for (const resource of resources) { + // We always have 2 parts, no need to check + const [typeName, fieldName] = resource.split('/'); + + if (fieldName !== 'null') { + policyDocumentResources.push( + cdk.Fn.sub('arn:aws:appsync:${AWS::Region}:${AWS::AccountId}:apis/${apiId}/types/${typeName}/fields/${fieldName}', { + apiId: cdk.Fn.getAtt('GraphQLAPI', 'ApiId').toString(), + typeName, + fieldName, + }).toString(), + ); + resourceSize += RESOURCE_OVERHEAD + typeName.length + fieldName.length; + } else { + policyDocumentResources.push( + cdk.Fn.sub('arn:aws:appsync:${AWS::Region}:${AWS::AccountId}:apis/${apiId}/types/${typeName}/*', { + apiId: cdk.Fn.getAtt('GraphQLAPI', 'ApiId').toString(), + typeName, + }).toString(), + ); + resourceSize = RESOURCE_OVERHEAD + typeName.length; + } + // + // Check size of resource and if needed create a new one and clear the resources and + // reset accumulated size + // + if (resourceSize > MAX_BUILT_SIZE_BYTES) { + const policyDocument = createPolicyDocument(policyDocumentResources.slice(0, policyDocumentResources.length - 1)); + policyDocuments.push(policyDocument); + // Remove all but the last item + policyDocumentResources = policyDocumentResources.slice(-1); + resourceSize = 0; + } + } + if (policyDocumentResources.length > 0) { + policyDocuments.push(createPolicyDocument(policyDocumentResources)); + } + return policyDocuments; +}; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/index.ts b/packages/amplify-graphql-auth-transformer/src/utils/index.ts new file mode 100644 index 00000000000..1b67a600293 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/utils/index.ts @@ -0,0 +1,152 @@ +import { ModelDirectiveConfiguration, SubscriptionLevel } from '@aws-amplify/graphql-model-transformer'; +import { DirectiveWrapper } from '@aws-amplify/graphql-transformer-core'; +import { AppSyncAuthMode } from '@aws-amplify/graphql-transformer-interfaces'; +import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces'; +import { Stack } from '@aws-cdk/core'; +import { DirectiveNode, ObjectTypeDefinitionNode } from 'graphql'; +import { toCamelCase, plurality, graphqlName, toUpper } from 'graphql-transformer-common'; +import { + AuthProvider, + AuthRule, + AuthTransformerConfig, + ConfiguredAuthProviders, + RoleDefinition, + RolesByProvider, + SearchableConfig, +} from './definitions'; + +export * from './constants'; +export * from './definitions'; +export * from './validations'; +export * from './schema'; +export * from './iam'; + +export const splitRoles = (roles: Array): RolesByProvider => { + return { + cogntoStaticRoles: roles.filter(r => r.static && r.provider === 'userPools'), + cognitoDynamicRoles: roles.filter(r => !r.static && r.provider === 'userPools'), + oidcStaticRoles: roles.filter(r => r.static && r.provider === 'oidc'), + oidcDynamicRoles: roles.filter(r => !r.static && r.provider === 'oidc'), + iamRoles: roles.filter(r => r.provider === 'iam'), + apiKeyRoles: roles.filter(r => r.provider === 'apiKey'), + }; +}; +/** + * Ensure the following defaults + * - provider + * - iam policy generation + */ +export const ensureAuthRuleDefaults = (rules: AuthRule[]) => { + // We assign the default provider if an override is not present make further handling easier. + for (const rule of rules) { + if (!rule.provider) { + switch (rule.allow) { + case 'owner': + case 'groups': + rule.provider = 'userPools'; + break; + case 'private': + rule.provider = 'userPools'; + break; + case 'public': + rule.provider = 'apiKey'; + break; + default: + throw new Error(`Need to specify an allow to assigned a provider: ${rule}`); + } + } + // by default we generate an IAM policy for every rule + if (rule.provider === 'iam' && !rule.generateIAMPolicy) { + rule.generateIAMPolicy = true; + } + } +}; + +export const getModelConfig = (directive: DirectiveNode, typeName: string, isDataStoreEnabled = false): ModelDirectiveConfiguration => { + const directiveWrapped: DirectiveWrapper = new DirectiveWrapper(directive); + const options = directiveWrapped.getArguments({ + queries: { + get: toCamelCase(['get', typeName]), + list: toCamelCase(['list', plurality(typeName, true)]), + ...(isDataStoreEnabled ? { sync: toCamelCase(['sync', plurality(typeName, true)]) } : undefined), + }, + mutations: { + create: toCamelCase(['create', typeName]), + update: toCamelCase(['update', typeName]), + delete: toCamelCase(['delete', typeName]), + }, + subscriptions: { + level: SubscriptionLevel.on, + onCreate: [toCamelCase(['onCreate', typeName])], + onDelete: [toCamelCase(['onDelete', typeName])], + onUpdate: [toCamelCase(['onUpdate', typeName])], + }, + timestamps: { + createdAt: 'createdAt', + updatedAt: 'updatedAt', + }, + }); + return options; +}; + +export const getSearchableConfig = (directive: DirectiveNode, typeName: string): SearchableConfig | null => { + const directiveWrapped: DirectiveWrapper = new DirectiveWrapper(directive); + const options = directiveWrapped.getArguments({ + queries: { + search: graphqlName(`search${plurality(toUpper(typeName), true)}`), + }, + }); + return options; +}; +/** + * gets stack name if the field is paired with function, predictions, or by itself + */ +export const getStackForField = ( + ctx: TransformerContextProvider, + obj: ObjectTypeDefinitionNode, + fieldName: string, + hasModelDirective: boolean, +): Stack => { + const fieldNode = obj.fields.find(f => f.name.value === fieldName); + const fieldDirectives = fieldNode.directives.map(d => d.name.value); + if (fieldDirectives.includes('function')) { + return ctx.stackManager.getStack('FunctionDirectiveStack'); + } else if (fieldDirectives.includes('predictions')) { + return ctx.stackManager.getStack('PredictionsDirectiveStack'); + } else if (hasModelDirective) { + return ctx.stackManager.getStack(obj.name.value); + } else { + return ctx.stackManager.rootStack; + } +}; + +export const getConfiguredAuthProviders = (config: AuthTransformerConfig): ConfiguredAuthProviders => { + const providers = [ + config.authConfig.defaultAuthentication.authenticationType, + ...config.authConfig.additionalAuthenticationProviders.map(p => p.authenticationType), + ]; + const getAuthProvider = (authType: AppSyncAuthMode): AuthProvider => { + switch (authType) { + case 'AMAZON_COGNITO_USER_POOLS': + return 'userPools'; + case 'API_KEY': + return 'apiKey'; + case 'AWS_IAM': + return 'iam'; + case 'OPENID_CONNECT': + return 'oidc'; + } + }; + const hasIAM = providers.some(p => p === 'AWS_IAM'); + const configuredProviders: ConfiguredAuthProviders = { + default: getAuthProvider(config.authConfig.defaultAuthentication.authenticationType), + onlyDefaultAuthProviderConfigured: config.authConfig.additionalAuthenticationProviders.length === 0, + hasAdminUIEnabled: hasIAM && config.addAwsIamAuthInOutputSchema, + adminUserPoolID: config.adminUserPoolID!, + hasApiKey: providers.some(p => p === 'API_KEY'), + hasUserPools: providers.some(p => p === 'AMAZON_COGNITO_USER_POOLS'), + hasOIDC: providers.some(p => p === 'OPENID_CONNECT'), + hasIAM, + }; + return configuredProviders; +}; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/schema.ts b/packages/amplify-graphql-auth-transformer/src/utils/schema.ts new file mode 100644 index 00000000000..d0cb99c4b0e --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/utils/schema.ts @@ -0,0 +1,209 @@ +import { ModelDirectiveConfiguration, SubscriptionLevel } from '@aws-amplify/graphql-model-transformer'; +import { + QueryFieldType, + MutationFieldType, + TransformerTransformSchemaStepContextProvider, +} from '@aws-amplify/graphql-transformer-interfaces'; +import { ObjectTypeDefinitionNode, FieldDefinitionNode, DirectiveNode, NamedTypeNode } from 'graphql'; +import { + blankObjectExtension, + extendFieldWithDirectives, + extensionWithDirectives, + isListType, + makeInputValueDefinition, + makeNamedType, + plurality, + toCamelCase, +} from 'graphql-transformer-common'; +import { RoleDefinition } from './definitions'; + +export const collectFieldNames = (object: ObjectTypeDefinitionNode): Array => { + return object.fields!.map((field: FieldDefinitionNode) => field.name.value); +}; + +export const fieldIsList = (fields: ReadonlyArray, fieldName: string) => { + return fields.some(field => field.name.value === fieldName && isListType(field.type)); +}; + +export const extendTypeWithDirectives = ( + ctx: TransformerTransformSchemaStepContextProvider, + typeName: string, + directives: Array, +): void => { + let objectTypeExtension = blankObjectExtension(typeName); + objectTypeExtension = extensionWithDirectives(objectTypeExtension, directives); + ctx.output.addObjectExtension(objectTypeExtension); +}; + +export const addDirectivesToField = ( + ctx: TransformerTransformSchemaStepContextProvider, + typeName: string, + fieldName: string, + directives: Array, +) => { + const type = ctx.output.getType(typeName) as ObjectTypeDefinitionNode; + if (type) { + const field = type.fields?.find(f => f.name.value === fieldName); + if (field) { + const newFields = [...type.fields!.filter(f => f.name.value !== field.name.value), extendFieldWithDirectives(field, directives)]; + + const newType = { + ...type, + fields: newFields, + }; + + ctx.output.putType(newType); + } + } +}; + +export const addSubscriptionArguments = ( + ctx: TransformerTransformSchemaStepContextProvider, + operationName: string, + subscriptionRoles: Array, +) => { + let subscription = ctx.output.getSubscription()!; + let createField: FieldDefinitionNode = subscription!.fields!.find(field => field.name.value === operationName) as FieldDefinitionNode; + const subcriptionArgumentList = subscriptionRoles.map(role => { + return makeInputValueDefinition(role.entity!, makeNamedType('String')); + }); + createField = { + ...createField, + arguments: subcriptionArgumentList, + }; + subscription = { + ...subscription, + fields: subscription!.fields!.map(field => (field.name.value === operationName ? createField : field)), + }; + ctx.output.putType(subscription); +}; + +export const addDirectivesToOperation = ( + ctx: TransformerTransformSchemaStepContextProvider, + typeName: string, + operationName: string, + directives: Array, +) => { + // add directives to the given operation + addDirectivesToField(ctx, typeName, operationName, directives); + + // add the directives to the result type of the operation + const type = ctx.output.getType(typeName) as ObjectTypeDefinitionNode; + if (type) { + const field = type.fields!.find(f => f.name.value === operationName); + + if (field) { + const returnFieldType = field.type as NamedTypeNode; + + if (returnFieldType.name) { + const returnTypeName = returnFieldType.name.value; + + extendTypeWithDirectives(ctx, returnTypeName, directives); + } + } + } +}; + +export const getQueryFieldNames = ( + modelDirectiveConfig: ModelDirectiveConfiguration, +): Set<{ fieldName: string; typeName: string; type: QueryFieldType }> => { + const fields: Set<{ fieldName: string; typeName: string; type: QueryFieldType }> = new Set(); + if (modelDirectiveConfig?.queries?.get) { + fields.add({ + typeName: 'Query', + fieldName: modelDirectiveConfig.queries.get, + type: QueryFieldType.GET, + }); + } + + if (modelDirectiveConfig?.queries?.list) { + fields.add({ + typeName: 'Query', + fieldName: modelDirectiveConfig.queries.list, + type: QueryFieldType.LIST, + }); + } + + if (modelDirectiveConfig?.queries?.sync) { + fields.add({ + typeName: 'Query', + fieldName: modelDirectiveConfig.queries.sync, + type: QueryFieldType.SYNC, + }); + } + return fields; +}; + +export const getMutationFieldNames = ( + modelDirectiveConfig: ModelDirectiveConfiguration, +): Set<{ fieldName: string; typeName: string; type: MutationFieldType }> => { + // Todo: get fields names from the directives + const getMutationType = (type: string): MutationFieldType => { + switch (type) { + case 'create': + return MutationFieldType.CREATE; + case 'update': + return MutationFieldType.UPDATE; + case 'delete': + return MutationFieldType.DELETE; + default: + throw new Error('Unknown mutation type'); + } + }; + + const fieldNames: Set<{ fieldName: string; typeName: string; type: MutationFieldType }> = new Set(); + for (let [mutationType, mutationName] of Object.entries(modelDirectiveConfig?.mutations || {})) { + if (mutationName) { + fieldNames.add({ + typeName: 'Mutation', + fieldName: mutationName, + type: getMutationType(mutationType), + }); + } + } + + return fieldNames; +}; + +export const getSubscriptionFieldNames = ( + modelDirectiveConfig: ModelDirectiveConfiguration, +): Set<{ + fieldName: string; + typeName: string; +}> => { + const fields: Set<{ + fieldName: string; + typeName: string; + }> = new Set(); + + if (modelDirectiveConfig?.subscriptions?.level === SubscriptionLevel.on) { + if (modelDirectiveConfig?.subscriptions?.onCreate && modelDirectiveConfig.mutations?.create) { + for (const fieldName of modelDirectiveConfig.subscriptions.onCreate) { + fields.add({ + typeName: 'Subscription', + fieldName: fieldName, + }); + } + } + + if (modelDirectiveConfig?.subscriptions?.onUpdate && modelDirectiveConfig.mutations?.update) { + for (const fieldName of modelDirectiveConfig.subscriptions.onUpdate) { + fields.add({ + typeName: 'Subscription', + fieldName: fieldName, + }); + } + } + + if (modelDirectiveConfig?.subscriptions?.onDelete && modelDirectiveConfig.mutations?.delete) { + for (const fieldName of modelDirectiveConfig.subscriptions.onDelete) { + fields.add({ + typeName: 'Subscription', + fieldName: fieldName, + }); + } + } + } + + return fields; +}; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/validations.ts b/packages/amplify-graphql-auth-transformer/src/utils/validations.ts new file mode 100644 index 00000000000..d68646b90e9 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/utils/validations.ts @@ -0,0 +1,123 @@ +import { InvalidDirectiveError } from '@aws-amplify/graphql-transformer-core'; +import { AuthRule, ConfiguredAuthProviders } from './definitions'; + +export const validateRuleAuthStrategy = (rule: AuthRule, configuredAuthProviders: ConfiguredAuthProviders) => { + // + // Groups + // + if (rule.allow === 'groups' && rule.provider !== 'userPools' && rule.provider !== 'oidc') { + throw new InvalidDirectiveError( + `@auth directive with 'groups' strategy only supports 'userPools' and 'oidc' providers, but found '${rule.provider}' assigned.`, + ); + } + if (rule.allow === 'groups' && !rule.groups && !rule.groupsField) { + throw new InvalidDirectiveError(`@auth directive with 'groups' should have a defined groups list or a groupsField.`); + } + + // + // Owner + // + if (rule.allow === 'owner') { + if (rule.provider !== null && rule.provider !== 'userPools' && rule.provider !== 'oidc') { + throw new InvalidDirectiveError( + `@auth directive with 'owner' strategy only supports 'userPools' (default) and 'oidc' providers, but \ +found '${rule.provider}' assigned.`, + ); + } + } + + // + // Public + // + if (rule.allow === 'public') { + if (rule.provider !== null && rule.provider !== 'apiKey' && rule.provider !== 'iam') { + throw new InvalidDirectiveError( + `@auth directive with 'public' strategy only supports 'apiKey' (default) and 'iam' providers, but \ +found '${rule.provider}' assigned.`, + ); + } + } + + // + // Private + // + if (rule.allow === 'private') { + if (rule.provider !== null && rule.provider !== 'userPools' && rule.provider !== 'iam') { + throw new InvalidDirectiveError( + `@auth directive with 'private' strategy only supports 'userPools' (default) and 'iam' providers, but \ +found '${rule.provider}' assigned.`, + ); + } + } + + // + // Validate provider values against project configuration. + // + if (rule.provider === 'apiKey' && configuredAuthProviders.hasApiKey === false) { + throw new InvalidDirectiveError( + `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`, + ); + } else if (rule.provider === 'oidc' && configuredAuthProviders.hasOIDC === false) { + throw new InvalidDirectiveError( + `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`, + ); + } else if (rule.provider === 'userPools' && configuredAuthProviders.hasUserPools === false) { + throw new InvalidDirectiveError( + `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`, + ); + } else if (rule.provider === 'iam' && configuredAuthProviders.hasIAM === false) { + throw new InvalidDirectiveError( + `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`, + ); + } +}; + +export const validateRules = (rules: AuthRule[], configuredAuthProviders: ConfiguredAuthProviders) => { + for (const rule of rules) { + validateRuleAuthStrategy(rule, configuredAuthProviders); + commonRuleValidation(rule); + } +}; + +export const validateFieldRules = ( + rules: AuthRule[], + isParentTypeBuiltinType: boolean, + parentHasModelDirective: boolean, + authProviderConfig: ConfiguredAuthProviders, +) => { + for (const rule of rules) { + validateRuleAuthStrategy(rule, authProviderConfig); + + if (isParentTypeBuiltinType && rule.operations && rule.operations.length > 0) { + throw new InvalidDirectiveError( + `@auth rules on fields within Query, Mutation, Subscription cannot specify 'operations' argument as these rules \ +are already on an operation already.`, + ); + } + + if (!parentHasModelDirective && rule.operations && rule.operations.length > 0) { + throw new InvalidDirectiveError( + `@auth rules on fields within types that does not have @model directive cannot specify 'operations' argument as there are \ +operations will be generated by the CLI.`, + ); + } + + commonRuleValidation(rule); + } +}; + +// commmon rule validation between obj and field +export const commonRuleValidation = (rule: AuthRule) => { + const { identityClaim, allow, groups, groupsField, groupClaim } = rule; + if (allow === 'groups' && identityClaim) { + throw new InvalidDirectiveError(` + @auth identityClaim can only be used for 'allow: owner'`); + } + if (allow === 'owner' && groupClaim) { + throw new InvalidDirectiveError(` + @auth groupClaim can only be used 'allow: groups'`); + } + if (groupsField && groups) { + throw new InvalidDirectiveError('This rule has groupsField and groups, please use one or the other'); + } +}; diff --git a/packages/amplify-graphql-auth-transformer/tsconfig.json b/packages/amplify-graphql-auth-transformer/tsconfig.json new file mode 100644 index 00000000000..e00f8011a38 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "strict": false, // TODO enable + "rootDir": "src", + "outDir": "lib" + }, + "references": [ + {"path": "../amplify-graphql-transformer-interfaces"}, + {"path": "../amplify-graphql-transformer-core"}, + {"path": "../amplify-graphql-model-transformer"}, + {"path": "../graphql-mapping-template"}, + {"path": "../graphql-transformer-common"} + ] +} diff --git a/packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer.test.ts.snap b/packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer.test.ts.snap index cd54de62ac8..96ab67a114d 100644 --- a/packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer.test.ts.snap +++ b/packages/amplify-graphql-function-transformer/src/__tests__/__snapshots__/amplify-graphql-function-transformer.test.ts.snap @@ -3,7 +3,7 @@ exports[`it generates the expected resources 1`] = ` Object { "InvokeEchofunctionLambdaDataSource.req.vtl": "## [Start] Invoke AWS Lambda data source: EchofunctionLambdaDataSource. ** -{ +$util.toJson({ \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Invoke\\", \\"payload\\": { @@ -15,7 +15,7 @@ Object { \\"request\\": $util.toJson($ctx.request), \\"prev\\": $util.toJson($ctx.prev) } -} +}) ## [End] Invoke AWS Lambda data source: EchofunctionLambdaDataSource. **", "InvokeEchofunctionLambdaDataSource.res.vtl": "## [Start] Handle error or return result. ** #if( $ctx.error ) @@ -23,11 +23,6 @@ Object { #end $util.toJson($ctx.result) ## [End] Handle error or return result. **", - "Query.echo.req.vtl": "## [Start] Stash resolver specific context.. ** -$util.qr($ctx.stash.put(\\"typeName\\", \\"Query\\")) -$util.qr($ctx.stash.put(\\"fieldName\\", \\"echo\\")) -{} -## [End] Stash resolver specific context.. **", "Query.echo.res.vtl": "$util.toJson($ctx.prev.result)", } `; diff --git a/packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer.test.ts b/packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer.test.ts index 7f0ee96fc67..4f3dc104065 100644 --- a/packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer.test.ts +++ b/packages/amplify-graphql-function-transformer/src/__tests__/amplify-graphql-function-transformer.test.ts @@ -116,9 +116,7 @@ test('it generates the expected resources', () => { PipelineConfig: { Functions: [{ 'Fn::GetAtt': [anything(), 'FunctionId'] }], }, - RequestMappingTemplateS3Location: { - 'Fn::Join': ['', ['s3://', { Ref: anything() }, '/', { Ref: anything() }, '/pipelineFunctions/Query.echo.req.vtl']], - }, + RequestMappingTemplate: anything(), ResponseMappingTemplateS3Location: { 'Fn::Join': ['', ['s3://', { Ref: anything() }, '/', { Ref: anything() }, '/pipelineFunctions/Query.echo.res.vtl']], }, diff --git a/packages/amplify-graphql-function-transformer/src/graphql-function-transformer.ts b/packages/amplify-graphql-function-transformer/src/graphql-function-transformer.ts index c6a193ddd58..2fd2e60cd5b 100644 --- a/packages/amplify-graphql-function-transformer/src/graphql-function-transformer.ts +++ b/packages/amplify-graphql-function-transformer/src/graphql-function-transformer.ts @@ -1,8 +1,15 @@ -import { DirectiveWrapper, MappingTemplate, TransformerPluginBase } from '@aws-amplify/graphql-transformer-core'; +import { + DirectiveWrapper, + IAM_AUTH_ROLE_PARAMETER, + IAM_UNAUTH_ROLE_PARAMETER, + MappingTemplate, + TransformerPluginBase, +} from '@aws-amplify/graphql-transformer-core'; import { TransformerContextProvider, TransformerSchemaVisitStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces'; import * as lambda from '@aws-cdk/aws-lambda'; +import { AuthorizationType } from '@aws-cdk/aws-appsync'; import * as cdk from '@aws-cdk/core'; -import { obj, str, ref, printBlock, compoundExpression, qref, raw, iff } from 'graphql-mapping-template'; +import { obj, str, toJson, ref, printBlock, compoundExpression, qref, raw, iff, Expression } from 'graphql-mapping-template'; import { FunctionResourceIDs, ResolverResourceIDs, ResourceConstants } from 'graphql-transformer-common'; import { DirectiveNode, ObjectTypeDefinitionNode, InterfaceTypeDefinitionNode, FieldDefinitionNode } from 'graphql'; @@ -88,19 +95,21 @@ export class FunctionTransformer extends TransformerPluginBase { functionId, MappingTemplate.s3MappingTemplateFromString( printBlock(`Invoke AWS Lambda data source: ${dataSourceId}`)( - obj({ - version: str('2018-05-29'), - operation: str('Invoke'), - payload: obj({ - typeName: ref('ctx.stash.get("typeName")'), - fieldName: ref('ctx.stash.get("fieldName")'), - arguments: ref('util.toJson($ctx.arguments)'), - identity: ref('util.toJson($ctx.identity)'), - source: ref('util.toJson($ctx.source)'), - request: ref('util.toJson($ctx.request)'), - prev: ref('util.toJson($ctx.prev)'), + toJson( + obj({ + version: str('2018-05-29'), + operation: str('Invoke'), + payload: obj({ + typeName: ref('ctx.stash.get("typeName")'), + fieldName: ref('ctx.stash.get("fieldName")'), + arguments: ref('util.toJson($ctx.arguments)'), + identity: ref('util.toJson($ctx.identity)'), + source: ref('util.toJson($ctx.source)'), + request: ref('util.toJson($ctx.request)'), + prev: ref('util.toJson($ctx.prev)'), + }), }), - }), + ), ), `${functionId}.req.vtl`, ), @@ -124,20 +133,37 @@ export class FunctionTransformer extends TransformerPluginBase { const resolverId = ResolverResourceIDs.ResolverResourceID(config.resolverTypeName, config.resolverFieldName); let resolver = createdResources.get(resolverId); + const requestTemplate: Array = [ + qref(`$ctx.stash.put("typeName", "${config.resolverTypeName}")`), + qref(`$ctx.stash.put("fieldName", "${config.resolverFieldName}")`), + ]; + const authModes = [context.authConfig.defaultAuthentication, ...(context.authConfig.additionalAuthenticationProviders || [])].map( + mode => mode?.authenticationType, + ); + if (authModes.includes(AuthorizationType.IAM)) { + const authRoleParameter = (context.stackManager.getParameter(IAM_AUTH_ROLE_PARAMETER) as cdk.CfnParameter).valueAsString; + const unauthRoleParameter = (context.stackManager.getParameter(IAM_UNAUTH_ROLE_PARAMETER) as cdk.CfnParameter).valueAsString; + requestTemplate.push( + qref( + `$ctx.stash.put("authRole", "arn:aws:sts::${ + cdk.Stack.of(context.stackManager.rootStack).account + }:assumed-role/${authRoleParameter}/CognitoIdentityCredentials")`, + ), + qref( + `$ctx.stash.put("unauthRole", "arn:aws:sts::${ + cdk.Stack.of(context.stackManager.rootStack).account + }:assumed-role/${unauthRoleParameter}/CognitoIdentityCredentials")`, + ), + ); + } + requestTemplate.push(obj({})); + if (resolver === undefined) { + // TODO: update function to use resolver manager resolver = context.api.host.addResolver( config.resolverTypeName, config.resolverFieldName, - MappingTemplate.s3MappingTemplateFromString( - printBlock('Stash resolver specific context.')( - compoundExpression([ - qref(`$ctx.stash.put("typeName", "${config.resolverTypeName}")`), - qref(`$ctx.stash.put("fieldName", "${config.resolverFieldName}")`), - obj({}), - ]), - ), - `${config.resolverTypeName}.${config.resolverFieldName}.req.vtl`, - ), + MappingTemplate.inlineTemplateFromString(printBlock('Stash resolver specific context.')(compoundExpression(requestTemplate))), MappingTemplate.s3MappingTemplateFromString( '$util.toJson($ctx.prev.result)', `${config.resolverTypeName}.${config.resolverFieldName}.res.vtl`, @@ -146,7 +172,6 @@ export class FunctionTransformer extends TransformerPluginBase { [], stack, ); - createdResources.set(resolverId, resolver); } @@ -159,7 +184,7 @@ export class FunctionTransformer extends TransformerPluginBase { function lambdaArnResource(env: cdk.CfnParameter, name: string, region?: string): string { const substitutions: { [key: string]: string } = {}; if (name.includes('${env}')) { - substitutions.env = (env as unknown) as string; + substitutions.env = env as unknown as string; } return cdk.Fn.conditionIf( ResourceConstants.CONDITIONS.HasEnvironmentParameter, diff --git a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap index b7414b70b56..7daa8001e59 100644 --- a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap +++ b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap @@ -13,7 +13,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -124,14 +130,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -201,13 +214,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -217,7 +231,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -373,35 +393,64 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", "Query.listByEmailKindDate.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -520,12 +569,38 @@ $util.toJson($GetRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.listByEmailKindDate.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listTests.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -535,8 +610,20 @@ $util.toJson($ctx.result)", #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -560,13 +647,13 @@ $util.toJson($ctx.result)", #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Query.testsByCategory.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -639,12 +726,77 @@ $util.toJson($ListRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByCategory.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -661,7 +813,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -772,14 +930,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -849,13 +1014,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -865,7 +1031,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1021,35 +1193,64 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", "Query.listByEmailKindDate.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -1168,12 +1369,38 @@ $util.toJson($GetRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.listByEmailKindDate.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listTests.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -1183,8 +1410,20 @@ $util.toJson($ctx.result)", #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1208,13 +1447,58 @@ $util.toJson($ctx.result)", #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -1231,7 +1515,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1342,14 +1632,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1419,13 +1716,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -1435,7 +1733,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1591,35 +1895,64 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", "Query.listByEmailKindDate.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -1738,12 +2071,38 @@ $util.toJson($GetRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.listByEmailKindDate.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listTests.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -1753,8 +2112,20 @@ $util.toJson($ctx.result)", #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1778,13 +2149,13 @@ $util.toJson($ctx.result)", #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Query.testsByCategory.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -1857,7 +2228,27 @@ $util.toJson($ListRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByCategory.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) @@ -1895,12 +2286,77 @@ $util.toJson($ctx.result)", #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByEmail.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -2136,7 +2592,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2232,14 +2694,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2307,13 +2776,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2323,7 +2793,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2464,14 +2940,21 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email), \\"createdAt\\": $util.dynamodb.toDynamoDB($ctx.args.createdAt) @@ -2481,25 +2964,47 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", "Query.listByEmailKindDate.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -2618,13 +3123,39 @@ $util.toJson($GetRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.listByEmailKindDate.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.email) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'email'.\\", \\"InvalidArgumentsError\\") #end @@ -2695,8 +3226,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -2720,13 +3263,13 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Query.testsByCategory.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -2799,7 +3342,27 @@ $util.toJson($ListRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByCategory.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) @@ -2837,12 +3400,77 @@ $util.toJson($ctx.result)", #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByEmail.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -2859,7 +3487,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.addContentToCategory.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.addContentToCategory.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.addContentToCategory.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2970,13 +3604,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"ContentCategory\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.addContentToCategory.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.addContentToCategory.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createBlog.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -2988,6 +3623,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createBlog.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -3072,13 +3713,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Blog\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createBlog.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createBlog.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createItem.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -3090,7 +3732,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createItem.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createItem.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3193,13 +3841,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Item\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createItem.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createItem.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -3211,7 +3860,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3307,13 +3962,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createTodo.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -3325,6 +3981,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createTodo.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -3409,13 +4071,20 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Todo\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTodo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTodo.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteBlog.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -3473,14 +4142,21 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteBlog.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteBlog.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteContentFromCategory.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteContentFromCategory.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteContentFromCategory.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3550,14 +4226,21 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteContentFromCategory.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteContentFromCategory.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteItem.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteItem.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3625,14 +4308,21 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteItem.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteItem.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3700,13 +4390,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteTodo.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -3764,13 +4461,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTodo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTodo.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateBlog.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -3780,6 +4478,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateBlog.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -3909,13 +4613,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateBlog.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateBlog.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateItem.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -3925,7 +4630,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateItem.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateItem.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -4073,13 +4784,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateItem.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateItem.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -4089,7 +4801,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -4230,13 +4948,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTodo.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -4246,6 +4965,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateTodo.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -4375,13 +5100,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTodo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTodo.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Query.byCreatedAt.req.vtl": "## [Start] Set query expression for key ** #if( !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"sortDirection is not supported for List operations without a Sort key defined.\\", \\"InvalidArgumentsError\\") @@ -4414,35 +5140,89 @@ $util.toJson($UpdateItem) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.byCreatedAt.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Query.getBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getBlog.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getBlog.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getBlog.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.getItem.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] Get Response template. **", + "Query.getItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getItem.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"orderId\\": $util.dynamodb.toDynamoDB($ctx.args.orderId), \\"status#createdAt\\": $util.dynamodb.toDynamoDB(\\"\${ctx.args.status}#\${ctx.args.createdAt}\\") @@ -4452,26 +5232,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getItem.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getItem.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getItem.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] Get Response template. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email), \\"createdAt\\": $util.dynamodb.toDynamoDB($ctx.args.createdAt) @@ -4481,47 +5289,97 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTodo.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) -#else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) +#else + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTodo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTodo.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", "Query.itemsByCreatedAt.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -4594,7 +5452,27 @@ $util.toJson($GetRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.itemsByCreatedAt.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) @@ -4672,12 +5550,38 @@ $util.toJson($ctx.result)", #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.itemsByStatus.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Query.listBlogs.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listBlogs.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -4687,8 +5591,20 @@ $util.toJson($ctx.result)", #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -4712,13 +5628,13 @@ $util.toJson($ctx.result)", #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listBlogs.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listBlogs.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Query.listByEmailKindDate.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -4837,7 +5753,27 @@ $util.toJson($ListRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.listByEmailKindDate.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) @@ -4978,13 +5914,39 @@ $util.toJson($ctx.result)", #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.listContentByCategory.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", - "Query.listItems.postAuth.1.req.vtl": "## [Start] Set query expression for key ** + "Query.listItems.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listItems.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.orderId) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'orderId'.\\", \\"InvalidArgumentsError\\") #end @@ -5101,8 +6063,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -5126,14 +6100,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listItems.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listItems.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] ResponseTemplate. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.email) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'email'.\\", \\"InvalidArgumentsError\\") #end @@ -5204,8 +6184,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -5229,13 +6221,13 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Query.testsByCategory.req.vtl": "## [Start] Set query expression for key ** #set( $modelQueryExpression = {} ) ## [Start] Validate key arguments. ** @@ -5308,7 +6300,27 @@ $util.toJson($ListRequest) #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByCategory.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) @@ -5346,7 +6358,27 @@ $util.toJson($ctx.result)", #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByEmail.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) @@ -5424,11 +6456,241 @@ $util.toJson($ctx.result)", #set( $QueryRequest.scanIndexForward = true ) #end #if( $context.args.nextToken ) #set( $QueryRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) #set( $QueryRequest.filter = $util.parseJson(\\"$util.transform.toDynamoDBFilterExpression($ctx.args.filter)\\") ) #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $QueryRequest.filter = $filterExpression ) + #end +#end $util.toJson($QueryRequest)", "Query.testsByEmailByUpdatedAt.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #end $util.toJson($ctx.result)", + "Subscription.onCreateBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateBlog.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateBlog.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onCreateContentCategory.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateContentCategory.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateContentCategory.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onCreateItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateItem.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateItem.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onCreateTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTodo.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTodo.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteBlog.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteBlog.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteContentCategory.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteContentCategory.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteContentCategory.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteItem.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteItem.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTodo.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTodo.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateBlog.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateBlog.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateItem.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateItem.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTodo.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTodo.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; diff --git a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap index 327c5ae5eca..363263ed2ec 100644 --- a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap +++ b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap @@ -13,7 +13,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -116,14 +122,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -191,13 +204,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -207,7 +221,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -355,14 +375,21 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email), \\"kind#other\\": $util.dynamodb.toDynamoDB(\\"\${ctx.args.kind}#\${ctx.args.other}\\") @@ -372,26 +399,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] Get Response template. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.email) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'email'.\\", \\"InvalidArgumentsError\\") #end @@ -508,8 +563,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -533,13 +600,58 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -556,7 +668,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -652,14 +770,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -727,13 +852,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -743,7 +869,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -884,14 +1016,21 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email), \\"kind\\": $util.dynamodb.toDynamoDB($ctx.args.kind) @@ -901,26 +1040,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] Get Response template. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.email) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'email'.\\", \\"InvalidArgumentsError\\") #end @@ -991,8 +1158,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1016,13 +1195,58 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -1039,7 +1263,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1134,14 +1364,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1208,13 +1445,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -1224,7 +1462,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1364,14 +1608,21 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email) })) @@ -1380,26 +1631,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"sortDirection is not supported for List operations without a Sort key defined.\\", \\"InvalidArgumentsError\\") #end @@ -1427,8 +1706,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1452,13 +1743,58 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -1475,7 +1811,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1571,14 +1913,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1646,13 +1995,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -1662,7 +2012,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -1803,14 +2159,21 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"status\\": $util.dynamodb.toDynamoDB($ctx.args.status), \\"lastStatus\\": $util.dynamodb.toDynamoDB($ctx.args.lastStatus) @@ -1820,26 +2183,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] Get Response template. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.status) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'status'.\\", \\"InvalidArgumentsError\\") #end @@ -1910,8 +2301,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1935,13 +2338,58 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -1958,7 +2406,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2054,14 +2508,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2129,13 +2590,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.testCreate.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -2147,7 +2609,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.testCreate.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.testCreate.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.testCreate.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2243,14 +2711,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.testCreate.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.testCreate.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.testDelete.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.testDelete.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.testDelete.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2318,13 +2793,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.testDelete.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.testDelete.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.testUpdate.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2334,7 +2810,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.testUpdate.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.testUpdate.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.testUpdate.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2475,13 +2957,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.testUpdate.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.testUpdate.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2491,7 +2974,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2632,14 +3121,21 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email) })) @@ -2648,26 +3144,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] Get Response template. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"sortDirection is not supported for List operations without a Sort key defined.\\", \\"InvalidArgumentsError\\") #end @@ -2695,8 +3219,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -2720,14 +3256,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.testGet.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.testGet.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.testGet.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id), \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email) @@ -2737,26 +3279,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.testGet.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.testGet.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.testGet.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.testList.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] Get Response template. **", + "Query.testList.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.testList.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.id) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'id'.\\", \\"InvalidArgumentsError\\") #end @@ -2827,8 +3397,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -2852,13 +3434,58 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.testList.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.testList.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; @@ -2875,7 +3502,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -2970,14 +3603,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3044,13 +3684,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.testCreate.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -3062,7 +3703,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.testCreate.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.testCreate.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.testCreate.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3158,14 +3805,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.testCreate.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.testCreate.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.testDelete.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.testDelete.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.testDelete.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3233,13 +3887,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.testDelete.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.testDelete.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.testUpdate.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -3249,7 +3904,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.testUpdate.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.testUpdate.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.testUpdate.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3390,13 +4051,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.testUpdate.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.testUpdate.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -3406,7 +4068,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -3546,14 +4214,21 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.getTest.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email) })) @@ -3562,26 +4237,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", - "Query.listTests.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTests.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"sortDirection is not supported for List operations without a Sort key defined.\\", \\"InvalidArgumentsError\\") #end @@ -3609,8 +4312,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3634,14 +4349,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.testGet.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] ResponseTemplate. **", + "Query.testGet.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.testGet.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id), \\"email\\": $util.dynamodb.toDynamoDB($ctx.args.email) @@ -3651,26 +4372,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.testGet.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.testGet.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.testGet.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.testList.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] Get Response template. **", + "Query.testList.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.testList.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.id) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'id'.\\", \\"InvalidArgumentsError\\") #end @@ -3741,8 +4490,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3766,12 +4527,57 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.testList.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.testList.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** +$util.toJson(null) +## [End] Subscription Resonse template. **", } `; diff --git a/packages/amplify-graphql-index-transformer/src/resolvers.ts b/packages/amplify-graphql-index-transformer/src/resolvers.ts index 7bed95bc36b..7ac56acaeba 100644 --- a/packages/amplify-graphql-index-transformer/src/resolvers.ts +++ b/packages/amplify-graphql-index-transformer/src/resolvers.ts @@ -11,12 +11,16 @@ import { block, bool, compoundExpression, + equals, Expression, forEach, ifElse, iff, + int, + isNullOrEmpty, list, methodCall, + not, obj, print, printBlock, @@ -293,7 +297,7 @@ function setQuerySnippet(config: PrimaryKeyDirectiveConfiguration, ctx: Transfor expressions.push( set(ref(ResourceConstants.SNIPPETS.ModelQueryExpression), obj({})), - applyKeyExpressionForCompositeKey(keyNames, keyTypes, ResourceConstants.SNIPPETS.ModelQueryExpression), + applyKeyExpressionForCompositeKey(keyNames, keyTypes, ResourceConstants.SNIPPETS.ModelQueryExpression)!, ); return block(`Set query expression for key`, expressions); @@ -410,6 +414,7 @@ function makeQueryResolver(config: IndexDirectiveConfiguration, ctx: Transformer const dataSource = ctx.api.host.getDataSource(`${object.name.value}Table`); const queryTypeName = ctx.output.getQueryTypeName() as string; const table = getTable(ctx, object); + const authFilter = ref('ctx.stash.authFilter'); const requestVariable = 'QueryRequest'; assert(dataSource); @@ -440,10 +445,35 @@ function makeQueryResolver(config: IndexDirectiveConfiguration, ctx: Transformer set(ref(`${requestVariable}.scanIndexForward`), bool(true)), ), iff(ref('context.args.nextToken'), set(ref(`${requestVariable}.nextToken`), ref('context.args.nextToken')), true), + ifElse( + not(isNullOrEmpty(authFilter)), + compoundExpression([ + set(ref('filter'), authFilter), + iff( + not(isNullOrEmpty(ref('ctx.args.filter'))), + set(ref('filter'), obj({ and: list([ref('filter'), ref('ctx.args.filter')]) })), + ), + ]), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), ref('ctx.args.filter'))), + ), iff( - ref('context.args.filter'), - set(ref(`${requestVariable}.filter`), ref('util.parseJson("$util.transform.toDynamoDBFilterExpression($ctx.args.filter)")')), - true, + not(isNullOrEmpty(ref('filter'))), + compoundExpression([ + set( + ref(`filterExpression`), + methodCall(ref('util.parseJson'), methodCall(ref('util.transform.toDynamoDBFilterExpression'), ref('filter'))), + ), + iff( + not(methodCall(ref('util.isNullOrBlank'), ref('filterExpression.expression'))), + compoundExpression([ + iff( + equals(methodCall(ref('filterEpression.expressionValues.size')), int(0)), + qref(methodCall(ref('filterEpression.remove'), str('expressionValues'))), + ), + set(ref(`${requestVariable}.filter`), ref(`filterExpression`)), + ]), + ), + ]), ), raw(`$util.toJson($${requestVariable})`), ]), @@ -505,7 +535,7 @@ function addIndexToResolverSlot(resolver: TransformerResolverProvider, lines: st const res = resolver as any; res.addToSlot( - 'postAuth', + 'preAuth', MappingTemplate.s3MappingTemplateFromString( lines.join('\n') + '\n{}', `${res.typeName}.${res.fieldName}.{slotName}.{slotIndex}.req.vtl`, diff --git a/packages/amplify-graphql-index-transformer/src/schema.ts b/packages/amplify-graphql-index-transformer/src/schema.ts index 759b1d24800..3ffb35f72ce 100644 --- a/packages/amplify-graphql-index-transformer/src/schema.ts +++ b/packages/amplify-graphql-index-transformer/src/schema.ts @@ -322,6 +322,16 @@ export function ensureQueryField(config: IndexDirectiveConfiguration, ctx: Trans if (!queryField) { return; } + // add query field to metadata + const keyName = `${object.name.value}:indicies`; + let indicies: Set; + if (!ctx.metadata.has(keyName)) { + indicies = new Set([queryField]); + } else { + indicies = ctx.metadata.get>(keyName)!; + indicies.add(queryField); + } + ctx.metadata.set(keyName, indicies); const args = [createHashField(config)]; diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer.test.ts.snap b/packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer.test.ts.snap index cedcc76d586..eacbd1bf352 100644 --- a/packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer.test.ts.snap +++ b/packages/amplify-graphql-model-transformer/src/__tests__/__snapshots__/model-transformer.test.ts.snap @@ -583,7 +583,7 @@ input DeleteCommentInput { " `; -exports[`ModelTransformer: should generate sync resolver with ConflictHandlerType.AUTOMERGE 1`] = ` +exports[`ModelTransformer: should generate sync resolver with ConflictHandlerType.Automerge 1`] = ` Object { "Mutation.createAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) @@ -596,6 +596,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createAuthor.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -680,13 +686,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Author\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -698,6 +705,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createComment.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -782,13 +795,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Comment\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createEmail.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -800,6 +814,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createEmail.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -884,13 +904,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Email\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createPost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -902,6 +923,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createPost.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -986,13 +1013,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createRequire.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -1004,6 +1032,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createRequire.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -1088,13 +1122,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Require\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -1106,6 +1141,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createTest.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -1190,13 +1231,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -1208,6 +1250,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createUser.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -1292,13 +1340,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"User\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.customCreatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -1310,6 +1359,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.customCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customCreatePost.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -1394,13 +1449,20 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.customCreatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customCreatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.customDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customDeletePost.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -1458,13 +1520,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.customDeletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customDeletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.customUpdatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -1474,6 +1537,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.customUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customUpdatePost.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -1603,13 +1672,20 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.customUpdatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customUpdatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteAuthor.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -1667,13 +1743,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteComment.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -1731,13 +1814,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteEmail.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -1795,13 +1885,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deletePost.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -1860,13 +1957,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) $util.qr($DeleteRequest.put(\\"_version\\", $util.defaultIfNull($ctx.args.input[\\"_version\\"], \\"0\\"))) $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteRequire.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -1924,13 +2028,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteTest.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -1988,13 +2099,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteUser.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -2052,13 +2170,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2068,6 +2187,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateAuthor.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -2197,13 +2322,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2213,6 +2339,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateComment.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -2342,13 +2474,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateEmail.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2358,6 +2491,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateEmail.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -2487,13 +2626,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2503,6 +2643,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updatePost.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -2633,13 +2779,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateRequire.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2649,6 +2796,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateRequire.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -2778,13 +2931,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2794,6 +2948,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateTest.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -2923,13 +3083,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -2939,6 +3100,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateUser.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -3068,35 +3235,70 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.customGetPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.customGetPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.customGetPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.customGetPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.customListPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.customListPost.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3106,8 +3308,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3131,189 +3345,419 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.customListPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.customListPost.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getAuthor.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getAuthor.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getComment.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getComment.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getEmail.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getEmail.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getEntity.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getEntity.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getEntity.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getEntity.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getRequire.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getRequire.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getUser.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getUser.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.listAuthors.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listAuthors.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3323,8 +3767,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3348,13 +3804,19 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listAuthors.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listAuthors.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listComments.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listComments.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3364,8 +3826,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3389,13 +3863,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listComments.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listComments.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listEmails.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listEmails.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3405,8 +3885,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3430,13 +3922,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listEmails.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listEmails.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listPosts.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3446,8 +3944,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3471,13 +3981,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listRequires.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listRequires.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3487,8 +4003,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3512,13 +4040,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listRequires.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listRequires.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listTests.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3528,8 +4062,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3553,13 +4099,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listUsers.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listUsers.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -3569,8 +4121,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -3594,19 +4158,46 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listUsers.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listUsers.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.syncPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.syncPosts.req.vtl": "## [Start] Sync Request template. ** +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end +#end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Sync\\", - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -3615,17 +4206,332 @@ null \\"nextToken\\": $util.toJson($util.defaultIfNull($ctx.args.nextToken, null)) } ## [End] Sync Request template. **", - "Query.syncPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.syncPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", } `; -exports[`ModelTransformer: should generate sync resolver with ConflictHandlerType.LAMBDA 1`] = ` +exports[`ModelTransformer: should generate sync resolver with ConflictHandlerType.Lambda 1`] = ` Object { "Mutation.createAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) @@ -3638,6 +4544,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createAuthor.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -3722,13 +4634,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Author\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -3740,6 +4653,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createComment.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -3824,13 +4743,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Comment\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createEmail.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -3842,6 +4762,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createEmail.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -3926,13 +4852,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Email\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createPost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -3944,6 +4871,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createPost.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -4028,13 +4961,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createRequire.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -4046,6 +4980,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createRequire.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -4130,13 +5070,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Require\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -4148,6 +5089,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createTest.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -4232,13 +5179,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -4250,6 +5198,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createUser.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -4334,13 +5288,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"User\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.customCreatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -4352,6 +5307,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.customCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customCreatePost.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -4436,13 +5397,20 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.customCreatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customCreatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.customDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customDeletePost.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -4500,13 +5468,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.customDeletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customDeletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.customUpdatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -4516,6 +5485,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.customUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customUpdatePost.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -4645,13 +5620,20 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.customUpdatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customUpdatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteAuthor.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -4709,13 +5691,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteComment.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -4773,13 +5762,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteEmail.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -4837,13 +5833,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deletePost.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -4902,13 +5905,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) $util.qr($DeleteRequest.put(\\"_version\\", $util.defaultIfNull($ctx.args.input[\\"_version\\"], \\"0\\"))) $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteRequire.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -4966,13 +5976,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteTest.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -5030,13 +6047,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteUser.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -5094,13 +6118,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -5110,6 +6135,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateAuthor.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -5239,13 +6270,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -5255,6 +6287,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateComment.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -5384,13 +6422,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateEmail.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -5400,6 +6439,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateEmail.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -5529,13 +6574,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -5545,6 +6591,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updatePost.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -5675,13 +6727,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateRequire.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -5691,6 +6744,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateRequire.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -5820,13 +6879,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -5836,6 +6896,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateTest.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -5965,13 +7031,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -5981,6 +7048,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateUser.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -6110,35 +7183,70 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.customGetPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.customGetPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.customGetPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.customGetPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.customListPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.customListPost.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6148,8 +7256,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6173,189 +7293,419 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.customListPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.customListPost.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getAuthor.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getAuthor.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getComment.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getComment.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getEmail.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getEmail.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getEntity.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getEntity.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getEntity.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getEntity.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getRequire.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getRequire.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getUser.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getUser.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.listAuthors.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listAuthors.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6365,8 +7715,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6390,13 +7752,19 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listAuthors.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listAuthors.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listComments.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listComments.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6406,8 +7774,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6431,13 +7811,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listComments.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listComments.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listEmails.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listEmails.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6447,8 +7833,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6472,13 +7870,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listEmails.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listEmails.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listPosts.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6488,8 +7892,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6513,13 +7929,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listRequires.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listRequires.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6529,8 +7951,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6554,13 +7988,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listRequires.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listRequires.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listTests.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6570,8 +8010,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6595,13 +8047,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listUsers.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listUsers.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -6611,8 +8069,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -6636,19 +8106,46 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listUsers.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listUsers.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.syncPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.syncPosts.req.vtl": "## [Start] Sync Request template. ** +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end +#end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Sync\\", - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -6657,17 +8154,332 @@ null \\"nextToken\\": $util.toJson($util.defaultIfNull($ctx.args.nextToken, null)) } ## [End] Sync Request template. **", - "Query.syncPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.syncPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", } `; -exports[`ModelTransformer: should generate sync resolver with ConflictHandlerType.OPTIMISTIC 1`] = ` +exports[`ModelTransformer: should generate sync resolver with ConflictHandlerType.Optimistic 1`] = ` Object { "Mutation.createAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) @@ -6680,6 +8492,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createAuthor.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -6764,13 +8582,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Author\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -6782,6 +8601,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createComment.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -6866,13 +8691,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Comment\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createEmail.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -6884,6 +8710,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createEmail.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -6968,13 +8800,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Email\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createPost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -6986,6 +8819,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createPost.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -7070,13 +8909,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createRequire.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -7088,6 +8928,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createRequire.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -7172,13 +9018,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Require\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -7190,6 +9037,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createTest.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -7274,13 +9127,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -7292,6 +9146,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createUser.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -7376,13 +9236,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"User\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.customCreatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -7394,6 +9255,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.customCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customCreatePost.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -7478,13 +9345,20 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.customCreatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customCreatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.customDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customDeletePost.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -7542,13 +9416,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.customDeletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customDeletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.customUpdatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -7558,6 +9433,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.customUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.customUpdatePost.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -7687,13 +9568,20 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.customUpdatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.customUpdatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteAuthor.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -7751,13 +9639,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteComment.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -7815,13 +9710,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteEmail.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -7879,13 +9781,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deletePost.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -7944,13 +9853,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) $util.qr($DeleteRequest.put(\\"_version\\", $util.defaultIfNull($ctx.args.input[\\"_version\\"], \\"0\\"))) $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteRequire.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -8008,13 +9924,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteTest.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -8072,13 +9995,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteUser.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -8136,13 +10066,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -8152,6 +10083,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateAuthor.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -8281,13 +10218,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -8297,6 +10235,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateComment.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -8426,13 +10370,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateEmail.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -8442,6 +10387,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateEmail.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -8571,13 +10522,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateEmail.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -8587,6 +10539,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updatePost.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -8717,13 +10675,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateRequire.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -8733,6 +10692,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateRequire.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -8862,13 +10827,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateRequire.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -8878,6 +10844,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateTest.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -9007,13 +10979,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -9023,6 +10996,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateUser.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -9152,35 +11131,70 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.customGetPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.customGetPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.customGetPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.customGetPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.customListPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.customListPost.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9190,8 +11204,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9215,189 +11241,419 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.customListPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.customListPost.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getAuthor.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getAuthor.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getComment.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getComment.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getEmail.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getEmail.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getEmail.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getEntity.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getEntity.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getEntity.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getEntity.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getRequire.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getRequire.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getRequire.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getUser.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getUser.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.listAuthors.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listAuthors.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9407,8 +11663,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9432,13 +11700,19 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listAuthors.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listAuthors.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listComments.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listComments.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9448,8 +11722,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9473,13 +11759,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listComments.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listComments.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listEmails.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listEmails.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9489,8 +11781,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9514,13 +11818,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listEmails.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listEmails.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listPosts.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9530,8 +11840,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9555,13 +11877,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listRequires.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listRequires.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9571,8 +11899,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9596,13 +11936,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listRequires.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listRequires.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listTests.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9612,8 +11958,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9637,13 +11995,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listUsers.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listUsers.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -9653,8 +12017,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -9678,19 +12054,46 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listUsers.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listUsers.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.syncPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.syncPosts.req.vtl": "## [Start] Sync Request template. ** +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end +#end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Sync\\", - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -9699,13 +12102,328 @@ null \\"nextToken\\": $util.toJson($util.defaultIfNull($ctx.args.nextToken, null)) } ## [End] Sync Request template. **", - "Query.syncPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.syncPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateEmail.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateEmail.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateEmail.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateRequire.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateRequire.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateRequire.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", } `; diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts index 557b0565fb5..5c07bb2650a 100644 --- a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts +++ b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts @@ -881,7 +881,7 @@ describe('ModelTransformer: ', () => { validateModelSchema(parse(out.schema)); }); - it('should generate sync resolver with ConflictHandlerType.AUTOMERGE', () => { + it('should generate sync resolver with ConflictHandlerType.Automerge', () => { const validSchema = ` type Post @model { id: ID! @@ -913,7 +913,7 @@ describe('ModelTransformer: ', () => { validateModelSchema(parse(definition)); }); - it('should generate sync resolver with ConflictHandlerType.LAMBDA', () => { + it('should generate sync resolver with ConflictHandlerType.Lambda', () => { const validSchema = ` type Post @model { id: ID! @@ -950,7 +950,7 @@ describe('ModelTransformer: ', () => { validateModelSchema(parse(definition)); }); - it('should generate sync resolver with ConflictHandlerType.OPTIMISTIC', () => { + it('should generate sync resolver with ConflictHandlerType.Optimistic', () => { const validSchema = ` type Post @model { id: ID! @@ -984,6 +984,27 @@ describe('ModelTransformer: ', () => { validateModelSchema(parse(definition)); }); + it('should support sandbox mode of api', async () => { + const validSchema = ` + type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: "staging") + + type Post @model { + id: ID! + title: String! + } + `; + + const transformer = new GraphQLTransform({ + transformers: [new ModelTransformer()], + featureFlags, + }); + + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + + parse(out.schema); + }); + it('should generate iam role names under 64 chars and subscriptions under 50', () => { const validSchema = ` type ThisIsAVeryLongNameModelThatShouldNotGenerateIAMRoleNamesOver64Characters @model { diff --git a/packages/amplify-graphql-model-transformer/src/definitions.ts b/packages/amplify-graphql-model-transformer/src/definitions.ts index e1aafe51b0e..77d4eb31c58 100644 --- a/packages/amplify-graphql-model-transformer/src/definitions.ts +++ b/packages/amplify-graphql-model-transformer/src/definitions.ts @@ -13,4 +13,4 @@ export const BOOLEAN_FUNCTIONS = new Set(['attributeExists', 'attributeT export const ATTRIBUTE_TYPES = ['binary', 'binarySet', 'bool', 'list', 'map', 'number', 'numberSet', 'string', 'stringSet', '_null']; - +export const OPERATION_KEY = '__operation'; diff --git a/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts b/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts index 544ccc833f8..fc9bcddfda7 100644 --- a/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts +++ b/packages/amplify-graphql-model-transformer/src/graphql-model-transformer.ts @@ -54,6 +54,7 @@ import { makeUpdateInputField, } from './graphql-types'; import { + generateAuthExpressionForSandboxMode, generateCreateInitSlotTemplate, generateCreateRequestTemplate, generateDefaultResponseMappingTemplate, @@ -64,7 +65,12 @@ import { generateUpdateInitSlotTemplate, generateUpdateRequestTemplate, } from './resolvers'; -import { generateGetRequestTemplate, generateListRequestTemplate, generateSyncRequestTemplate } from './resolvers/query'; +import { + generateGetRequestTemplate, + generateGetResponseTemplate, + generateListRequestTemplate, + generateSyncRequestTemplate, +} from './resolvers/query'; import { DirectiveWrapper, FieldWrapper, @@ -88,17 +94,17 @@ export type ModelDirectiveConfiguration = { list: OptionalAndNullable; sync: OptionalAndNullable; }>; - mutations: { + mutations: OptionalAndNullable<{ create: OptionalAndNullable; update: OptionalAndNullable; delete: OptionalAndNullable; - } | null; - subscriptions: { + }>; + subscriptions: OptionalAndNullable<{ onCreate: OptionalAndNullable[]; onUpdate: OptionalAndNullable[]; onDelete: OptionalAndNullable[]; - level: Partial; - } | null; + level: SubscriptionLevel; + }>; timestamps: OptionalAndNullable<{ createdAt: OptionalAndNullable; updatedAt: OptionalAndNullable; @@ -169,12 +175,13 @@ export class ModelTransformer extends TransformerModelBase implements Transforme `'${definition.name.value}' is a reserved type name and currently in use within the default schema element.`, ); } - // todo: get model configuration with default values and store it in the map const typeName = definition.name.value; + if (ctx.isProjectUsingDataStore()) { SyncUtils.validateResolverConfigForType(ctx, typeName); } + const directiveWrapped: DirectiveWrapper = new DirectiveWrapper(directive); const options = directiveWrapped.getArguments({ queries: { @@ -188,7 +195,7 @@ export class ModelTransformer extends TransformerModelBase implements Transforme delete: toCamelCase(['delete', typeName]), }, subscriptions: { - level: SubscriptionLevel.public, + level: SubscriptionLevel.on, onCreate: [this.ensureValidSubscriptionName(toCamelCase(['onCreate', typeName]))], onDelete: [this.ensureValidSubscriptionName(toCamelCase(['onDelete', typeName]))], onUpdate: [this.ensureValidSubscriptionName(toCamelCase(['onUpdate', typeName]))], @@ -234,6 +241,8 @@ export class ModelTransformer extends TransformerModelBase implements Transforme this.addAutoGeneratableFields(ctx, type); if (ctx.isProjectUsingDataStore()) { + SyncUtils.validateResolverConfigForType(ctx, def!.name.value); + this.options.SyncConfig = SyncUtils.getSyncConfig(ctx, def!.name.value); this.addModelSyncFields(ctx, type); } } @@ -241,8 +250,7 @@ export class ModelTransformer extends TransformerModelBase implements Transforme generateResolvers = (context: TransformerContextProvider): void => { for (let type of this.typesWithModelDirective) { - const def = context.output.getObject(type); - + const def = context.output.getObject(type)!; // This name is used by the mock functionality. Changing this can break mock. const tableLogicalName = `${def!.name.value}Table`; const stack = context.stackManager.getStackFor(tableLogicalName, def!.name.value); @@ -265,7 +273,13 @@ export class ModelTransformer extends TransformerModelBase implements Transforme default: throw new Error('Unknown query field type'); } - + resolver.addToSlot( + 'postAuth', + MappingTemplate.s3MappingTemplateFromString( + generateAuthExpressionForSandboxMode(context), + `${query.typeName}.${query.fieldName}.{slotName}.{slotIndex}.req.vtl`, + ), + ); resolver.mapToStack(stack); context.resolvers.addResolver(query.typeName, query.fieldName, resolver); } @@ -284,11 +298,49 @@ export class ModelTransformer extends TransformerModelBase implements Transforme resolver = this.generateUpdateResolver(context, def!, mutation.typeName, mutation.fieldName); break; default: - throw new Error('Unknown query field type'); + throw new Error('Unknown mutation field type'); } + resolver.addToSlot( + 'postAuth', + MappingTemplate.s3MappingTemplateFromString( + generateAuthExpressionForSandboxMode(context), + `${mutation.typeName}.${mutation.fieldName}.{slotName}.{slotIndex}.req.vtl`, + ), + ); resolver.mapToStack(stack); context.resolvers.addResolver(mutation.typeName, mutation.fieldName, resolver); } + + const subscriptionLevel = this.modelDirectiveConfig.get(def.name.value)?.subscriptions?.level; + // in order to create subscription resolvers the level needs to be on + if (subscriptionLevel === SubscriptionLevel.on) { + const subscriptionFields = this.getSubscriptionFieldNames(context, def!); + for (let subscription of subscriptionFields.values()) { + let resolver; + switch (subscription.type) { + case SubscriptionFieldType.ON_CREATE: + resolver = this.generateOnCreateResolver(context, def, subscription.typeName, subscription.fieldName); + break; + case SubscriptionFieldType.ON_UPDATE: + resolver = this.generateOnUpdateResolver(context, def, subscription.typeName, subscription.fieldName); + break; + case SubscriptionFieldType.ON_DELETE: + resolver = this.generateOnDeleteResolver(context, def, subscription.typeName, subscription.fieldName); + break; + default: + throw new Error('Unknown subscription field type'); + } + resolver.addToSlot( + 'postAuth', + MappingTemplate.s3MappingTemplateFromString( + generateAuthExpressionForSandboxMode(context), + `${subscription.typeName}.${subscription.fieldName}.{slotName}.{slotIndex}.req.vtl`, + ), + ); + resolver.mapToStack(stack); + context.resolvers.addResolver(subscription.typeName, subscription.fieldName, resolver); + } + } } }; @@ -307,10 +359,7 @@ export class ModelTransformer extends TransformerModelBase implements Transforme fieldName, dataSource, MappingTemplate.s3MappingTemplateFromString(generateGetRequestTemplate(), `${typeName}.${fieldName}.req.vtl`), - MappingTemplate.s3MappingTemplateFromString( - generateDefaultResponseMappingTemplate(isSyncEnabled), - `${typeName}.${fieldName}.res.vtl`, - ), + MappingTemplate.s3MappingTemplateFromString(generateGetResponseTemplate(isSyncEnabled), `${typeName}.${fieldName}.res.vtl`), ); } return this.resolverMap[resolverKey]; @@ -359,7 +408,7 @@ export class ModelTransformer extends TransformerModelBase implements Transforme `${typeName}.${fieldName}.req.vtl`, ), MappingTemplate.s3MappingTemplateFromString( - generateDefaultResponseMappingTemplate(isSyncEnabled), + generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`, ), ); @@ -391,7 +440,7 @@ export class ModelTransformer extends TransformerModelBase implements Transforme dataSource, MappingTemplate.s3MappingTemplateFromString(generateDeleteRequestTemplate(isSyncEnabled), `${typeName}.${fieldName}.req.vtl`), MappingTemplate.s3MappingTemplateFromString( - generateDefaultResponseMappingTemplate(isSyncEnabled), + generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`, ), ); @@ -701,7 +750,7 @@ export class ModelTransformer extends TransformerModelBase implements Transforme dataSource, MappingTemplate.s3MappingTemplateFromString(generateCreateRequestTemplate(type.name.value), `${typeName}.${fieldName}.req.vtl`), MappingTemplate.s3MappingTemplateFromString( - generateDefaultResponseMappingTemplate(isSyncEnabled), + generateDefaultResponseMappingTemplate(isSyncEnabled, true), `${typeName}.${fieldName}.res.vtl`, ), ); @@ -1158,13 +1207,15 @@ export class ModelTransformer extends TransformerModelBase implements Transforme }), ); - const syncConfig = SyncUtils.getSyncConfig(context, def!.name.value); - if (syncConfig && SyncUtils.isLambdaSyncConfig(syncConfig)) { + if (this.options.SyncConfig && SyncUtils.isLambdaSyncConfig(this.options.SyncConfig)) { role.attachInlinePolicy( - SyncUtils.createSyncLambdaIAMPolicy(stack, syncConfig.LambdaConflictHandler.name, syncConfig.LambdaConflictHandler.region), + SyncUtils.createSyncLambdaIAMPolicy( + stack, + this.options.SyncConfig.LambdaConflictHandler.name, + this.options.SyncConfig.LambdaConflictHandler.region, + ), ); } - return role; } diff --git a/packages/amplify-graphql-model-transformer/src/index.ts b/packages/amplify-graphql-model-transformer/src/index.ts index d419f3ed214..10267d40d30 100644 --- a/packages/amplify-graphql-model-transformer/src/index.ts +++ b/packages/amplify-graphql-model-transformer/src/index.ts @@ -1,3 +1,4 @@ -export { ModelTransformer } from './graphql-model-transformer'; +export { ModelTransformer, ModelDirectiveConfiguration, SubscriptionLevel } from './graphql-model-transformer'; +export { OPERATION_KEY } from './definitions'; export * from './graphql-types'; export * from './resolvers'; diff --git a/packages/amplify-graphql-model-transformer/src/resolvers/common.ts b/packages/amplify-graphql-model-transformer/src/resolvers/common.ts index ed2fcd07e41..3d3c367f43a 100644 --- a/packages/amplify-graphql-model-transformer/src/resolvers/common.ts +++ b/packages/amplify-graphql-model-transformer/src/resolvers/common.ts @@ -15,7 +15,13 @@ import { ifElse, printBlock, toJson, + qref, + str, + not, } from 'graphql-mapping-template'; +import { OPERATION_KEY } from '../definitions'; + +const API_KEY = 'API Key Authorization'; /** * Helper method to generate code that converts DynamoDB condition object to condition @@ -57,9 +63,11 @@ export const generateConditionSlot = (inputConditionObjectName: string, conditio /** * Generate common response template used by most of the resolvers. + * Append operation if response is coming from a mutation, this is to protect field resolver for subscriptions */ -export const generateDefaultResponseMappingTemplate = (isSyncEnabled: boolean): string => { +export const generateDefaultResponseMappingTemplate = (isSyncEnabled: boolean, mutation = false): string => { const statements: Expression[] = []; + if (mutation) statements.push(qref(methodCall(ref('ctx.result.put'), str(OPERATION_KEY), str('Mutation')))); if (isSyncEnabled) { statements.push( ifElse( @@ -74,14 +82,30 @@ export const generateDefaultResponseMappingTemplate = (isSyncEnabled: boolean): ); } - return printBlock('Get ResponseTemplate')(compoundExpression(statements)); + return printBlock('ResponseTemplate')(compoundExpression(statements)); }; /** - * Util function to gernate resolver key used to keep track of all the resolvers in memory + * Util function to generate resolver key used to keep track of all the resolvers in memory * @param typeName Name of the type * @param fieldName Name of the field */ export const generateResolverKey = (typeName: string, fieldName: string): string => { return `${typeName}.${fieldName}`; }; + +/** + * Util function to generate sandbox mode expression + * @param ctx context to get sandbox mode + */ +export const generateAuthExpressionForSandboxMode = (ctx: any): string => { + let enabled = ctx.resourceHelper.api.globalSandboxModeEnabled; + let exp; + + if (enabled) exp = iff(notEquals(methodCall(ref('util.authType')), str(API_KEY)), methodCall(ref('util.unauthorized'))); + else exp = methodCall(ref('util.unauthorized')); + + return printBlock(`Sandbox Mode ${enabled ? 'Enabled' : 'Disabled'}`)( + compoundExpression([iff(not(ref('ctx.stash.get("hasAuth")')), exp), toJson(obj({}))]), + ); +}; diff --git a/packages/amplify-graphql-model-transformer/src/resolvers/query.ts b/packages/amplify-graphql-model-transformer/src/resolvers/query.ts index d73bfb587be..2e9c86ead13 100644 --- a/packages/amplify-graphql-model-transformer/src/resolvers/query.ts +++ b/packages/amplify-graphql-model-transformer/src/resolvers/query.ts @@ -16,27 +16,81 @@ import { equals, bool, and, + isNullOrEmpty, + list, + forEach, nul, } from 'graphql-mapping-template'; import { ResourceConstants } from 'graphql-transformer-common'; +const authFilter = ref('ctx.stash.authFilter'); + /** * Generate get query resolver template */ export const generateGetRequestTemplate = (): string => { const statements: Expression[] = [ - set(ref('GetRequest'), obj({ version: str('2018-05-29'), operation: str('GetItem') })), + set(ref('GetRequest'), obj({ version: str('2018-05-29'), operation: str('Query') })), ifElse( ref('ctx.stash.metadata.modelObjectKey'), - set(ref('key'), ref('ctx.stash.metadata.modelObjectKey')), - compoundExpression([set(ref('key'), obj({ id: methodCall(ref('util.dynamodb.toDynamoDB'), ref('ctx.args.id')) }))]), + compoundExpression([ + set(ref('expression'), str('')), + set(ref('expressionValues'), obj({})), + forEach(ref('item'), ref('ctx.stash.metadata.modelObjectKey.entrySet()'), [ + set(ref('expression'), str('$expression$item.key = :$item.key AND ')), + qref(methodCall(ref('expressionValues.put'), str(':$item.key'), ref('item.value'))), + ]), + set(ref('expression'), methodCall(ref('expression.replaceAll'), str('AND $'), str(''))), + set(ref('query'), obj({ expression: ref('expression'), expressionValues: ref('expressionValues') })), + ]), + set( + ref('query'), + obj({ + expression: str('id = :id'), + expressionValues: obj({ + ':id': methodCall(ref('util.parseJson'), methodCall(ref('util.dynamodb.toDynamoDBJson'), ref('ctx.args.id'))), + }), + }), + ), + ), + qref(methodCall(ref('GetRequest.put'), str('query'), ref('query'))), + iff( + not(isNullOrEmpty(authFilter)), + qref( + methodCall( + ref('GetRequest.put'), + str('filter'), + methodCall(ref('util.parseJson'), methodCall(ref('util.transform.toDynamoDBFilterExpression'), authFilter)), + ), + ), ), - qref(methodCall(ref('GetRequest.put'), str('key'), ref('key'))), toJson(ref('GetRequest')), ]; return printBlock('Get Request template')(compoundExpression(statements)); }; +export const generateGetResponseTemplate = (isSyncEnabled: boolean): string => { + const statements = new Array(); + if (isSyncEnabled) { + statements.push( + iff(ref('ctx.error'), methodCall(ref('util.error'), ref('ctx.error.message'), ref('ctx.error.type'), ref('ctx.result'))), + ); + } else { + statements.push(iff(ref('ctx.error'), methodCall(ref('util.error'), ref('ctx.error.message'), ref('ctx.error.type')))); + } + statements.push( + ifElse( + and([not(ref('ctx.result.items.isEmpty()')), equals(ref('ctx.result.scannedCount'), int(1))]), + toJson(ref('ctx.result.items[0]')), + compoundExpression([ + iff(and([ref('ctx.result.items.isEmpty()'), equals(ref('ctx.result.scannedCount'), int(1))]), ref('util.unauthorized()')), + toJson(nul()), + ]), + ), + ); + return printBlock('Get Response template')(compoundExpression(statements)); +}; + export const generateListRequestTemplate = (): string => { const requestVariable = 'ListRequest'; const modelQueryObj = 'ctx.stash.modelQueryExpression'; @@ -51,12 +105,20 @@ export const generateListRequestTemplate = (): string => { }), ), iff(ref('context.args.nextToken'), set(ref(`${requestVariable}.nextToken`), ref('context.args.nextToken'))), + ifElse( + not(isNullOrEmpty(authFilter)), + compoundExpression([ + set(ref('filter'), authFilter), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), obj({ and: list([ref('filter'), ref('ctx.args.filter')]) }))), + ]), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), ref('ctx.args.filter'))), + ), iff( - ref('context.args.filter'), + not(isNullOrEmpty(ref('filter'))), compoundExpression([ set( ref(`filterExpression`), - methodCall(ref('util.parseJson'), methodCall(ref('util.transform.toDynamoDBFilterExpression'), ref('ctx.args.filter'))), + methodCall(ref('util.parseJson'), methodCall(ref('util.transform.toDynamoDBFilterExpression'), ref('filter'))), ), iff( not(methodCall(ref('util.isNullOrBlank'), ref('filterExpression.expression'))), @@ -95,10 +157,37 @@ export const generateListRequestTemplate = (): string => { export const generateSyncRequestTemplate = (): string => { return printBlock('Sync Request template')( compoundExpression([ + ifElse( + not(isNullOrEmpty(authFilter)), + compoundExpression([ + set(ref('filter'), authFilter), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), obj({ and: list([ref('filter'), ref('ctx.args.filter')]) }))), + ]), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), ref('ctx.args.filter'))), + ), + iff( + not(isNullOrEmpty(ref('filter'))), + compoundExpression([ + set( + ref(`filterExpression`), + methodCall(ref('util.parseJson'), methodCall(ref('util.transform.toDynamoDBFilterExpression'), ref('filter'))), + ), + iff( + not(methodCall(ref('util.isNullOrBlank'), ref('filterExpression.expression'))), + compoundExpression([ + iff( + equals(methodCall(ref('filterEpression.expressionValues.size')), int(0)), + qref(methodCall(ref('filterEpression.remove'), str('expressionValues'))), + ), + set(ref('filter'), ref('filterExpression')), + ]), + ), + ]), + ), obj({ version: str('2018-05-29'), operation: str('Sync'), - filter: ifElse(ref('context.args.filter'), ref('util.transform.toDynamoDBFilterExpression($ctx.args.filter)'), nul()), + filter: ifElse(ref('filter'), ref('util.toJson($filter)'), nul()), limit: ref(`util.defaultIfNull($ctx.args.limit, ${ResourceConstants.DEFAULT_SYNC_QUERY_PAGE_LIMIT})`), lastSync: ref('util.toJson($util.defaultIfNull($ctx.args.lastSync, null))'), nextToken: ref('util.toJson($util.defaultIfNull($ctx.args.nextToken, null))'), diff --git a/packages/amplify-graphql-predictions-transformer/src/graphql-predictions-transformer.ts b/packages/amplify-graphql-predictions-transformer/src/graphql-predictions-transformer.ts index bd3b5eb2885..db57b7e0e75 100644 --- a/packages/amplify-graphql-predictions-transformer/src/graphql-predictions-transformer.ts +++ b/packages/amplify-graphql-predictions-transformer/src/graphql-predictions-transformer.ts @@ -1,5 +1,12 @@ import * as path from 'path'; -import { DirectiveWrapper, InvalidDirectiveError, MappingTemplate, TransformerPluginBase } from '@aws-amplify/graphql-transformer-core'; +import { + DirectiveWrapper, + IAM_AUTH_ROLE_PARAMETER, + IAM_UNAUTH_ROLE_PARAMETER, + InvalidDirectiveError, + MappingTemplate, + TransformerPluginBase, +} from '@aws-amplify/graphql-transformer-core'; import { TransformerContextProvider, TransformerSchemaVisitStepContextProvider, @@ -50,6 +57,7 @@ import { translateTextAmzTarget, PREDICTIONS_DIRECTIVE_STACK, } from './utils/constants'; +import { AuthorizationType } from '@aws-cdk/aws-appsync'; type PredictionsDirectiveConfiguration = { actions: string[] | undefined; @@ -91,7 +99,7 @@ export class PredictionsTransformer extends TransformerPluginBase { } as PredictionsDirectiveConfiguration); if (!Array.isArray(args.actions)) { - args.actions = [(args.actions as unknown) as string]; + args.actions = [args.actions as unknown as string]; } validateActions(args.actions); @@ -318,23 +326,50 @@ function createResolver( if (referencesEnv(bucketName)) { const env = context.stackManager.getParameter(ResourceConstants.PARAMETERS.Env) as cdk.CfnParameter; - substitutions.env = (env as unknown) as string; + substitutions.env = env as unknown as string; + } + const requestTemplate = [ + cdk.Fn.conditionIf( + ResourceConstants.CONDITIONS.HasEnvironmentParameter, + cdk.Fn.sub(`$util.qr($ctx.stash.put("s3Bucket", "${bucketName}"))`, substitutions), + cdk.Fn.sub(`$util.qr($ctx.stash.put("s3Bucket", "${removeEnvReference(bucketName)}"))`, { + hash: cdk.Fn.select(3, cdk.Fn.split('-', cdk.Fn.ref('AWS::StackName'))), + }), + ) as unknown as string, + print(compoundExpression([qref('$ctx.stash.put("isList", false)')])), + ]; + // TODO: predictions should use resolver manager + const authModes = [context.authConfig.defaultAuthentication, ...(context.authConfig.additionalAuthenticationProviders || [])].map( + mode => mode?.authenticationType, + ); + if (authModes.includes(AuthorizationType.IAM)) { + const authRoleParameter = (context.stackManager.getParameter(IAM_AUTH_ROLE_PARAMETER) as cdk.CfnParameter).valueAsString; + const unauthRoleParameter = (context.stackManager.getParameter(IAM_UNAUTH_ROLE_PARAMETER) as cdk.CfnParameter).valueAsString; + requestTemplate.push( + `$util.qr($ctx.stash.put("authRole", "arn:aws:sts::${ + cdk.Stack.of(context.stackManager.rootStack).account + }:assumed-role/${authRoleParameter}/CognitoIdentityCredentials"))`, + `$util.qr($ctx.stash.put("unauthRole", "arn:aws:sts::${ + cdk.Stack.of(context.stackManager.rootStack).account + }:assumed-role/${unauthRoleParameter}/CognitoIdentityCredentials"))`, + ); } + requestTemplate.push(print(obj({}))); return context.api.host.addResolver( config.resolverTypeName, config.resolverFieldName, MappingTemplate.inlineTemplateFromString( - (cdk.Fn.join('\n', [ - (cdk.Fn.conditionIf( + cdk.Fn.join('\n', [ + cdk.Fn.conditionIf( ResourceConstants.CONDITIONS.HasEnvironmentParameter, cdk.Fn.sub(`$util.qr($ctx.stash.put("s3Bucket", "${bucketName}"))`, substitutions), cdk.Fn.sub(`$util.qr($ctx.stash.put("s3Bucket", "${removeEnvReference(bucketName)}"))`, { hash: cdk.Fn.select(3, cdk.Fn.split('-', cdk.Fn.ref('AWS::StackName'))), }), - ) as unknown) as string, + ) as unknown as string, print(compoundExpression([qref('$ctx.stash.put("isList", false)'), obj({})])), - ]) as unknown) as string, + ]) as unknown as string, ), MappingTemplate.inlineTemplateFromString( print( @@ -398,11 +433,11 @@ function removeEnvReference(value: string): string { function joinWithEnv(context: TransformerContextProvider, separator: string, listToJoin: any[]): string { const env = context.stackManager.getParameter(ResourceConstants.PARAMETERS.Env) as cdk.CfnParameter; - return (cdk.Fn.conditionIf( + return cdk.Fn.conditionIf( ResourceConstants.CONDITIONS.HasEnvironmentParameter, cdk.Fn.join(separator, [...listToJoin, env]), cdk.Fn.join(separator, listToJoin), - ) as unknown) as string; + ) as unknown as string; } function needsList(action: string, isCurrentlyList: boolean): boolean { @@ -500,14 +535,14 @@ function getStorageArn(context: TransformerContextProvider, bucketName: string): if (referencesEnv(bucketName)) { const env = context.stackManager.getParameter(ResourceConstants.PARAMETERS.Env) as cdk.CfnParameter; - substitutions.env = (env as unknown) as string; + substitutions.env = env as unknown as string; } - return (cdk.Fn.conditionIf( + return cdk.Fn.conditionIf( ResourceConstants.CONDITIONS.HasEnvironmentParameter, cdk.Fn.sub(s3ArnKey(bucketName), substitutions), cdk.Fn.sub(s3ArnKey(removeEnvReference(bucketName)), { hash: cdk.Fn.select(3, cdk.Fn.split('-', cdk.Fn.ref('AWS::StackName'))) }), - ) as unknown) as string; + ) as unknown as string; } function createActionFunction(context: TransformerContextProvider, stack: cdk.Stack, action: string, datasourceName: string) { diff --git a/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-has-many-transformer.test.ts.snap b/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-has-many-transformer.test.ts.snap index d06564b1739..bbb27712477 100644 --- a/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-has-many-transformer.test.ts.snap +++ b/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-has-many-transformer.test.ts.snap @@ -7639,7 +7639,7 @@ Object { "directives": Array [], "kind": "FieldDefinition", "loc": Object { - "end": 5275, + "end": 5260, "start": 5241, }, "name": Object { @@ -7653,22 +7653,22 @@ Object { "type": Object { "kind": "ListType", "loc": Object { - "end": 5275, + "end": 5260, "start": 5248, }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5274, + "end": 5259, "start": 5249, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5274, + "end": 5259, "start": 5249, }, - "value": "ModelPostEditorConnection", + "value": "PostEditor", }, }, }, @@ -7679,28 +7679,28 @@ Object { "directives": Array [], "kind": "FieldDefinition", "loc": Object { - "end": 5295, - "start": 5278, + "end": 5280, + "start": 5263, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5287, - "start": 5278, + "end": 5272, + "start": 5263, }, "value": "nextToken", }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5295, - "start": 5289, + "end": 5280, + "start": 5274, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5295, - "start": 5289, + "end": 5280, + "start": 5274, }, "value": "String", }, @@ -7710,7 +7710,7 @@ Object { "interfaces": Array [], "kind": "ObjectTypeDefinition", "loc": Object { - "end": 5297, + "end": 5282, "start": 5206, }, "name": Object { @@ -7732,28 +7732,28 @@ Object { "directives": Array [], "kind": "InputValueDefinition", "loc": Object { - "end": 5352, - "start": 5336, + "end": 5337, + "start": 5321, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5338, - "start": 5336, + "end": 5323, + "start": 5321, }, "value": "id", }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5352, - "start": 5340, + "end": 5337, + "start": 5325, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5352, - "start": 5340, + "end": 5337, + "start": 5325, }, "value": "ModelIDInput", }, @@ -7765,28 +7765,28 @@ Object { "directives": Array [], "kind": "InputValueDefinition", "loc": Object { - "end": 5375, - "start": 5355, + "end": 5360, + "start": 5340, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5361, - "start": 5355, + "end": 5346, + "start": 5340, }, "value": "postID", }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5375, - "start": 5363, + "end": 5360, + "start": 5348, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5375, - "start": 5363, + "end": 5360, + "start": 5348, }, "value": "ModelIDInput", }, @@ -7798,28 +7798,28 @@ Object { "directives": Array [], "kind": "InputValueDefinition", "loc": Object { - "end": 5400, - "start": 5378, + "end": 5385, + "start": 5363, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5386, - "start": 5378, + "end": 5371, + "start": 5363, }, "value": "editorID", }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5400, - "start": 5388, + "end": 5385, + "start": 5373, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5400, - "start": 5388, + "end": 5385, + "start": 5373, }, "value": "ModelIDInput", }, @@ -7831,34 +7831,34 @@ Object { "directives": Array [], "kind": "InputValueDefinition", "loc": Object { - "end": 5436, - "start": 5403, + "end": 5421, + "start": 5388, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5406, - "start": 5403, + "end": 5391, + "start": 5388, }, "value": "and", }, "type": Object { "kind": "ListType", "loc": Object { - "end": 5436, - "start": 5408, + "end": 5421, + "start": 5393, }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5435, - "start": 5409, + "end": 5420, + "start": 5394, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5435, - "start": 5409, + "end": 5420, + "start": 5394, }, "value": "ModelPostEditorFilterInput", }, @@ -7871,34 +7871,34 @@ Object { "directives": Array [], "kind": "InputValueDefinition", "loc": Object { - "end": 5471, - "start": 5439, + "end": 5456, + "start": 5424, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5441, - "start": 5439, + "end": 5426, + "start": 5424, }, "value": "or", }, "type": Object { "kind": "ListType", "loc": Object { - "end": 5471, - "start": 5443, + "end": 5456, + "start": 5428, }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5470, - "start": 5444, + "end": 5455, + "start": 5429, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5470, - "start": 5444, + "end": 5455, + "start": 5429, }, "value": "ModelPostEditorFilterInput", }, @@ -7911,28 +7911,28 @@ Object { "directives": Array [], "kind": "InputValueDefinition", "loc": Object { - "end": 5505, - "start": 5474, + "end": 5490, + "start": 5459, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5477, - "start": 5474, + "end": 5462, + "start": 5459, }, "value": "not", }, "type": Object { "kind": "NamedType", "loc": Object { - "end": 5505, - "start": 5479, + "end": 5490, + "start": 5464, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5505, - "start": 5479, + "end": 5490, + "start": 5464, }, "value": "ModelPostEditorFilterInput", }, @@ -7941,14 +7941,14 @@ Object { ], "kind": "InputObjectTypeDefinition", "loc": Object { - "end": 5507, - "start": 5299, + "end": 5492, + "start": 5284, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5331, - "start": 5305, + "end": 5316, + "start": 5290, }, "value": "ModelPostEditorFilterInput", }, @@ -7956,7 +7956,7 @@ Object { ], "kind": "Document", "loc": Object { - "end": 5509, + "end": 5494, "start": 0, }, } @@ -8018,6 +8018,27 @@ Object { $util.qr($query.expressionValues.put(\\":sortKey\\", { \\"S\\": \\"$ctx.args.childName.ge\\" })) #end ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -8031,8 +8052,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -8130,6 +8151,27 @@ $util.error($ctx.error.message, $ctx.error.type) ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -8143,8 +8185,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -8175,7 +8217,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createChild.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createChild.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createChild.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -8271,13 +8319,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Child\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createChild.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createChild.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -8289,6 +8338,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createComment.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -8373,13 +8428,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Comment\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createFriendship.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -8391,6 +8447,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createFriendship.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createFriendship.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -8475,13 +8537,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Friendship\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createFriendship.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createFriendship.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createParent.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -8493,6 +8556,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createParent.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createParent.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -8577,13 +8646,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Parent\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createParent.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createParent.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createPost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -8595,7 +8665,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createPost.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createPost.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -8690,13 +8766,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createPostAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -8708,6 +8785,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createPostAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createPostAuthor.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -8792,13 +8875,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"PostAuthor\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPostAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPostAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createPostEditor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -8810,6 +8894,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createPostEditor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createPostEditor.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -8894,13 +8984,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"PostEditor\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPostEditor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPostEditor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createPostModel.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -8912,6 +9003,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createPostModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createPostModel.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -8996,13 +9093,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"PostModel\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPostModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPostModel.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -9014,6 +9112,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createTest.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -9098,13 +9202,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createTest1.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -9116,7 +9221,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createTest1.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createTest1.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createTest1.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -9219,13 +9330,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Test1\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createTest1.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createTest1.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -9237,7 +9349,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createUser.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createUser.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -9340,13 +9458,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"User\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createUserModel.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -9358,7 +9477,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.createUserModel.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createUserModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.createUserModel.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -9370,7 +9495,7 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { ## [End] Set the primary key. ** {}", - "Mutation.createUserModel.postAuth.2.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.createUserModel.preAuth.2.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -9481,14 +9606,21 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"UserModel\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createUserModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createUserModel.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteChild.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteChild.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteChild.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -9556,13 +9688,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteChild.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteChild.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteComment.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -9620,13 +9759,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteFriendship.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteFriendship.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -9684,13 +9830,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteFriendship.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteFriendship.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteParent.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteParent.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -9748,14 +9901,21 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteParent.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteParent.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deletePost.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deletePost.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -9822,13 +9982,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deletePostAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deletePostAuthor.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -9886,13 +10053,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePostAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePostAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deletePostEditor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deletePostEditor.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -9950,13 +10124,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePostEditor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePostEditor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deletePostModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deletePostModel.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -10014,13 +10195,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePostModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePostModel.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteTest.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -10078,14 +10266,21 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteTest1.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteTest1.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteTest1.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -10153,14 +10348,21 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteTest1.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteTest1.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteUser.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteUser.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -10228,14 +10430,21 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Mutation.deleteUserModel.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** +## [End] ResponseTemplate. **", + "Mutation.deleteUserModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.deleteUserModel.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -10246,7 +10455,7 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { })) ## [End] Set the primary key. ** {}", - "Mutation.deleteUserModel.postAuth.2.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.deleteUserModel.preAuth.2.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -10316,13 +10525,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteUserModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteUserModel.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateChild.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -10332,7 +10542,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateChild.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateChild.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateChild.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -10473,13 +10689,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateChild.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateChild.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateComment.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -10489,6 +10706,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateComment.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -10618,13 +10841,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateComment.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateFriendship.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -10634,6 +10858,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateFriendship.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateFriendship.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -10763,13 +10993,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateFriendship.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateFriendship.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateParent.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -10779,6 +11010,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateParent.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateParent.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -10908,13 +11145,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateParent.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateParent.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -10924,7 +11162,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updatePost.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updatePost.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -11064,13 +11308,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePostAuthor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -11080,6 +11325,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updatePostAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updatePostAuthor.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -11209,13 +11460,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePostAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePostAuthor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePostEditor.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -11225,6 +11477,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updatePostEditor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updatePostEditor.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -11354,13 +11612,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePostEditor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePostEditor.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePostModel.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -11370,6 +11629,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updatePostModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updatePostModel.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -11499,13 +11764,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePostModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePostModel.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -11515,6 +11781,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateTest.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -11644,13 +11916,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateTest1.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -11660,7 +11933,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateTest1.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateTest1.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateTest1.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -11808,13 +12087,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateTest1.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateTest1.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateUser.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -11824,7 +12104,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateUser.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateUser.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -11972,13 +12258,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateUser.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateUserModel.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -11988,7 +12275,13 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", - "Mutation.updateUserModel.postAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateUserModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Mutation.updateUserModel.preAuth.1.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -12000,7 +12293,7 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { ## [End] Set the primary key. ** {}", - "Mutation.updateUserModel.postAuth.2.req.vtl": "## [Start] Merge default values and inputs. ** + "Mutation.updateUserModel.preAuth.2.req.vtl": "## [Start] Merge default values and inputs. ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) $util.qr($mergedValues.putAll($util.defaultIfNull($ctx.args.input, {}))) ## [End] Merge default values and inputs. ** @@ -12156,45 +12449,74 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateUserModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateUserModel.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Parent.child.req.vtl": "#if( $util.isNull($ctx.source.childID) || $util.isNull($ctx.source.childName) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.childID, \\"___xamznone____\\")), - \\"name\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.childName, \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id AND name = :name\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.childID, \\"___xamznone____\\"))), + \\":name\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.childName, \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "Parent.child.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", "Post.author.req.vtl": "#if( $util.isNull($ctx.source.owner) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.owner, \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.owner, \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "Post.author.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", "Post.authors.req.vtl": "#if( $util.isNull($ctx.source.authorID) ) #set( $result = { @@ -12273,6 +12595,27 @@ $util.toJson($ctx.result) ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -12286,8 +12629,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -12323,6 +12666,27 @@ $util.error($ctx.error.message, $ctx.error.type) \\":partitionKey\\": $util.dynamodb.toDynamoDB($context.source.id) } } ) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -12336,8 +12700,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -12412,6 +12776,27 @@ $util.error($ctx.error.message, $ctx.error.type) $util.qr($query.expressionValues.put(\\":sortKey\\", { \\"S\\": \\"$ctx.args.editorID.ge\\" })) #end ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -12425,8 +12810,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -12450,50 +12835,92 @@ $util.error($ctx.error.message, $ctx.error.type) "PostAuthor.post.req.vtl": "#if( $util.isNull($ctx.source.postID) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.postID, \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.postID, \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "PostAuthor.post.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", "PostEditor.editor.req.vtl": "#if( $util.isNull($ctx.source.editorID) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.editorID, \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.editorID, \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "PostEditor.editor.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", "PostEditor.post.req.vtl": "#if( $util.isNull($ctx.source.postID) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.postID, \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.postID, \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "PostEditor.post.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", "PostModel.authors.req.vtl": "#if( $util.isNull($ctx.source.authorID) ) #set( $result = { @@ -12513,6 +12940,27 @@ $util.toJson($ctx.result) \\":sortKey\\": $util.dynamodb.toDynamoDB(\\"\${context.source.authorName}#\${context.source.authorSurname}\\") } } ) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -12526,8 +12974,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -12551,21 +12999,41 @@ $util.error($ctx.error.message, $ctx.error.type) "PostModel.singleAuthor.req.vtl": "#if( $util.isNull($ctx.source.authorID) || $util.isNull($ctx.source.authorName) || $util.isNull($ctx.source.authorSurname) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.authorID, \\"___xamznone____\\")), - \\"name#surname\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank(\\"\${ctx.source.authorName}#\${ctx.source.authorSurname}\\", \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id AND name#surname = :name#surname\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.authorID, \\"___xamznone____\\"))), + \\":name#surname\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank(\\"\${ctx.source.authorName}#\${ctx.source.authorSurname}\\", \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "PostModel.singleAuthor.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", - "Query.getChild.postAuth.1.req.vtl": "## [Start] Set the primary key. ** + "Query.getChild.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getChild.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id), \\"name\\": $util.dynamodb.toDynamoDB($ctx.args.name) @@ -12575,92 +13043,204 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getChild.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getChild.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getChild.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getComment.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getComment.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getComment.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getFriendship.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getFriendship.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getFriendship.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getFriendship.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getParent.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getParent.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getParent.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getParent.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.getPost.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] Get Response template. **", + "Query.getPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getPost.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"title\\": $util.dynamodb.toDynamoDB($ctx.args.title) })) @@ -12669,92 +13249,204 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getPostAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getPostAuthor.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getPostAuthor.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getPostAuthor.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getPostModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getPostModel.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getPostModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getPostModel.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getTest.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.getTest1.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +## [End] Get Response template. **", + "Query.getTest1.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getTest1.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id), \\"email#name\\": $util.dynamodb.toDynamoDB(\\"\${ctx.args.email}#\${ctx.args.name}\\") @@ -12764,26 +13456,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getTest1.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getTest1.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getTest1.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", - "Query.getUser.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getUser.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id), \\"name#surname\\": $util.dynamodb.toDynamoDB(\\"\${ctx.args.name}#\${ctx.args.surname}\\") @@ -12793,26 +13513,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getUser.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getUser.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getUser.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getUserModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", - "Query.getUserModel.postAuth.1.req.vtl": "## [Start] Set the primary key. ** +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.getUserModel.preAuth.1.req.vtl": "## [Start] Set the primary key. ** $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id), \\"rollNumber\\": $util.dynamodb.toDynamoDB($ctx.args.rollNumber) @@ -12822,26 +13570,54 @@ $util.qr($ctx.stash.metadata.put(\\"modelObjectKey\\", { "Query.getUserModel.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getUserModel.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getUserModel.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", - "Query.listChildren.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] Get Response template. **", + "Query.listChildren.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listChildren.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.id) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'id'.\\", \\"InvalidArgumentsError\\") #end @@ -12912,8 +13688,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -12937,13 +13725,19 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listChildren.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listChildren.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listComments.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listComments.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -12953,8 +13747,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -12978,13 +13784,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listComments.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listComments.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listFriendships.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listFriendships.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -12994,8 +13806,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13019,13 +13843,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listFriendships.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listFriendships.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listParents.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listParents.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -13035,8 +13865,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13060,13 +13902,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listParents.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listParents.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listPostAuthors.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listPostAuthors.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -13076,8 +13924,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13101,13 +13961,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listPostAuthors.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listPostAuthors.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listPostModels.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listPostModels.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -13117,8 +13983,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13142,14 +14020,20 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listPostModels.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listPostModels.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.listPosts.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] ResponseTemplate. **", + "Query.listPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listPosts.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"sortDirection is not supported for List operations without a Sort key defined.\\", \\"InvalidArgumentsError\\") #end @@ -13177,8 +14061,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13202,14 +14098,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.listTest1s.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] ResponseTemplate. **", + "Query.listTest1s.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listTest1s.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.id) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'id'.\\", \\"InvalidArgumentsError\\") #end @@ -13326,8 +14228,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13351,13 +14265,19 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTest1s.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTest1s.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listTests.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listTests.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -13367,8 +14287,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13392,14 +14324,20 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listTests.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listTests.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.listUserModels.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] ResponseTemplate. **", + "Query.listUserModels.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listUserModels.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.id) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'id'.\\", \\"InvalidArgumentsError\\") #end @@ -13470,8 +14408,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13495,14 +14445,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listUserModels.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listUserModels.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", - "Query.listUsers.postAuth.1.req.vtl": "## [Start] Set query expression for key ** +## [End] ResponseTemplate. **", + "Query.listUsers.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Query.listUsers.preAuth.1.req.vtl": "## [Start] Set query expression for key ** #if( $util.isNull($ctx.args.id) && !$util.isNull($ctx.args.sortDirection) ) $util.error(\\"When providing argument 'sortDirection' you must also provide argument 'id'.\\", \\"InvalidArgumentsError\\") #end @@ -13619,8 +14575,20 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -13644,13 +14612,553 @@ $util.qr($ctx.stash.put(\\"modelQueryExpression\\", $modelQueryExpression)) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listUsers.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listUsers.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateChild.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateChild.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateChild.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateFriendship.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateFriendship.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateFriendship.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateParent.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateParent.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateParent.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreatePostAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePostAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePostAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreatePostEditor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePostEditor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePostEditor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreatePostModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePostModel.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePostModel.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateTest1.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateTest1.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateTest1.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateUserModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateUserModel.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateUserModel.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteChild.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteChild.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteChild.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteFriendship.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteFriendship.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteFriendship.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteParent.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteParent.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteParent.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePostAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePostAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePostAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePostEditor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePostEditor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePostEditor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePostModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePostModel.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePostModel.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteTest1.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteTest1.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteTest1.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteUserModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteUserModel.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteUserModel.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateChild.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateChild.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateChild.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateComment.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateComment.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateComment.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateFriendship.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateFriendship.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateFriendship.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateParent.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateParent.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateParent.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePostAuthor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePostAuthor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePostAuthor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePostEditor.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePostEditor.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePostEditor.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePostModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePostModel.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePostModel.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateTest1.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateTest1.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateTest1.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateUser.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateUser.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateUser.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateUserModel.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateUserModel.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateUserModel.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", "Test.otherParts.req.vtl": "#if( $util.isNull($ctx.source.id) ) #set( $result = { \\"items\\": [] @@ -13728,6 +15236,27 @@ $util.toJson($ListRequest) ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -13741,8 +15270,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -13839,6 +15368,27 @@ $util.error($ctx.error.message, $ctx.error.type) ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -13852,8 +15402,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -13928,6 +15478,27 @@ $util.error($ctx.error.message, $ctx.error.type) $util.qr($query.expressionValues.put(\\":sortKey\\", { \\"S\\": \\"$ctx.args.friendID.ge\\" })) #end ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -13941,8 +15512,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -14017,6 +15588,27 @@ $util.error($ctx.error.message, $ctx.error.type) $util.qr($query.expressionValues.put(\\":sortKey\\", { \\"S\\": \\"$ctx.args.postID.ge\\" })) #end ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -14030,8 +15622,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -14106,6 +15698,27 @@ $util.error($ctx.error.message, $ctx.error.type) $util.qr($query.expressionValues.put(\\":sortKey\\", { \\"S\\": \\"$ctx.args.postID.ge\\" })) #end ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -14119,8 +15732,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, diff --git a/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-many-to-many-transformer.test.ts.snap b/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-many-to-many-transformer.test.ts.snap index 3e58971d8e4..97868fefb2d 100644 --- a/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-many-to-many-transformer.test.ts.snap +++ b/packages/amplify-graphql-relational-transformer/src/__tests__/__snapshots__/amplify-graphql-many-to-many-transformer.test.ts.snap @@ -317,6 +317,27 @@ Object { $util.qr($query.expressionValues.put(\\":sortKey\\", { \\"S\\": \\"$ctx.args.fooID.ge\\" })) #end ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -330,8 +351,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -406,6 +427,27 @@ $util.error($ctx.error.message, $ctx.error.type) $util.qr($query.expressionValues.put(\\":sortKey\\", { \\"S\\": \\"$ctx.args.barID.ge\\" })) #end ## [End] Applying Key Condition ** + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end + #else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end + #end + #if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) + #if( !$util.isNullOrBlank($filterExpression.expression) ) + #if( $filterEpression.expressionValues.size() == 0 ) + $util.qr($filterEpression.remove(\\"expressionValues\\")) + #end + #set( $filter = $filterExpression ) + #end + #end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"Query\\", @@ -419,8 +461,8 @@ false #else true #end, - \\"filter\\": #if( $context.args.filter ) -$util.transform.toDynamoDBFilterExpression($ctx.args.filter) + \\"filter\\": #if( $filter ) +$util.toJson($filter) #else null #end, @@ -444,34 +486,62 @@ $util.error($ctx.error.message, $ctx.error.type) "FooBar.bar.req.vtl": "#if( $util.isNull($ctx.source.barID) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.barID, \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.barID, \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "FooBar.bar.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", "FooBar.foo.req.vtl": "#if( $util.isNull($ctx.source.fooID) ) #return #else -{ - \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\", - \\"key\\": { - \\"id\\": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.fooID, \\"___xamznone____\\")) - } + #set( $GetRequest = { + \\"version\\": \\"2018-05-29\\", + \\"operation\\": \\"Query\\" +} ) + $util.qr($GetRequest.put(\\"query\\", { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.fooID, \\"___xamznone____\\"))) } +})) + #if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) + #end + $util.toJson($GetRequest) #end", "FooBar.foo.res.vtl": "#if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else -$util.toJson($ctx.result) + #if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) + #else + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) + #end #end", "Mutation.createBar.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) @@ -484,6 +554,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createBar.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -568,13 +644,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Bar\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createBar.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createFoo.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -586,6 +663,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createFoo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createFoo.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -670,13 +753,14 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Foo\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createFoo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createFoo.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.createFooBar.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $createdAt = $util.time.nowISO8601() ) @@ -688,6 +772,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createFooBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createFooBar.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -772,13 +862,20 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"FooBar\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createFooBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createFooBar.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteBar.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -836,13 +933,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteBar.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteFoo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteFoo.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -900,13 +1004,20 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteFoo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteFoo.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deleteFooBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deleteFooBar.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -964,13 +1075,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deleteFooBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deleteFooBar.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateBar.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -980,6 +1092,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateBar.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -1109,13 +1227,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateBar.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateFoo.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -1125,6 +1244,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateFoo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateFoo.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -1254,13 +1379,14 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateFoo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateFoo.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updateFooBar.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -1270,6 +1396,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updateFooBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updateFooBar.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -1399,79 +1531,170 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updateFooBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updateFooBar.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getBar.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getBar.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) +#end +## [End] Get Response template. **", + "Query.getFoo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() #end -## [End] Get ResponseTemplate. **", +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getFoo.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getFoo.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getFoo.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.getFooBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getFooBar.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getFooBar.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getFooBar.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.listBars.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listBars.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -1481,8 +1704,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1506,13 +1741,19 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listBars.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listBars.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listFooBars.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listFooBars.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -1522,8 +1763,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1547,13 +1800,19 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listFooBars.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listFooBars.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.listFoos.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listFoos.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -1563,8 +1822,20 @@ $util.toJson($ListRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -1588,12 +1859,147 @@ $util.toJson($ListRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listFoos.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listFoos.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Subscription.onCreateBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateBar.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateBar.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateFoo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateFoo.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateFoo.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onCreateFooBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreateFooBar.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreateFooBar.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteBar.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteBar.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteFoo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteFoo.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteFoo.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeleteFooBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeleteFooBar.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeleteFooBar.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateBar.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateBar.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateFoo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateFoo.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateFoo.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdateFooBar.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdateFooBar.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdateFooBar.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", } `; diff --git a/packages/amplify-graphql-relational-transformer/src/resolvers.ts b/packages/amplify-graphql-relational-transformer/src/resolvers.ts index 97da8250ec7..1104c0bbc61 100644 --- a/packages/amplify-graphql-relational-transformer/src/resolvers.ts +++ b/packages/amplify-graphql-relational-transformer/src/resolvers.ts @@ -6,6 +6,7 @@ import { Table } from '@aws-cdk/aws-dynamodb'; import * as cdk from '@aws-cdk/core'; import { ObjectTypeDefinitionNode } from 'graphql'; import { + and, bool, compoundExpression, DynamoDBMappingTemplate, @@ -13,16 +14,22 @@ import { Expression, ifElse, iff, + int, + isNullOrEmpty, list, + methodCall, + not, nul, obj, ObjectNode, or, print, + qref, raw, ref, set, str, + toJson, } from 'graphql-mapping-template'; import { applyCompositeKeyConditionExpression, @@ -36,6 +43,8 @@ import { import { HasManyDirectiveConfiguration, HasOneDirectiveConfiguration } from './types'; import { getConnectionAttributeName } from './utils'; +const authFilter = ref('ctx.stash.authFilter'); + export function makeGetItemConnectionWithKeyResolver(config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider) { const { connectionFields, field, fields, object, relatedType, relatedTypeIndex } = config; assert(relatedTypeIndex.length > 0); @@ -44,8 +53,11 @@ export function makeGetItemConnectionWithKeyResolver(config: HasOneDirectiveConf const { keySchema } = table as any; const dataSource = ctx.api.host.getDataSource(`${relatedType.name.value}Table`); const partitionKeyName = keySchema[0].attributeName; - const keyObj = { - [partitionKeyName]: ref(`util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.${localFields[0]}, "${NONE_VALUE}"))`), + let totalExpressions = [`${partitionKeyName} = :${partitionKeyName}`]; + let totalExpressionValues: Record = { + [`:${partitionKeyName}`]: ref( + `util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.${localFields[0]}, "${NONE_VALUE}")))`, + ), }; // Add a composite sort key or simple sort key if there is one. @@ -54,11 +66,16 @@ export function makeGetItemConnectionWithKeyResolver(config: HasOneDirectiveConf const sortKeyName = keySchema[1].attributeName; const condensedSortKeyValue = condenseRangeKey(rangeKeyFields.map(keyField => `\${ctx.source.${keyField}}`)); - keyObj[sortKeyName] = ref(`util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank("${condensedSortKeyValue}", "${NONE_VALUE}"))`); + totalExpressions.push(`${sortKeyName} = :${sortKeyName}`); + totalExpressionValues[`:${sortKeyName}`] = ref( + `util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank("${condensedSortKeyValue}", "${NONE_VALUE}")))`, + ); } else if (relatedTypeIndex.length === 2) { const sortKeyName = keySchema[1].attributeName; - - keyObj[sortKeyName] = ref(`util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.${localFields[1]}, "${NONE_VALUE}"))`); + totalExpressions.push(`${sortKeyName} = :${sortKeyName}`); + totalExpressionValues[`:${sortKeyName}`] = ref( + `util.parseJson($util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.source.${localFields[1]}, "${NONE_VALUE}")))`, + ); } const resolver = ctx.resolvers.generateQueryResolver( @@ -71,16 +88,49 @@ export function makeGetItemConnectionWithKeyResolver(config: HasOneDirectiveConf or(localFields.map(f => raw(`$util.isNull($ctx.source.${f})`))), raw('#return'), compoundExpression([ - DynamoDBMappingTemplate.getItem({ - key: obj(keyObj), - }), + set(ref('GetRequest'), obj({ version: str('2018-05-29'), operation: str('Query') })), + qref( + methodCall( + ref('GetRequest.put'), + str('query'), + obj({ + expression: str(totalExpressions.join(' AND ')), + expressionValues: obj(totalExpressionValues), + }), + ), + ), + iff( + not(isNullOrEmpty(authFilter)), + qref( + methodCall( + ref('GetRequest.put'), + str('filter'), + methodCall(ref('util.parseJson'), methodCall(ref('util.transform.toDynamoDBFilterExpression'), authFilter)), + ), + ), + ), + toJson(ref('GetRequest')), ]), ), ), `${object.name.value}.${field.name.value}.req.vtl`, ), MappingTemplate.s3MappingTemplateFromString( - print(DynamoDBMappingTemplate.dynamoDBResponse(false)), + print( + DynamoDBMappingTemplate.dynamoDBResponse( + false, + compoundExpression([ + ifElse( + and([not(ref('ctx.result.items.isEmpty()')), equals(ref('ctx.result.scannedCount'), int(1))]), + toJson(ref('ctx.result.items[0]')), + compoundExpression([ + iff(and([ref('ctx.result.items.isEmpty()'), equals(ref('ctx.result.scannedCount'), int(1))]), ref('util.unauthorized()')), + toJson(nul()), + ]), + ), + ]), + ), + ), `${object.name.value}.${field.name.value}.res.vtl`, ), ); @@ -115,6 +165,36 @@ export function makeQueryConnectionWithKeyResolver(config: HasManyDirectiveConfi setup.push(applyCompositeKeyConditionExpression(sortKeyFieldNames, 'query', toCamelCase(sortKeyFieldNames), sortKeyFieldName)); } } + // add setup filter to query + setup.push( + ifElse( + not(isNullOrEmpty(authFilter)), + compoundExpression([ + set(ref('filter'), authFilter), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), obj({ and: list([ref('filter'), ref('ctx.args.filter')]) }))), + ]), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), ref('ctx.args.filter'))), + ), + iff( + not(isNullOrEmpty(ref('filter'))), + compoundExpression([ + set( + ref(`filterExpression`), + methodCall(ref('util.parseJson'), methodCall(ref('util.transform.toDynamoDBFilterExpression'), ref('filter'))), + ), + iff( + not(methodCall(ref('util.isNullOrBlank'), ref('filterExpression.expression'))), + compoundExpression([ + iff( + equals(methodCall(ref('filterEpression.expressionValues.size')), int(0)), + qref(methodCall(ref('filterEpression.remove'), str('expressionValues'))), + ), + set(ref('filter'), ref('filterExpression')), + ]), + ), + ]), + ), + ); const queryArguments = { query: raw('$util.toJson($query)'), @@ -123,7 +203,7 @@ export function makeQueryConnectionWithKeyResolver(config: HasManyDirectiveConfi ifElse(equals(ref('context.args.sortDirection'), str('ASC')), bool(true), bool(false)), bool(true), ), - filter: ifElse(ref('context.args.filter'), ref('util.transform.toDynamoDBFilterExpression($ctx.args.filter)'), nul()), + filter: ifElse(ref('filter'), ref('util.toJson($filter)'), nul()), limit: ref('limit'), nextToken: ifElse(ref('context.args.nextToken'), ref('util.toJson($context.args.nextToken)'), nul()), } as any; diff --git a/packages/amplify-graphql-relational-transformer/src/schema.ts b/packages/amplify-graphql-relational-transformer/src/schema.ts index db278a06b0a..905af1548cd 100644 --- a/packages/amplify-graphql-relational-transformer/src/schema.ts +++ b/packages/amplify-graphql-relational-transformer/src/schema.ts @@ -65,7 +65,7 @@ function generateModelXConnectionType( let connectionTypeExtension = blankObjectExtension(tableXConnectionName); connectionTypeExtension = extensionWithFields(connectionTypeExtension, [ - makeField('items', [], makeListType(makeNamedType(tableXConnectionName))), + makeField('items', [], makeListType(makeNamedType(relatedType.name.value))), ]); connectionTypeExtension = extensionWithFields(connectionTypeExtension, [makeField('nextToken', [], makeNamedType('String'))]); diff --git a/packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.tests.ts.snap b/packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.tests.ts.snap index 4f2f780d9da..49eab512b4c 100644 --- a/packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.tests.ts.snap +++ b/packages/amplify-graphql-searchable-transformer/src/__tests__/__snapshots__/amplify-graphql-searchable-transformer.tests.ts.snap @@ -604,6 +604,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.createPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.createPost.req.vtl": "## [Start] Create Request template. ** ## Begin - key condition ** #if( $ctx.stash.metadata.modelObjectKey ) @@ -688,13 +694,20 @@ $util.qr($mergedValues.put(\\"__typename\\", \\"Post\\")) #end $util.toJson($PutObject) ## [End] Create Request template. **", - "Mutation.createPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.createPost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Mutation.deletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.deletePost.req.vtl": "## [Start] Delete Request template. ** #set( $DeleteRequest = { \\"version\\": \\"2018-05-29\\", @@ -752,13 +765,14 @@ $util.qr($DeleteRequest.put(\\"key\\", $Key)) #end $util.toJson($DeleteRequest) ## [End] Delete Request template. **", - "Mutation.deletePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.deletePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Mutation.updatePost.init.1.req.vtl": "## [Start] Initialization default values. ** $util.qr($ctx.stash.put(\\"defaultValues\\", $util.defaultIfNull($ctx.stash.defaultValues, {}))) #set( $updatedAt = $util.time.nowISO8601() ) @@ -768,6 +782,12 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Initialization default values. **", + "Mutation.updatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Mutation.updatePost.req.vtl": "## [Start] Mutation Update resolver. ** ## Set the default values to put request ** #set( $mergedValues = $util.defaultIfNull($ctx.stash.defaultValues, {}) ) @@ -897,35 +917,70 @@ $util.qr($update.put(\\"expression\\", \\"$expression\\")) #end $util.toJson($UpdateItem) ## [End] Mutation Update resolver. **", - "Mutation.updatePost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Mutation.updatePost.res.vtl": "## [Start] ResponseTemplate. ** +$util.qr($ctx.result.put(\\"__operation\\", \\"Mutation\\")) #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", + "Query.getPost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.getPost.req.vtl": "## [Start] Get Request template. ** #set( $GetRequest = { \\"version\\": \\"2018-05-29\\", - \\"operation\\": \\"GetItem\\" + \\"operation\\": \\"Query\\" } ) #if( $ctx.stash.metadata.modelObjectKey ) - #set( $key = $ctx.stash.metadata.modelObjectKey ) + #set( $expression = \\"\\" ) + #set( $expressionValues = {} ) + #foreach( $item in $ctx.stash.metadata.modelObjectKey.entrySet() ) + #set( $expression = \\"$expression$item.key = :$item.key AND \\" ) + $util.qr($expressionValues.put(\\":$item.key\\", $item.value)) + #end + #set( $expression = $expression.replaceAll(\\"AND $\\", \\"\\") ) + #set( $query = { + \\"expression\\": $expression, + \\"expressionValues\\": $expressionValues +} ) #else - #set( $key = { - \\"id\\": $util.dynamodb.toDynamoDB($ctx.args.id) + #set( $query = { + \\"expression\\": \\"id = :id\\", + \\"expressionValues\\": { + \\":id\\": $util.parseJson($util.dynamodb.toDynamoDBJson($ctx.args.id)) + } } ) #end -$util.qr($GetRequest.put(\\"key\\", $key)) +$util.qr($GetRequest.put(\\"query\\", $query)) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + $util.qr($GetRequest.put(\\"filter\\", $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.stash.authFilter)))) +#end $util.toJson($GetRequest) ## [End] Get Request template. **", - "Query.getPost.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.getPost.res.vtl": "## [Start] Get Response template. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) +#end +#if( !$ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) + $util.toJson($ctx.result.items[0]) #else - $util.toJson($ctx.result) + #if( $ctx.result.items.isEmpty() && $ctx.result.scannedCount == 1 ) +$util.unauthorized() + #end + $util.toJson(null) #end -## [End] Get ResponseTemplate. **", +## [End] Get Response template. **", + "Query.listPosts.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", "Query.listPosts.req.vtl": "## [Start] List Request. ** #set( $limit = $util.defaultIfNull($context.args.limit, 100) ) #set( $ListRequest = { @@ -935,8 +990,20 @@ $util.toJson($GetRequest) #if( $context.args.nextToken ) #set( $ListRequest.nextToken = $context.args.nextToken ) #end -#if( $context.args.filter ) - #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($ctx.args.filter)) ) +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = { + \\"and\\": [$filter, $ctx.args.filter] +} ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( !$util.isNullOrEmpty($filter) ) + #set( $filterExpression = $util.parseJson($util.transform.toDynamoDBFilterExpression($filter)) ) #if( !$util.isNullOrBlank($filterExpression.expression) ) #if( $filterEpression.expressionValues.size() == 0 ) $util.qr($filterEpression.remove(\\"expressionValues\\")) @@ -960,13 +1027,13 @@ $util.toJson($GetRequest) #end $util.toJson($ListRequest) ## [End] List Request. **", - "Query.listPosts.res.vtl": "## [Start] Get ResponseTemplate. ** + "Query.listPosts.res.vtl": "## [Start] ResponseTemplate. ** #if( $ctx.error ) $util.error($ctx.error.message, $ctx.error.type) #else $util.toJson($ctx.result) #end -## [End] Get ResponseTemplate. **", +## [End] ResponseTemplate. **", "Query.searchPosts.req.vtl": "#set( $indexPath = \\"/post/doc/_search\\" ) #set( $nonKeywordFields = [] ) #set( $sortValues = [] ) @@ -1006,6 +1073,25 @@ $util.toJson($ListRequest) $util.qr($aggregateValues.put(\\"$aggItem.name\\", {\\"$aggItem.type\\": {\\"field\\": \\"\${aggItem.field}.keyword\\"}})) #end #end +#if( !$util.isNullOrEmpty($ctx.stash.authFilter) ) + #set( $filter = $ctx.stash.authFilter ) + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = [{ + \\"bool\\": { + \\"must\\": [$ctx.stash.authFilter, $util.transform.toElasticsearchQueryDSL($ctx.args.filter)] + } +}] ) + #end +#else + #if( !$util.isNullOrEmpty($ctx.args.filter) ) + #set( $filter = $ctx.args.filter ) + #end +#end +#if( $util.isNullOrEmpty($filter) ) + #set( $filter = { + \\"match_all\\": {} +} ) +#end { \\"version\\": \\"2018-05-29\\", \\"operation\\": \\"GET\\", @@ -1017,13 +1103,7 @@ $util.toJson($ListRequest) \\"size\\": #if( $context.args.limit ) $context.args.limit #else 100 #end, \\"sort\\": $sortValues, \\"version\\": false, - \\"query\\": #if( $context.args.filter ) -$util.transform.toElasticsearchQueryDSL($ctx.args.filter) -#else -{ - \\"match_all\\": {} - } -#end, + \\"query\\": $util.toJson($filter), \\"aggs\\": $util.toJson($aggregateValues) } } @@ -1059,6 +1139,51 @@ $util.toJson({ \\"nextToken\\": $nextToken, \\"aggregateItems\\": $aggregateValues })", + "Subscription.onCreatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onCreatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onCreatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onDeletePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onDeletePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onDeletePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", + "Subscription.onUpdatePost.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** +#if( !$ctx.stash.get(\\"hasAuth\\") ) + $util.unauthorized() +#end +$util.toJson({}) +## [End] Sandbox Mode Disabled. **", + "Subscription.onUpdatePost.req.vtl": "## [Start] Subscription Request template. ** +$util.toJson({ + \\"version\\": \\"2018-05-29\\", + \\"payload\\": {} +}) +## [End] Subscription Request template. **", + "Subscription.onUpdatePost.res.vtl": "## [Start] Subscription Response template. ** +$util.toJson(null) +## [End] Subscription Response template. **", } `; diff --git a/packages/amplify-graphql-searchable-transformer/src/generate-resolver-vtl.ts b/packages/amplify-graphql-searchable-transformer/src/generate-resolver-vtl.ts index ccef9dc1ca9..9c93786731f 100644 --- a/packages/amplify-graphql-searchable-transformer/src/generate-resolver-vtl.ts +++ b/packages/amplify-graphql-searchable-transformer/src/generate-resolver-vtl.ts @@ -17,9 +17,13 @@ import { Expression, bool, methodCall, + isNullOrEmpty, + not, } from 'graphql-mapping-template'; import { ResourceConstants } from 'graphql-transformer-common'; +const authFilter = ref('ctx.stash.authFilter'); + export function requestTemplate(primaryKey: string, nonKeywordFields: Expression[], includeVersion: boolean = false, type: string): string { return print( compoundExpression([ @@ -64,19 +68,32 @@ export function requestTemplate(primaryKey: string, nonKeywordFields: Expression qref('$aggregateValues.put("$aggItem.name", {"$aggItem.type": {"field": "${aggItem.field}.keyword"}})'), ), ]), + ifElse( + not(isNullOrEmpty(authFilter)), + compoundExpression([ + set(ref('filter'), authFilter), + iff( + not(isNullOrEmpty(ref('ctx.args.filter'))), + set( + ref('filter'), + list([ + obj({ + bool: obj({ must: list([ref('ctx.stash.authFilter'), ref('util.transform.toElasticsearchQueryDSL($ctx.args.filter)')]) }), + }), + ]), + ), + ), + ]), + iff(not(isNullOrEmpty(ref('ctx.args.filter'))), set(ref('filter'), ref('ctx.args.filter'))), + ), + iff(isNullOrEmpty(ref('filter')), set(ref('filter'), obj({ match_all: obj({}) }))), SearchableMappingTemplate.searchTemplate({ path: str('$indexPath'), size: ifElse(ref('context.args.limit'), ref('context.args.limit'), int(ResourceConstants.DEFAULT_SEARCHABLE_PAGE_LIMIT), true), search_after: ref('util.base64Decode($context.args.nextToken)'), from: ref('context.args.from'), version: bool(includeVersion), - query: ifElse( - ref('context.args.filter'), - ref('util.transform.toElasticsearchQueryDSL($ctx.args.filter)'), - obj({ - match_all: obj({}), - }), - ), + query: methodCall(ref('util.toJson'), ref('filter')), sort: ref('sortValues'), aggs: ref('util.toJson($aggregateValues)'), }), diff --git a/packages/amplify-graphql-searchable-transformer/src/graphql-searchable-transformer.ts b/packages/amplify-graphql-searchable-transformer/src/graphql-searchable-transformer.ts index a94a93ee74e..d1832a755d3 100644 --- a/packages/amplify-graphql-searchable-transformer/src/graphql-searchable-transformer.ts +++ b/packages/amplify-graphql-searchable-transformer/src/graphql-searchable-transformer.ts @@ -138,7 +138,7 @@ export class SearchableModelTransformer extends TransformerPluginBase { MappingTemplate.s3MappingTemplateFromString(responseTemplate(false), `${typeName}.${def.fieldName}.res.vtl`), ); resolver.mapToStack(stack); - context.resolvers.addResolver(type, def.fieldName, resolver); + context.resolvers.addResolver(typeName, def.fieldName, resolver); } createStackOutputs(stack, domain.domainEndpoint, context.api.apiId, domain.domainArn); diff --git a/packages/amplify-graphql-transformer-core/src/config/index.ts b/packages/amplify-graphql-transformer-core/src/config/index.ts index 7cfa3497922..58b0911cbdb 100644 --- a/packages/amplify-graphql-transformer-core/src/config/index.ts +++ b/packages/amplify-graphql-transformer-core/src/config/index.ts @@ -1,21 +1,2 @@ export { TransformerProjectConfig } from './project-config'; -export { - TransformConfig, - ConflictDetectionType, - ConflictHandlerType, - ResolverConfig, - SyncConfig, - SyncConfigLambda, - SyncConfigOptimistic, - SyncConfigServer, - LambdaConflictHandler, - AppSyncAuthConfiguration, - AppSyncAuthConfigurationAPIKeyEntry, - AppSyncAuthConfigurationEntry, - AppSyncAuthConfigurationIAMEntry, - ApiKeyConfig, - AppSyncAuthConfigurationOIDCEntry, - AppSyncAuthConfigurationUserPoolEntry, - AppSyncAuthMode, - UserPoolConfig, -} from './transformer-config'; +export * from './transformer-config'; diff --git a/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts b/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts index c98cfad4f3d..1b044d1a36e 100644 --- a/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts +++ b/packages/amplify-graphql-transformer-core/src/config/transformer-config.ts @@ -4,56 +4,13 @@ export interface TransformMigrationConfig { }; } -// Auth Config -export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT'; -export type AppSyncAuthConfiguration = { - defaultAuthentication: AppSyncAuthConfigurationEntry; - additionalAuthenticationProviders: Array; -}; - -export type AppSyncAuthConfigurationEntry = - | AppSyncAuthConfigurationUserPoolEntry - | AppSyncAuthConfigurationAPIKeyEntry - | AppSyncAuthConfigurationIAMEntry - | AppSyncAuthConfigurationOIDCEntry; -export type AppSyncAuthConfigurationAPIKeyEntry = { - authenticationType: 'API_KEY'; - apiKeyConfig: ApiKeyConfig; -}; -export type AppSyncAuthConfigurationUserPoolEntry = { - authenticationType: 'AMAZON_COGNITO_USER_POOLS'; - userPoolConfig: UserPoolConfig; -}; -export type AppSyncAuthConfigurationIAMEntry = { - authenticationType: 'AWS_IAM'; -}; - -export type AppSyncAuthConfigurationOIDCEntry = { - authenticationType: 'OPENID_CONNECT'; - openIDConnectConfig: OpenIDConnectConfig; -}; - -export type ApiKeyConfig = { - description?: string; - apiKeyExpirationDays: number; -}; -export type UserPoolConfig = { - userPoolId: string; -}; -export type OpenIDConnectConfig = { - name: string; - issuerUrl: string; - clientId?: string; - iatTTL?: number; - authTTL?: number; -}; - // Sync Config export const enum ConflictHandlerType { OPTIMISTIC = 'OPTIMISTIC_CONCURRENCY', AUTOMERGE = 'AUTOMERGE', LAMBDA = 'LAMBDA', } + export type ConflictDetectionType = 'VERSION' | 'NONE'; export type SyncConfigOptimistic = { ConflictDetection: ConflictDetectionType; @@ -79,10 +36,6 @@ export type ResolverConfig = { project?: SyncConfig; models?: Record; }; -/** - * The transform config is specified in transform.conf.json within an Amplify - * API project directory. - */ export interface TransformConfig { /** * The transform library uses a "StackMapping" to determine which stack @@ -95,7 +48,9 @@ export interface TransformConfig { * overrides to get specific behavior out of the transformer. Users may * override the default stack mapping to customize behavior. */ - StackMapping?: Record; + StackMapping?: { + [resourceId: string]: string; + }; /** * Provide build time options to GraphQL Transformer constructor functions. @@ -103,9 +58,10 @@ export interface TransformConfig { * need to be set at build time. E.G. DeletionPolicies cannot depend on parameters. */ TransformerOptions?: { - [transformer: string]: Record; + [transformer: string]: { + [option: string]: any; + }; }; - /** * Object which states info about a resolver's configuration * Such as sync configuration for appsync local support diff --git a/packages/amplify-graphql-transformer-core/src/graphql-api.ts b/packages/amplify-graphql-transformer-core/src/graphql-api.ts index 71d9fa52dc8..fba65cd31e8 100644 --- a/packages/amplify-graphql-transformer-core/src/graphql-api.ts +++ b/packages/amplify-graphql-transformer-core/src/graphql-api.ts @@ -113,6 +113,7 @@ export class IamResource implements APIIAMResourceProvider { export type TransformerAPIProps = GraphqlApiProps & { readonly createApiKey?: boolean; readonly host?: TransformHostProvider; + readonly globalSandboxModeEnv?: string; }; export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { /** @@ -125,7 +126,7 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { * The TransformHost object provides resource creation utilities in AWS * such as a LambdaDataSource or a DynamoDBDataSource */ - public readonly host: TransformHostProvider + public readonly host: TransformHostProvider; /** * the ARN of the API @@ -161,6 +162,11 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { */ public readonly apiKey?: string; + /** + * Global Sandbox Mode for GraphQL API + */ + public readonly globalSandboxModeEnabled?: boolean; + private schemaResource: CfnGraphQLSchema; private api: CfnGraphQLApi; private apiKeyResource?: CfnApiKey; @@ -198,7 +204,9 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { this.schema = props.schema ?? new TransformerSchema(); this.schemaResource = this.schema.bind(this); - if (props.createApiKey && modes.some(mode => mode.authorizationType === AuthorizationType.API_KEY)) { + const hasApiKey = modes.some(mode => mode.authorizationType === AuthorizationType.API_KEY); + + if (props.createApiKey && hasApiKey) { const config = modes.find((mode: AuthorizationMode) => { return mode.authorizationType === AuthorizationType.API_KEY && mode.apiKeyConfig; })?.apiKeyConfig; @@ -207,13 +215,14 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { this.apiKey = this.apiKeyResource.attrApiKey; } + if (hasApiKey && !!props.globalSandboxModeEnv) this.globalSandboxModeEnabled = true; + if (props.host) { this.host = props.host; this.host.setAPI(this); - } - else { + } else { this.host = new DefaultTransformHost({ - api: this + api: this, }); } } diff --git a/packages/amplify-graphql-transformer-core/src/index.ts b/packages/amplify-graphql-transformer-core/src/index.ts index 6ddfd7b974a..6c6627b257c 100644 --- a/packages/amplify-graphql-transformer-core/src/index.ts +++ b/packages/amplify-graphql-transformer-core/src/index.ts @@ -8,25 +8,29 @@ export { ConflictHandlerType, ResolverConfig, SyncConfig, - SyncConfigLambda, SyncConfigOptimistic, SyncConfigServer, + SyncConfigLambda, TransformConfig, TransformerProjectConfig, - AppSyncAuthConfiguration, - AppSyncAuthConfigurationAPIKeyEntry, - AppSyncAuthConfigurationEntry, - AppSyncAuthConfigurationIAMEntry, - ApiKeyConfig, - AppSyncAuthConfigurationOIDCEntry, - AppSyncAuthConfigurationUserPoolEntry, - AppSyncAuthMode, - UserPoolConfig, - LambdaConflictHandler, } from './config/index'; -export { collectDirectives, collectDirectivesByTypeNames, DirectiveWrapper } from './utils'; +export { + collectDirectives, + collectDirectivesByTypeNames, + DirectiveWrapper, + getSandboxModeEnvNameFromDirectiveSet, + getSandboxModeEnvNameFromNodeMap, + IAM_AUTH_ROLE_PARAMETER, + IAM_UNAUTH_ROLE_PARAMETER, +} from './utils'; export * from './errors'; -export { TransformerModelBase, TransformerModelEnhancerBase, TransformerPluginBase } from './transformation/transformer-plugin-base'; +export { + TransformerModelBase, + TransformerModelEnhancerBase, + TransformerPluginBase, + TransformerAuthBase, +} from './transformation/transformer-plugin-base'; +export { TransformerResolver } from './transformer-context'; /** * Returns the extra set of directives that are supported by AppSync service */ diff --git a/packages/amplify-graphql-transformer-core/src/transform-host.ts b/packages/amplify-graphql-transformer-core/src/transform-host.ts index a72f94cf87d..5ede7441a0a 100644 --- a/packages/amplify-graphql-transformer-core/src/transform-host.ts +++ b/packages/amplify-graphql-transformer-core/src/transform-host.ts @@ -26,6 +26,7 @@ export interface DefaultTransformHostOptions { export class DefaultTransformHost implements TransformHostProvider { private dataSources: Map = new Map(); + private resolvers: Map = new Map(); private api: GraphQLApi; public constructor(options: DefaultTransformHostOptions) { @@ -45,6 +46,16 @@ export class DefaultTransformHost implements TransformHostProvider { } }; + public hasResolver = (typeName: string, fieldName: string) => { + return this.resolvers.has(`${typeName}:${fieldName}`); + }; + + public getResolver = (typeName: string, fieldName: string): CfnResolver | void => { + if (this.resolvers.has(`${typeName}:${fieldName}`)) { + return this.resolvers.get(`${typeName}:${fieldName}`); + } + }; + addSearchableDataSource( name: string, awsRegion: string, @@ -125,7 +136,7 @@ export class DefaultTransformHost implements TransformHostProvider { dataSourceName?: string, pipelineConfig?: string[], stack?: Stack, - ) { + ): CfnResolver { if (dataSourceName && !Token.isUnresolved(dataSourceName) && !this.dataSources.has(dataSourceName)) { throw new Error(`DataSource ${dataSourceName} is missing in the API`); } @@ -168,6 +179,7 @@ export class DefaultTransformHost implements TransformHostProvider { }, }); this.api.addSchemaDependency(resolver); + this.resolvers.set(`${typeName}:${fieldName}`, resolver); return resolver; } else { throw new Error('Resolver needs either dataSourceName or pipelineConfig to be passed'); diff --git a/packages/amplify-graphql-transformer-core/src/transformation/sync-utils.ts b/packages/amplify-graphql-transformer-core/src/transformation/sync-utils.ts index 7d207ffa4e2..5818000f4c0 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/sync-utils.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/sync-utils.ts @@ -90,7 +90,7 @@ export function syncDataSourceConfig(): DeltaSyncConfig { export function validateResolverConfigForType(ctx: TransformerSchemaVisitStepContextProvider, typeName: string): void { const resolverConfig = ctx.getResolverConfig(); const typeResolverConfig = resolverConfig?.models?.[typeName]; - if (!typeResolverConfig || !typeResolverConfig.ConflictDetection || !typeResolverConfig.ConflictHandler) { + if (typeResolverConfig && !typeResolverConfig.ConflictDetection && !typeResolverConfig.ConflictHandler) { console.warn(`Invalid resolverConfig for type ${typeName}. Using the project resolverConfig instead.`); } } diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts index 2571efec502..33ad0ffa85a 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts @@ -4,6 +4,7 @@ import { GraphQLAPIProvider, TransformerPluginProvider, TransformHostProvider, + AppSyncAuthConfiguration, } from '@aws-amplify/graphql-transformer-interfaces'; import { AuthorizationMode, AuthorizationType } from '@aws-cdk/aws-appsync'; import { App, Aws, CfnOutput, Fn } from '@aws-cdk/core'; @@ -23,13 +24,13 @@ import { TypeExtensionNode, UnionTypeDefinitionNode, } from 'graphql'; -import { AppSyncAuthConfiguration, TransformConfig } from '../config/transformer-config'; import { InvalidTransformerError, SchemaValidationError, UnknownDirectiveError } from '../errors'; import { GraphQLApi } from '../graphql-api'; import { TransformerContext } from '../transformer-context'; import { TransformerOutput } from '../transformer-context/output'; import { StackManager } from '../transformer-context/stack-manager'; -import { adoptAuthModes } from '../utils/authType'; +import { adoptAuthModes, IAM_AUTH_ROLE_PARAMETER, IAM_UNAUTH_ROLE_PARAMETER } from '../utils/authType'; +import { TransformConfig } from '../config'; import * as SyncUtils from './sync-utils'; import Template, { DeploymentResources } from './types'; @@ -42,7 +43,8 @@ import { matchInputFieldDirective, sortTransformerPlugins, } from './utils'; -import { validateModelSchema } from './validation'; +import { validateModelSchema, validateAuthModes } from './validation'; +import { getSandboxModeEnvNameFromNodeMap } from '../utils/sandbox-mode'; // eslint-disable-next-line @typescript-eslint/ban-types function isFunction(obj: any): obj is Function { @@ -103,6 +105,8 @@ export class GraphQLTransform { additionalAuthenticationProviders: [], }; + validateAuthModes(this.authConfig); + this.buildParameters = options.buildParameters || {}; this.stackMappingOverrides = options.stackMapping || {}; this.transformConfig = options.transformConfig || {}; @@ -124,6 +128,7 @@ export class GraphQLTransform { this.app, parsedDocument, this.stackMappingOverrides, + this.authConfig, this.options.featureFlags, this.transformConfig.ResolverConfig, ); @@ -136,6 +141,7 @@ export class GraphQLTransform { aws_iam: true, aws_oidc: true, aws_cognito_user_pools: true, + allow_public_data_access_with_api_key: true, deprecated: true, }, ); @@ -143,6 +149,9 @@ export class GraphQLTransform { for (const transformer of this.transformers) { allModelDefinitions = allModelDefinitions.concat(...transformer.typeDefinitions, transformer.directive); } + const ampGlobalIdx = allModelDefinitions.findIndex(el => el.kind === 'ObjectTypeDefinition' && el.name.value === 'AMPLIFY_GLOBAL'); + if (ampGlobalIdx > -1) allModelDefinitions.splice(ampGlobalIdx, 1); + const errors = validateModelSchema({ kind: Kind.DOCUMENT, definitions: allModelDefinitions, @@ -214,7 +223,6 @@ export class GraphQLTransform { // Synth the API and make it available to allow transformer plugins to manipulate the API const stackManager = context.stackManager as StackManager; const output: TransformerOutput = context.output as TransformerOutput; - const api = this.generateGraphQlApi(stackManager, output); // generate resolvers @@ -253,11 +261,13 @@ export class GraphQLTransform { type: 'String', }).valueAsString; const envName = stackManager.getParameter('env'); + const globalSandboxModeEnv = getSandboxModeEnvNameFromNodeMap(output.nodeMap); assert(envName); const api = new GraphQLApi(rootStack, 'GraphQLAPI', { name: `${apiName}-${envName.valueAsString}`, authorizationConfig, host: this.options.host, + globalSandboxModeEnv, }); const authModes = [authorizationConfig.defaultAuthorization, ...(authorizationConfig.additionalAuthorizationModes || [])].map( mode => mode?.authorizationType, @@ -286,6 +296,11 @@ export class GraphQLTransform { }); } + if (authModes.includes(AuthorizationType.IAM)) { + stackManager.addParameter(IAM_AUTH_ROLE_PARAMETER, { type: 'String' }); + stackManager.addParameter(IAM_UNAUTH_ROLE_PARAMETER, { type: 'String' }); + } + new CfnOutput(rootStack, 'GraphQLAPIIdOutput', { value: api.apiId, description: 'Your GraphQL API ID.', diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transformer-plugin-base.ts b/packages/amplify-graphql-transformer-core/src/transformation/transformer-plugin-base.ts index f0f9c86d910..9dad23a4873 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transformer-plugin-base.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transformer-plugin-base.ts @@ -10,6 +10,7 @@ import { DataSourceInstance, TransformerPluginProvider, TransformerModelEnhancementProvider, + TransformerAuthProvider, } from '@aws-amplify/graphql-transformer-interfaces'; import { @@ -176,3 +177,9 @@ export abstract class TransformerModelEnhancerBase extends TransformerModelBase super(name, doc, type); } } + +export abstract class TransformerAuthBase extends TransformerPluginBase implements TransformerAuthProvider { + constructor(name: string, doc: DocumentNode | string, type: TransformerPluginType = TransformerPluginType.AUTH) { + super(name, doc, type); + } +} diff --git a/packages/amplify-graphql-transformer-core/src/transformation/utils.ts b/packages/amplify-graphql-transformer-core/src/transformation/utils.ts index e7cb2863963..24523f2256c 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/utils.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/utils.ts @@ -171,6 +171,7 @@ export function sortTransformerPlugins(plugins: TransformerPluginProvider[]): Tr TransformerPluginType.DATA_SOURCE_PROVIDER, TransformerPluginType.DATA_SOURCE_ENHANCER, TransformerPluginType.GENERIC, + TransformerPluginType.AUTH, ]; return plugins.sort((a, b) => { const aIdx = SORT_ORDER.indexOf(a.pluginType); diff --git a/packages/amplify-graphql-transformer-core/src/transformation/validation.ts b/packages/amplify-graphql-transformer-core/src/transformation/validation.ts index 4e94fd7b6e4..a74afcd62bc 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/validation.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/validation.ts @@ -54,6 +54,9 @@ import { NoUndefinedVariables } from 'graphql/validation/rules/NoUndefinedVariab import { NoUnusedVariables } from 'graphql/validation/rules/NoUnusedVariables'; import { UniqueDirectivesPerLocation } from 'graphql/validation/rules/UniqueDirectivesPerLocation'; +// AuthMode Types +import { AppSyncAuthConfiguration, AppSyncAuthMode } from '@aws-amplify/graphql-transformer-interfaces'; + /** * This set includes all validation rules defined by the GraphQL spec. * @@ -109,6 +112,7 @@ directive @aws_api_key on FIELD_DEFINITION | OBJECT directive @aws_iam on FIELD_DEFINITION | OBJECT directive @aws_oidc on FIELD_DEFINITION | OBJECT directive @aws_cognito_user_pools(cognito_groups: [String!]) on FIELD_DEFINITION | OBJECT +directive @allow_public_data_access_with_api_key(in: [String!]) on OBJECT # Allows transformer libraries to deprecate directive arguments. directive @deprecated(reason: String) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION | ENUM | ENUM_VALUE @@ -142,3 +146,21 @@ export const validateModelSchema = (doc: DocumentNode) => { const schema = buildASTSchema(fullDocument); return validate(schema, fullDocument, specifiedRules); }; + +export const validateAuthModes = (authConfig: AppSyncAuthConfiguration) => { + let additionalAuthModes: AppSyncAuthMode[] = []; + + if (authConfig.additionalAuthenticationProviders) { + additionalAuthModes = authConfig.additionalAuthenticationProviders.map(p => p.authenticationType).filter(t => !!t); + } + + const authModes: AppSyncAuthMode[] = [...additionalAuthModes, authConfig.defaultAuthentication.authenticationType]; + + for (let i = 0; i < authModes.length; i++) { + const mode = authModes[i]; + + if (mode !== 'API_KEY' && mode !== 'AMAZON_COGNITO_USER_POOLS' && mode !== 'AWS_IAM' && mode !== 'OPENID_CONNECT') { + throw new Error(`Invalid auth mode ${mode}`); + } + } +}; diff --git a/packages/amplify-graphql-transformer-core/src/transformer-context/datasource.ts b/packages/amplify-graphql-transformer-core/src/transformer-context/datasource.ts index ded8e6cd888..544438499a3 100644 --- a/packages/amplify-graphql-transformer-core/src/transformer-context/datasource.ts +++ b/packages/amplify-graphql-transformer-core/src/transformer-context/datasource.ts @@ -23,4 +23,8 @@ export class TransformerDataSourceManager implements TransformerDataSourceManage collectDataSources = (): Readonly> => { return this.dataSourceMap; }; + + has = (name: string): boolean => { + return this.dataSourceMap.has(name); + }; } diff --git a/packages/amplify-graphql-transformer-core/src/transformer-context/index.ts b/packages/amplify-graphql-transformer-core/src/transformer-context/index.ts index 59f32bab104..266dc3a4f79 100644 --- a/packages/amplify-graphql-transformer-core/src/transformer-context/index.ts +++ b/packages/amplify-graphql-transformer-core/src/transformer-context/index.ts @@ -5,7 +5,9 @@ import { TransformerContextOutputProvider, TransformerContextProvider, TransformerDataSourceManagerProvider, + AppSyncAuthConfiguration, } from '@aws-amplify/graphql-transformer-interfaces'; +import { TransformerContextMetadataProvider } from '@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transformer-context-provider'; import { App } from '@aws-cdk/core'; import { DocumentNode } from 'graphql'; import { ResolverConfig } from '../config/transformer-config'; @@ -17,6 +19,25 @@ import { TransformerContextProviderRegistry } from './provider-registry'; import { ResolverManager } from './resolver'; import { TransformerResourceHelper } from './resource-helper'; import { StackManager } from './stack-manager'; +export { TransformerResolver } from './resolver'; +export class TransformerContextMetadata implements TransformerContextMetadataProvider { + /** + * Used by transformers to pass information between one another. + */ + private metadata: { [key: string]: any } = new Map(); + + public get(key: string): T | undefined { + return this.metadata[key] as T; + } + + public set(key: string, val: T): void { + this.metadata[key] = val; + } + + public has(key: string) { + return this.metadata[key] !== undefined; + } +} export class TransformerContext implements TransformerContextProvider { public readonly output: TransformerContextOutputProvider; @@ -27,12 +48,15 @@ export class TransformerContext implements TransformerContextProvider { public readonly resourceHelper: TransformerResourceHelper; public readonly featureFlags: FeatureFlagProvider; public _api?: GraphQLAPIProvider; + public readonly authConfig: AppSyncAuthConfiguration; private resolverConfig: ResolverConfig | undefined; + public metadata: TransformerContextMetadata; constructor( app: App, public readonly inputDocument: DocumentNode, stackMapping: Record, + authConfig: AppSyncAuthConfiguration, featureFlags?: FeatureFlagProvider, resolverConfig?: ResolverConfig, ) { @@ -42,9 +66,11 @@ export class TransformerContext implements TransformerContextProvider { this.providerRegistry = new TransformerContextProviderRegistry(); const stackManager = new StackManager(app, stackMapping); this.stackManager = stackManager; + this.authConfig = authConfig; this.resourceHelper = new TransformerResourceHelper(stackManager); this.featureFlags = featureFlags ?? new NoopFeatureFlagProvider(); this.resolverConfig = resolverConfig; + this.metadata = new TransformerContextMetadata(); } /** diff --git a/packages/amplify-graphql-transformer-core/src/transformer-context/resolver.ts b/packages/amplify-graphql-transformer-core/src/transformer-context/resolver.ts index ec0dc0059ba..00e8128bd0a 100644 --- a/packages/amplify-graphql-transformer-core/src/transformer-context/resolver.ts +++ b/packages/amplify-graphql-transformer-core/src/transformer-context/resolver.ts @@ -7,13 +7,14 @@ import { TransformerResolverProvider, TransformerResolversManagerProvider, } from '@aws-amplify/graphql-transformer-interfaces'; -import { CfnFunctionConfiguration } from '@aws-cdk/aws-appsync'; -import { isResolvableObject, Stack } from '@aws-cdk/core'; +import { AuthorizationType, CfnFunctionConfiguration } from '@aws-cdk/aws-appsync'; +import { isResolvableObject, Stack, CfnParameter } from '@aws-cdk/core'; import assert from 'assert'; import { toPascalCase } from 'graphql-transformer-common'; import { dedent } from 'ts-dedent'; import { MappingTemplate, S3MappingTemplate } from '../cdk-compat'; import * as SyncUtils from '../transformation/sync-utils'; +import { IAM_AUTH_ROLE_PARAMETER, IAM_UNAUTH_ROLE_PARAMETER } from '../utils'; import { StackManager } from './stack-manager'; type Slot = { @@ -95,6 +96,11 @@ export class ResolverManager implements TransformerResolversManagerProvider { } }; + hasResolver = (typeName: string, fieldName: string): boolean => { + const key = `${typeName}.${fieldName}`; + return this.resolvers.has(key); + }; + removeResolver = (typeName: string, fieldName: string): TransformerResolverProvider => { const key = `${typeName}.${fieldName}`; if (this.resolvers.has(key)) { @@ -234,24 +240,38 @@ export class TransformerResolver implements TransformerResolverProvider { } break; default: - throw new Error('Unknow DataSource type'); + throw new Error('Unknown DataSource type'); } } + let initResolver = dedent` + $util.qr($ctx.stash.put("typeName", "${this.typeName}")) + $util.qr($ctx.stash.put("fieldName", "${this.fieldName}")) + $util.qr($ctx.stash.put("conditions", [])) + $util.qr($ctx.stash.put("metadata", {})) + $util.qr($ctx.stash.metadata.put("dataSourceType", "${dataSourceType}")) + $util.qr($ctx.stash.metadata.put("apiId", "${api.apiId}")) + ${dataSource} + `; + const authModes = [context.authConfig.defaultAuthentication, ...(context.authConfig.additionalAuthenticationProviders || [])].map( + mode => mode?.authenticationType, + ); + if (authModes.includes(AuthorizationType.IAM)) { + const authRoleParameter = (context.stackManager.getParameter(IAM_AUTH_ROLE_PARAMETER) as CfnParameter).valueAsString; + const unauthRoleParameter = (context.stackManager.getParameter(IAM_UNAUTH_ROLE_PARAMETER) as CfnParameter).valueAsString; + initResolver += dedent`\n + $util.qr($ctx.stash.put("authRole", "arn:aws:sts::${ + Stack.of(context.stackManager.rootStack).account + }:assumed-role/${authRoleParameter}/CognitoIdentityCredentials")) + $util.qr($ctx.stash.put("unauthRole", "arn:aws:sts::${ + Stack.of(context.stackManager.rootStack).account + }:assumed-role/${unauthRoleParameter}/CognitoIdentityCredentials")) + `; + } + initResolver += '\n$util.toJson({})'; api.host.addResolver( this.typeName, this.fieldName, - MappingTemplate.inlineTemplateFromString( - dedent` - $util.qr($ctx.stash.put("typeName", "${this.typeName}")) - $util.qr($ctx.stash.put("fieldName", "${this.fieldName}")) - $util.qr($ctx.stash.put("conditions", [])) - $util.qr($ctx.stash.put("metadata", {})) - $util.qr($ctx.stash.metadata.put("dataSourceType", "${dataSourceType}")) - $util.qr($ctx.stash.metadata.put("apiId", "${api.apiId}")) - ${dataSource} - $util.toJson({}) - `, - ), + MappingTemplate.inlineTemplateFromString(initResolver), MappingTemplate.inlineTemplateFromString('$util.toJson($ctx.prev.result)'), undefined, [...requestFns, dataSourceProviderFn, ...responseFns].map(fn => fn.functionId), diff --git a/packages/amplify-graphql-transformer-core/src/transformer-context/stack-manager.ts b/packages/amplify-graphql-transformer-core/src/transformer-context/stack-manager.ts index 003f41ec957..40faf98fe1c 100644 --- a/packages/amplify-graphql-transformer-core/src/transformer-context/stack-manager.ts +++ b/packages/amplify-graphql-transformer-core/src/transformer-context/stack-manager.ts @@ -23,6 +23,7 @@ export class StackManager implements StackManagerProvider { } createStack = (stackName: string): Stack => { const newStack = new TransformerNestedStack(this.rootStack, stackName); + this.stacks.set(stackName, newStack); return newStack; }; diff --git a/packages/amplify-graphql-transformer-core/src/utils/authType.ts b/packages/amplify-graphql-transformer-core/src/utils/authType.ts index 2be8d32a082..945da6dd5db 100644 --- a/packages/amplify-graphql-transformer-core/src/utils/authType.ts +++ b/packages/amplify-graphql-transformer-core/src/utils/authType.ts @@ -1,8 +1,8 @@ import { AuthorizationConfig, AuthorizationMode, AuthorizationType } from '@aws-cdk/aws-appsync'; import { UserPool } from '@aws-cdk/aws-cognito'; import { Duration, Expiration } from '@aws-cdk/core'; -import { AppSyncAuthConfiguration, AppSyncAuthConfigurationEntry, AppSyncAuthMode } from '../config'; import { StackManager } from '../transformer-context/stack-manager'; +import { AppSyncAuthConfiguration, AppSyncAuthConfigurationEntry, AppSyncAuthMode } from '@aws-amplify/graphql-transformer-interfaces'; const authTypeMap: Record = { API_KEY: AuthorizationType.API_KEY, @@ -10,6 +10,10 @@ const authTypeMap: Record = { AWS_IAM: AuthorizationType.IAM, OPENID_CONNECT: AuthorizationType.OIDC, }; + +export const IAM_AUTH_ROLE_PARAMETER = 'authRoleName'; +export const IAM_UNAUTH_ROLE_PARAMETER = 'unauthRoleName'; + export function adoptAuthModes(stack: StackManager, authConfig: AppSyncAuthConfiguration): AuthorizationConfig { return { defaultAuthorization: adoptAuthMode(stack, authConfig.defaultAuthentication), @@ -24,8 +28,10 @@ export function adoptAuthMode(stackManager: StackManager, entry: AppSyncAuthConf return { authorizationType: authType, apiKeyConfig: { - description: entry.apiKeyConfig.description, - expires: Expiration.after(Duration.days(entry.apiKeyConfig.apiKeyExpirationDays)), + description: entry.apiKeyConfig?.description, + expires: entry.apiKeyConfig?.apiKeyExpirationDays + ? Expiration.after(Duration.days(entry.apiKeyConfig.apiKeyExpirationDays)) + : undefined, }, }; case AuthorizationType.USER_POOL: diff --git a/packages/amplify-graphql-transformer-core/src/utils/index.ts b/packages/amplify-graphql-transformer-core/src/utils/index.ts index ab2e7da49c9..d8170ab56cb 100644 --- a/packages/amplify-graphql-transformer-core/src/utils/index.ts +++ b/packages/amplify-graphql-transformer-core/src/utils/index.ts @@ -2,3 +2,5 @@ export { DirectiveWrapper } from './directive-wrapper'; export { collectDirectives, collectDirectivesByTypeNames } from './type-map-utils'; export { stripDirectives } from './strip-directives'; export { DEFAULT_SCHEMA_DEFINITION } from './defaultSchema'; +export { getSandboxModeEnvNameFromNodeMap, getSandboxModeEnvNameFromDirectiveSet } from './sandbox-mode'; +export { IAM_AUTH_ROLE_PARAMETER, IAM_UNAUTH_ROLE_PARAMETER } from './authType'; diff --git a/packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts b/packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts new file mode 100644 index 00000000000..d580b53ce35 --- /dev/null +++ b/packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts @@ -0,0 +1,16 @@ +export function getSandboxModeEnvNameFromNodeMap(input: any): string { + const ampGlobalType: any = input.AMPLIFY_GLOBAL; + + if (!ampGlobalType) return ''; + + return getSandboxModeEnvNameFromDirectiveSet(ampGlobalType.directives); +} + +export function getSandboxModeEnvNameFromDirectiveSet(input: any): string { + const sandboxModeDirective = input.find((el: any) => el.name.value === 'allow_public_data_access_with_api_key'); + + if (!sandboxModeDirective) return ''; + + const inField = sandboxModeDirective.arguments.find((el: any) => el.name.value === 'in'); + return inField.value.value; +} diff --git a/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts index 4e7ce993724..6514c3e48a0 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts @@ -1,6 +1,51 @@ import { CfnResource, Construct, IAsset, IConstruct } from '@aws-cdk/core'; import { Grant, IGrantable, IRole } from '@aws-cdk/aws-iam'; -import {TransformHostProvider} from './transform-host-provider'; +import { TransformHostProvider } from './transform-host-provider'; + +// Auth Config +export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT'; +export type AppSyncAuthConfiguration = { + defaultAuthentication: AppSyncAuthConfigurationEntry; + additionalAuthenticationProviders: Array; +}; + +export type AppSyncAuthConfigurationEntry = + | AppSyncAuthConfigurationUserPoolEntry + | AppSyncAuthConfigurationAPIKeyEntry + | AppSyncAuthConfigurationIAMEntry + | AppSyncAuthConfigurationOIDCEntry; +export type AppSyncAuthConfigurationAPIKeyEntry = { + authenticationType: 'API_KEY'; + apiKeyConfig?: ApiKeyConfig; +}; +export type AppSyncAuthConfigurationUserPoolEntry = { + authenticationType: 'AMAZON_COGNITO_USER_POOLS'; + userPoolConfig?: UserPoolConfig; +}; +export type AppSyncAuthConfigurationIAMEntry = { + authenticationType: 'AWS_IAM'; +}; + +export type AppSyncAuthConfigurationOIDCEntry = { + authenticationType: 'OPENID_CONNECT'; + openIDConnectConfig?: OpenIDConnectConfig; +}; + +export interface ApiKeyConfig { + description?: string; + apiKeyExpirationDays: number; + apiKeyExpirationDate?: Date; +} +export interface UserPoolConfig { + userPoolId: string; +} +export interface OpenIDConnectConfig { + name: string; + issuerUrl: string; + clientId?: string; + iatTTL?: number; + authTTL?: number; +} export interface AppSyncFunctionConfigurationProvider extends IConstruct { readonly arn: string; diff --git a/packages/amplify-graphql-transformer-interfaces/src/index.ts b/packages/amplify-graphql-transformer-interfaces/src/index.ts index 5271dfc2c34..36be2b3a84a 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/index.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/index.ts @@ -21,8 +21,9 @@ export { MutationFieldType, QueryFieldType, SubscriptionFieldType, - TransformerModelEnhancementProvider, TransformerModelProvider, + TransformerModelEnhancementProvider, + TransformerAuthProvider, } from './transformer-model-provider'; export { FeatureFlagProvider } from './feature-flag-provider'; @@ -36,6 +37,15 @@ export { InlineMappingTemplateProvider, APIIAMResourceProvider, TemplateType as MappingTemplateType, + AppSyncAuthConfiguration, + AppSyncAuthConfigurationAPIKeyEntry, + AppSyncAuthConfigurationEntry, + AppSyncAuthConfigurationIAMEntry, + ApiKeyConfig, + AppSyncAuthConfigurationOIDCEntry, + AppSyncAuthConfigurationUserPoolEntry, + AppSyncAuthMode, + UserPoolConfig, } from './graphql-api-provider'; export { TransformHostProvider, DynamoDbDataSourceOptions } from './transform-host-provider'; diff --git a/packages/amplify-graphql-transformer-interfaces/src/transform-host-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/transform-host-provider.ts index 6ef36c63475..de89ebcea1b 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transform-host-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transform-host-provider.ts @@ -73,4 +73,7 @@ export interface TransformHostProvider { getDataSource: (name: string) => BaseDataSource | void; hasDataSource: (name: string) => boolean; + + getResolver: (typeName: string, fieldName: string) => CfnResolver | void; + hasResolver: (typeName: string, fieldName: string) => boolean; } diff --git a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/stack-manager-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/stack-manager-provider.ts index b528c7eeec1..70d1e23842b 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/stack-manager-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/stack-manager-provider.ts @@ -1,6 +1,7 @@ import { CfnParameter, CfnParameterProps, Stack } from '@aws-cdk/core'; export interface StackManagerProvider { + readonly rootStack: Stack; getStack: (stackName: string) => Stack; createStack: (stackName: string) => Stack; hasStack: (stackName: string) => boolean; diff --git a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts index 4102120b8a7..1d3c41c133e 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-context-provider.ts @@ -4,11 +4,18 @@ import { TransformerProviderRegistry } from './transformer-provider-registry'; import { DocumentNode } from 'graphql'; import { TransformerContextOutputProvider } from './transformer-context-output-provider'; import { StackManagerProvider } from './stack-manager-provider'; -import { GraphQLAPIProvider } from '../graphql-api-provider'; +import { AppSyncAuthConfiguration, GraphQLAPIProvider } from '../graphql-api-provider'; import { TransformerResourceProvider } from './resource-resource-provider'; import { FeatureFlagProvider } from '../feature-flag-provider'; +export interface TransformerContextMetadataProvider { + set(key: string, value: T): void; + get(key: string): T | undefined; + has(key: string): boolean; +} + export interface TransformerContextProvider { + metadata: TransformerContextMetadataProvider; resolvers: TransformerResolversManagerProvider; dataSources: TransformerDataSourceManagerProvider; providerRegistry: TransformerProviderRegistry; @@ -19,19 +26,38 @@ export interface TransformerContextProvider { api: GraphQLAPIProvider; resourceHelper: TransformerResourceProvider; featureFlags: FeatureFlagProvider; + authConfig: AppSyncAuthConfiguration; isProjectUsingDataStore(): boolean; getResolverConfig(): ResolverConfig | undefined; } -export type TransformerBeforeStepContextProvider = Pick; +export type TransformerBeforeStepContextProvider = Pick< + TransformerContextProvider, + 'inputDocument' | 'featureFlags' | 'isProjectUsingDataStore' | 'getResolverConfig' | 'authConfig' +>; export type TransformerSchemaVisitStepContextProvider = Pick< TransformerContextProvider, - 'inputDocument' | 'output' | 'providerRegistry' | 'featureFlags' | 'isProjectUsingDataStore' | 'getResolverConfig' + | 'inputDocument' + | 'output' + | 'providerRegistry' + | 'featureFlags' + | 'isProjectUsingDataStore' + | 'getResolverConfig' + | 'metadata' + | 'authConfig' >; export type TransformerValidationStepContextProvider = Pick< TransformerContextProvider, - 'inputDocument' | 'output' | 'providerRegistry' | 'dataSources' | 'featureFlags' | 'isProjectUsingDataStore' | 'getResolverConfig' + | 'inputDocument' + | 'output' + | 'providerRegistry' + | 'dataSources' + | 'featureFlags' + | 'isProjectUsingDataStore' + | 'getResolverConfig' + | 'metadata' + | 'authConfig' >; export type TransformerPrepareStepContextProvider = TransformerValidationStepContextProvider; export type TransformerTransformSchemaStepContextProvider = TransformerValidationStepContextProvider; diff --git a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts index c1472951639..8350f8be702 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-datasource-provider.ts @@ -22,6 +22,7 @@ export type DataSourceInstance = ITable | CfnDomain | HttpDataSource | IFunction export interface TransformerDataSourceManagerProvider { add(type: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode, dataSourceInstance: DataSourceInstance): void; get(type: ObjectTypeDefinitionNode | InterfaceTypeDefinitionNode): DataSourceInstance; + has(name: string): boolean; } export interface DataSourceProvider extends BackedDataSource {} diff --git a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-resolver-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-resolver-provider.ts index 2688c9c192b..b369c6bb234 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-resolver-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transformer-context/transformer-resolver-provider.ts @@ -17,6 +17,7 @@ export interface TransformerResolverProvider { export interface TransformerResolversManagerProvider { addResolver: (typeName: string, fieldName: string, resolver: TransformerResolverProvider) => TransformerResolverProvider; getResolver: (typeName: string, fieldName: string) => TransformerResolverProvider | void; + hasResolver: (typeName: string, fieldName: string) => boolean; removeResolver: (typeName: string, fieldName: string) => TransformerResolverProvider; collectResolvers: () => Map; diff --git a/packages/amplify-graphql-transformer-interfaces/src/transformer-model-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/transformer-model-provider.ts index 9bf6090705e..ee5d4372e67 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transformer-model-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transformer-model-provider.ts @@ -129,4 +129,6 @@ export interface TransformerModelProvider extends TransformerPluginProvider { ) => ObjectTypeDefinitionNode; } +export interface TransformerAuthProvider extends TransformerPluginProvider {} + export interface TransformerModelEnhancementProvider extends Partial {} diff --git a/packages/amplify-graphql-transformer-interfaces/src/transformer-plugin-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/transformer-plugin-provider.ts index e506f490beb..076831255b5 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/transformer-plugin-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/transformer-plugin-provider.ts @@ -25,6 +25,7 @@ export enum TransformerPluginType { DATA_SOURCE_PROVIDER = 'DATA_SOURCE_PROVIDER', DATA_SOURCE_ENHANCER = 'DATA_SOURCE_ENHANCER', GENERIC = 'GENERIC', + AUTH = 'AUTH', } export interface TransformerPluginProvider { pluginType: TransformerPluginType; diff --git a/packages/amplify-headless-interface/src/interface/api/add.ts b/packages/amplify-headless-interface/src/interface/api/add.ts index 51f44124538..081eaf07e57 100644 --- a/packages/amplify-headless-interface/src/interface/api/add.ts +++ b/packages/amplify-headless-interface/src/interface/api/add.ts @@ -130,6 +130,7 @@ export type AppSyncAuthType = export interface AppSyncAPIKeyAuthType { mode: 'API_KEY'; expirationTime?: number; + apiKeyExpirationDate?: Date; keyDescription?: string; } diff --git a/packages/amplify-provider-awscloudformation/package.json b/packages/amplify-provider-awscloudformation/package.json index 0b8f55856a3..589eb030ff8 100644 --- a/packages/amplify-provider-awscloudformation/package.json +++ b/packages/amplify-provider-awscloudformation/package.json @@ -24,6 +24,7 @@ "watch": "tsc --watch" }, "dependencies": { + "@aws-amplify/graphql-auth-transformer": "0.1.0", "@aws-amplify/graphql-function-transformer": "0.4.3", "@aws-amplify/graphql-http-transformer": "0.5.3", "@aws-amplify/graphql-index-transformer": "0.3.2", diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index f2d9c11f446..6156eb1b331 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -3,14 +3,17 @@ import path from 'path'; import importGlobal from 'import-global'; import { print } from 'graphql'; import importFrom from 'import-from'; -import { TransformerPluginProvider } from '@aws-amplify/graphql-transformer-interfaces'; +import { TransformerPluginProvider, AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; import { getAppSyncServiceExtraDirectives, GraphQLTransform, collectDirectivesByTypeNames, + collectDirectives, TransformerProjectConfig, + getSandboxModeEnvNameFromDirectiveSet, } from '@aws-amplify/graphql-transformer-core'; import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; import { FunctionTransformer } from '@aws-amplify/graphql-function-transformer'; import { HttpTransformer } from '@aws-amplify/graphql-http-transformer'; import { PredictionsTransformer } from '@aws-amplify/graphql-predictions-transformer'; @@ -24,13 +27,13 @@ import { import { SearchableModelTransformer } from '@aws-amplify/graphql-searchable-transformer'; import { ProviderName as providerName } from '../constants'; import { hashDirectory } from '../upload-appsync-files'; -import { writeDeploymentToDisk } from './utils'; +import { showACM, writeDeploymentToDisk } from './utils'; import { loadProject as readTransformerConfiguration } from './transform-config'; import { loadProject } from 'graphql-transformer-core'; -import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-core'; import { Template } from '@aws-amplify/graphql-transformer-core/lib/config/project-config'; import { AmplifyCLIFeatureFlagAdapter } from '../utils/amplify-cli-feature-flag-adapter'; -import { JSONUtilities } from 'amplify-cli-core'; +import { isAmplifyAdminApp } from '../utils/admin-helpers'; +import { JSONUtilities, stateManager, $TSContext } from 'amplify-cli-core'; const API_CATEGORY = 'api'; const STORAGE_CATEGORY = 'storage'; @@ -52,7 +55,10 @@ function warnOnAuth(context, map) { } } -function getTransformerFactory(context, resourceDir) { +function getTransformerFactory( + context: $TSContext, + resourceDir: string, +): (options: TransformerFactoryArgs) => Promise { return async (options?: TransformerFactoryArgs) => { const modelTransformer = new ModelTransformer(); const indexTransformer = new IndexTransformer(); @@ -143,7 +149,19 @@ function getTransformerFactory(context, resourceDir) { // TODO: Build dependency mechanism into transformers. Auth runs last // so any resolvers that need to be protected will already be created. - // transformerList.push(new ModelAuthTransformer({ authConfig })); + + let amplifyAdminEnabled: boolean = false; + let adminUserPoolID: string; + try { + const amplifyMeta = stateManager.getMeta(); + const appId = amplifyMeta?.providers?.[providerName]?.AmplifyAppId; + const res = await isAmplifyAdminApp(appId); + amplifyAdminEnabled = res.isAdminApp; + adminUserPoolID = res.userPoolID; + } catch (err) { + console.info('App not deployed yet.'); + } + transformerList.push(new AuthTransformer({ authConfig: options?.authConfig, addAwsIamAuthInOutputSchema: false, adminUserPoolID })); return transformerList; }; @@ -220,7 +238,7 @@ export async function transformGraphQLSchema(context, options) { } } - let { authConfig } = options; + let { authConfig }: { authConfig: AppSyncAuthConfiguration } = options; // // If we don't have an authConfig from the caller, use it from the @@ -268,6 +286,11 @@ export async function transformGraphQLSchema(context, options) { const project = await loadProject(resourceDir); + if (flags['acm']) { + showACM(project.schema, flags['acm']); + return; + } + const lastDeployedProjectConfig = fs.existsSync(previouslyDeployedBackendDir) ? await loadProject(previouslyDeployedBackendDir) : undefined; @@ -278,6 +301,8 @@ export async function transformGraphQLSchema(context, options) { const transformerListFactory = getTransformerFactory(context, resourceDir); + const sandboxModeEnv = getSandboxModeEnvNameFromDirectiveSet(collectDirectives(project.schema)); + let searchableTransformerFlag = false; if (directiveMap.directives.includes('searchable')) { @@ -289,13 +314,14 @@ export async function transformGraphQLSchema(context, options) { buildParameters, projectDirectory: resourceDir, transformersFactory: transformerListFactory, - transformersFactoryArgs: { addSearchableTransformer: searchableTransformerFlag, storageConfig }, + transformersFactoryArgs: { addSearchableTransformer: searchableTransformerFlag, storageConfig, authConfig }, rootStackFileName: 'cloudformation-template.json', currentCloudBackendDirectory: previouslyDeployedBackendDir, minify: options.minify, projectConfig: project, lastDeployedProjectConfig, authConfig, + sandboxModeEnv, }; let transformerOutput; @@ -366,8 +392,8 @@ async function getPreviousDeploymentRootKey(previouslyDeployedBackendDir) { } } -export async function getDirectiveDefinitions(context, resourceDir) { - const transformList = await getTransformerFactory(context, resourceDir)({ addSearchableTransformer: true }); +export async function getDirectiveDefinitions(context: $TSContext, resourceDir: string) { + const transformList = await getTransformerFactory(context, resourceDir)({ addSearchableTransformer: true, authConfig: {} }); const appSynDirectives = getAppSyncServiceExtraDirectives(); const transformDirectives = transformList .map(transformPluginInst => [transformPluginInst.directive, ...transformPluginInst.typeDefinitions].map(node => print(node)).join('\n')) @@ -414,6 +440,7 @@ function getBucketName(context, s3ResourceName, backEndDir) { type TransformerFactoryArgs = { addSearchableTransformer: boolean; + authConfig: any; storageConfig?: any; }; export type ProjectOptions = { @@ -422,7 +449,7 @@ export type ProjectOptions = { S3DeploymentRootKey: string; }; projectDirectory?: string; - transformersFactory: (options: T) => TransformerPluginProvider[]; + transformersFactory: (options: T) => Promise; transformersFactoryArgs: T; rootStackFileName: 'cloudformation-template.json'; currentCloudBackendDirectory: string; @@ -432,6 +459,7 @@ export type ProjectOptions = { dryRun?: boolean; authConfig?: AppSyncAuthConfiguration; stacks: Record; + sandboxModeEnv?: string; }; export async function buildAPIProject(opts: ProjectOptions) { @@ -449,6 +477,9 @@ export async function buildAPIProject(opts: ProjectOptions node.kind === 'ObjectTypeDefinition' && node.name.value === nodeName && node.directives.find(dir => dir.name.value === 'model'), + ) as ObjectTypeDefinitionNode; + if (!type) { + throw new Error(`${nodeName} does not have @model`); + } else { + const fields: string[] = type.fields!.map((field: FieldDefinitionNode) => field.name.value); + const acm = new AccessControlMatrix({ operations: MODEL_OPERATIONS, resources: fields }); + const parentAuthDirective = type.directives?.find(dir => dir.name.value === 'auth'); + if (parentAuthDirective) { + const authRules = getAuthRulesFromDirective(parentAuthDirective); + ensureAuthRuleDefaults(authRules); + convertModelRulesToRoles(acm, authRules); + } + for (let fieldNode of type.fields || []) { + let fieldAuthDir = fieldNode.directives?.find(dir => dir.name.value === 'auth') as DirectiveNode; + if (fieldAuthDir) { + if (parentAuthDirective) { + acm.resetAccessForResource(fieldNode.name.value); + } + let fieldAuthRules = getAuthRulesFromDirective(fieldAuthDir); + ensureAuthRuleDefaults(fieldAuthRules); + convertModelRulesToRoles(acm, fieldAuthRules, fieldNode.name.value); + } + } + const truthTable = acm.getAcmPerRole(); + for (let [role, acm] of truthTable) { + console.group(role); + console.table(acm); + console.groupEnd(); + } + } +} +// helper functions for setting up acm +function getAuthRulesFromDirective(directive: DirectiveNode) { + const get = (s: string) => (arg: ArgumentNode) => arg.name.value === s; + const getArg = (arg: string, dflt?: any) => { + const argument = directive.arguments?.find(get(arg)); + return argument ? valueFromASTUntyped(argument.value) : dflt; + }; + + // Get and validate the auth rules. + const authRules = getArg('rules', []) as AuthRule[]; + + // All the IAM auth rules that are added using @auth directive need IAM policy to be generated. AuthRules added for AdminUI don't + return authRules.map(rule => (rule.provider === 'iam' ? { ...rule, generateIAMPolicy: true } : rule)); +} + +function ensureAuthRuleDefaults(rules: AuthRule[]) { + // We assign the default provider if an override is not present make further handling easier. + for (const rule of rules) { + if (!rule.provider) { + switch (rule.allow) { + case 'owner': + case 'groups': + rule.provider = 'userPools'; + break; + case 'private': + rule.provider = 'userPools'; + break; + case 'public': + rule.provider = 'apiKey'; + break; + default: + rule.provider = null; + break; + } + } + if (rule.provider === 'iam') { + rule.generateIAMPolicy = true; + } + } +} +function convertModelRulesToRoles(acm: AccessControlMatrix, authRules: AuthRule[], field?: string) { + for (let rule of authRules) { + let operations: ModelOperation[] = rule.operations || MODEL_OPERATIONS; + if (rule.groups && !rule.groupsField) { + rule.groups.forEach(group => { + let roleName = `${rule.provider}:staticGroup:${group}`; + acm.setRole({ role: roleName, resource: field, operations }); + }); + } else { + let roleName: string; + switch (rule.provider) { + case 'apiKey': + roleName = 'apiKey:public'; + break; + case 'iam': + roleName = `iam:${rule.allow}`; + break; + case 'oidc': + case 'userPools': + if (rule.allow === 'groups') { + let groupsField = rule.groupsField || DEFAULT_GROUPS_FIELD; + roleName = `${rule.provider}:dynamicGroup:${groupsField}`; + } else if (rule.allow === 'owner') { + let ownerField = rule.ownerField || DEFAULT_OWNER_FIELD; + roleName = `${rule.provider}:owner:${ownerField}`; + } else if (rule.allow === 'private') { + roleName = `${rule.provider}:${rule.allow}`; + } else { + throw new Error(`Could not create a role from ${JSON.stringify(rule)}`); + } + break; + default: + throw new Error(`Could not create a role from ${JSON.stringify(rule)}`); + } + acm.setRole({ role: roleName, resource: field, operations }); + } + } +} diff --git a/packages/amplify-provider-awscloudformation/src/utils/admin-helpers.ts b/packages/amplify-provider-awscloudformation/src/utils/admin-helpers.ts index 0cd6143c3db..13c24707899 100644 --- a/packages/amplify-provider-awscloudformation/src/utils/admin-helpers.ts +++ b/packages/amplify-provider-awscloudformation/src/utils/admin-helpers.ts @@ -17,7 +17,7 @@ export function doAdminTokensExist(appId: string): boolean { return !!stateManager.getAmplifyAdminConfigEntry(appId); } -export async function isAmplifyAdminApp(appId: string): Promise<{ isAdminApp: boolean; region: string }> { +export async function isAmplifyAdminApp(appId: string): Promise<{ isAdminApp: boolean; region: string; userPoolID: string }> { if (!appId) { throw `Failed to check if Admin UI is enabled: appId is undefined`; } @@ -25,7 +25,8 @@ export async function isAmplifyAdminApp(appId: string): Promise<{ isAdminApp: bo if (appState.appId && appState.region && appState.region !== 'us-east-1') { appState = await getAdminAppState(appId, appState.region); } - return { isAdminApp: !!appState.appId, region: appState.region }; + const userPoolID = appState.loginAuthConfig ? JSON.parse(appState.loginAuthConfig).aws_user_pools_id : ''; + return { isAdminApp: !!appState.appId, region: appState.region, userPoolID }; } export async function getTempCredsWithAdminTokens(context: $TSContext, appId: string): Promise { diff --git a/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts b/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts index cf2fab44ac3..6e41670abd6 100644 --- a/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts +++ b/packages/graphql-auth-transformer/src/ModelAuthTransformer.ts @@ -98,6 +98,7 @@ export type AppSyncAuthConfigurationEntry = { export type ApiKeyConfig = { description?: string; apiKeyExpirationDays: number; + apiKeyExpirationDate?: Date; }; export type UserPoolConfig = { userPoolId: string; @@ -1387,9 +1388,8 @@ operations will be generated by the CLI.`, // In create mutations, the dynamic group and ownership authorization checks // are done before calling PutItem. - const dynamicGroupAuthorizationExpression = this.resources.dynamicGroupAuthorizationExpressionForCreateOperations( - dynamicGroupAuthorizationRules, - ); + const dynamicGroupAuthorizationExpression = + this.resources.dynamicGroupAuthorizationExpressionForCreateOperations(dynamicGroupAuthorizationRules); const fieldIsList = (fieldName: string) => { const field = parent.fields.find(field => field.name.value === fieldName); if (field) { @@ -1547,9 +1547,8 @@ operations will be generated by the CLI.`, ]), ); - const throwIfNotStaticGroupAuthorizedOrAuthConditionIsEmpty = this.resources.throwIfNotStaticGroupAuthorizedOrAuthConditionIsEmpty( - field, - ); + const throwIfNotStaticGroupAuthorizedOrAuthConditionIsEmpty = + this.resources.throwIfNotStaticGroupAuthorizedOrAuthConditionIsEmpty(field); // If we've any modes to check, then add the authMode check code block // to the start of the resolver. diff --git a/packages/graphql-mapping-template/src/print.ts b/packages/graphql-mapping-template/src/print.ts index bd5a90f853c..b871264e156 100644 --- a/packages/graphql-mapping-template/src/print.ts +++ b/packages/graphql-mapping-template/src/print.ts @@ -115,7 +115,7 @@ function printReference(node: ReferenceNode): string { } function printQuietReference(node: QuietReferenceNode, indent: string = ''): string { - const val = typeof node.value === 'string' ? node.value : printExpr(node.value) + const val = typeof node.value === 'string' ? node.value : printExpr(node.value); return `${indent}$util.qr(${val})`; } diff --git a/packages/graphql-transformers-e2e-tests/package.json b/packages/graphql-transformers-e2e-tests/package.json index c0db8b7d445..1a7d7824f24 100644 --- a/packages/graphql-transformers-e2e-tests/package.json +++ b/packages/graphql-transformers-e2e-tests/package.json @@ -34,6 +34,7 @@ "@aws-amplify/graphql-index-transformer": "0.3.2", "@aws-amplify/graphql-model-transformer": "0.6.2", "@aws-amplify/graphql-transformer-core": "0.9.0", + "@aws-amplify/graphql-transformer-interfaces": "1.9.0", "@types/node": "^12.12.6", "aws-amplify": "^4.2.8", "aws-appsync": "^4.1.1", diff --git a/packages/graphql-transformers-e2e-tests/src/__tests__/AuthV2Transformer.e2e.test.ts b/packages/graphql-transformers-e2e-tests/src/__tests__/AuthV2Transformer.e2e.test.ts new file mode 100644 index 00000000000..5721d076abd --- /dev/null +++ b/packages/graphql-transformers-e2e-tests/src/__tests__/AuthV2Transformer.e2e.test.ts @@ -0,0 +1,3329 @@ +import { IndexTransformer, PrimaryKeyTransformer } from '@aws-amplify/graphql-index-transformer'; +import { HasOneTransformer } from '@aws-amplify/graphql-relational-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { Output } from 'aws-sdk/clients/cloudformation'; +import { CloudFormationClient } from '../CloudFormationClient'; +import { S3Client } from '../S3Client'; +import { cleanupStackAfterTest, deploy } from '../deployNestedStacks'; +import { default as CognitoClient } from 'aws-sdk/clients/cognitoidentityserviceprovider'; +import { default as S3 } from 'aws-sdk/clients/s3'; +import moment from 'moment'; +import { + createUserPool, + createUserPoolClient, + configureAmplify, + addUserToGroup, + authenticateUser, + createGroup, + signupUser, +} from '../cognitoUtils'; +import { ResourceConstants } from 'graphql-transformer-common'; +import { GraphQLClient } from '../GraphQLClient'; + +jest.setTimeout(2000000); + +describe('@model with @auth', () => { + // setup clients + const cf = new CloudFormationClient('us-west-2'); + const customS3Client = new S3Client('us-west-2'); + const cognitoClient = new CognitoClient({ apiVersion: '2016-04-19', region: 'us-west-2' }); + const awsS3Client = new S3({ region: 'us-west-2' }); + + // stack info + const BUILD_TIMESTAMP = moment().format('YYYYMMDDHHmmss'); + const STACK_NAME = `AuthV2TransformerTests-${BUILD_TIMESTAMP}`; + const BUCKET_NAME = `appsync-auth-v2-transformer-test-bucket-${BUILD_TIMESTAMP}`; + const LOCAL_FS_BUILD_DIR = '/tmp/authv2_transformer_tests/'; + const S3_ROOT_DIR_KEY = 'deployments'; + let USER_POOL_ID: string; + let GRAPHQL_ENDPOINT: string; + /** + * Client 1 is logged in and is a member of the Admin group. + */ + let GRAPHQL_CLIENT_1: GraphQLClient; + + /** + * Client 1 is logged in and is a member of the Admin group via an access token. + */ + let GRAPHQL_CLIENT_1_ACCESS: GraphQLClient; + + /** + * Client 2 is logged in and is a member of the Devs group. + */ + let GRAPHQL_CLIENT_2: GraphQLClient; + + /** + * Client 3 is logged in and is a member of the Devs-Admin group via an access token. + */ + let GRAPHQL_CLIENT_3: GraphQLClient; + + // env info + const USERNAME1 = 'user1@test.com'; + const USERNAME2 = 'user2@test.com'; + const USERNAME3 = 'user3@test.com'; + const TMP_PASSWORD = 'Password123!'; + const REAL_PASSWORD = 'Password1234!'; + + const ADMIN_GROUP_NAME = 'Admin'; + const DEVS_GROUP_NAME = 'Devs'; + const DEVS_ADMIN_GROUP_NAME = 'Devs-Admin'; + const PARTICIPANT_GROUP_NAME = 'Participant'; + const WATCHER_GROUP_NAME = 'Watcher'; + + function outputValueSelector(key: string) { + return (outputs: Output[]) => { + const output = outputs.find((o: Output) => o.OutputKey === key); + return output ? output.OutputValue : null; + }; + } + beforeAll(async () => { + const validSchema = ` + type Post @model @auth(rules: [{ allow: owner }]) { + id: ID! + title: String! + createdAt: AWSDateTime + updatedAt: AWSDateTime + owner: String + } + type Salary + @model + @auth(rules: [{ allow: owner }, { allow: groups, groups: ["Admin"] }]) { + id: ID! + wage: Int + owner: String + } + type AdminNote + @model + @auth( + rules: [{ allow: groups, groups: ["Admin"], groupClaim: "cognito:groups" }] + ) { + id: ID! + content: String! + } + type ManyGroupProtected + @model + @auth(rules: [{ allow: groups, groupsField: "groups" }]) { + id: ID! + value: Int + groups: [String] + } + type SingleGroupProtected + @model + @auth(rules: [{ allow: groups, groupsField: "group" }]) { + id: ID! + value: Int + group: String + } + type PWProtected + @auth( + rules: [ + { + allow: groups + groups: ["Devs"] + } + { + allow: groups + groupsField: "participants" + operations: [read, update, delete] + } + { allow: groups, groupsField: "watchers", operations: [read] } + ] + ) + @model { + id: ID! + content: String! + participants: String + watchers: String + } + type AllThree + @auth( + rules: [ + { allow: owner, identityClaim: "username" } + { allow: owner, ownerField: "editors", identityClaim: "cognito:username" } + { allow: groups, groups: ["Admin", "Execs"] } + { allow: groups, groupsField: "groups" } + { allow: groups, groupsField: "alternativeGroup" } + ] + ) + @model { + id: ID! + owner: String + editors: [String] + groups: [String] + alternativeGroup: String + } + # The owner should always start with https://cognito-idp + type TestIdentity + @model + @auth(rules: [{ allow: owner, identityClaim: "iss" }]) { + id: ID! + title: String! + owner: String + } + type OwnerReadProtected + @model + @auth(rules: [{ allow: groups, groups: ["Admin"]},{ allow: owner, operations: [read] }]) { + id: ID! @primaryKey(sortKeyFields: ["sk"]) + sk: String! + content: String + owner: String + } + type OwnerCreateUpdateDeleteProtected + @model + @auth(rules: [{ allow: owner, operations: [create, update, delete] }]) { + id: ID! + content: String + owner: String + } + type Performance + @model + @auth( + rules: [ + { allow: groups, groups: ["Admin"] } + { allow: private, operations: [read] } + ] + ) { + id: ID + performer: String! + description: String! + time: AWSDateTime + stage: Stage @hasOne + } + type Stage + @model + @auth( + rules: [ + { allow: groups, groups: ["Admin"] } + { allow: private, operations: [read] } + ] + ) { + id: ID! + name: String! + }`; + try { + await awsS3Client.createBucket({ Bucket: BUCKET_NAME }).promise(); + } catch (e) { + throw Error(`Could not create bucket: ${e}`); + } + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new PrimaryKeyTransformer(), + new IndexTransformer(), + new HasOneTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const userPoolResponse = await createUserPool(cognitoClient, `UserPool${STACK_NAME}`); + USER_POOL_ID = userPoolResponse.UserPool.Id; + const userPoolClientResponse = await createUserPoolClient(cognitoClient, USER_POOL_ID, `UserPool${STACK_NAME}`); + const userPoolClientId = userPoolClientResponse.UserPoolClient.ClientId; + try { + const out = transformer.transform(validSchema); + const finishedStack = await deploy( + customS3Client, + cf, + STACK_NAME, + out, + { AuthCognitoUserPoolId: USER_POOL_ID }, + LOCAL_FS_BUILD_DIR, + BUCKET_NAME, + S3_ROOT_DIR_KEY, + BUILD_TIMESTAMP, + ); + // Wait for any propagation to avoid random + // "The security token included in the request is invalid" errors + await new Promise(res => setTimeout(() => res(), 5000)); + + expect(finishedStack).toBeDefined(); + const getApiEndpoint = outputValueSelector(ResourceConstants.OUTPUTS.GraphQLAPIEndpointOutput); + const getApiKey = outputValueSelector(ResourceConstants.OUTPUTS.GraphQLAPIApiKeyOutput); + GRAPHQL_ENDPOINT = getApiEndpoint(finishedStack.Outputs); + + const apiKey = getApiKey(finishedStack.Outputs); + expect(apiKey).not.toBeTruthy(); + + // Verify we have all the details + expect(GRAPHQL_ENDPOINT).toBeTruthy(); + expect(USER_POOL_ID).toBeTruthy(); + expect(userPoolClientId).toBeTruthy(); + + // Configure Amplify, create users, and sign in + configureAmplify(USER_POOL_ID, userPoolClientId); + + await signupUser(USER_POOL_ID, USERNAME1, TMP_PASSWORD); + await signupUser(USER_POOL_ID, USERNAME2, TMP_PASSWORD); + await signupUser(USER_POOL_ID, USERNAME3, TMP_PASSWORD); + await createGroup(USER_POOL_ID, ADMIN_GROUP_NAME); + await createGroup(USER_POOL_ID, PARTICIPANT_GROUP_NAME); + await createGroup(USER_POOL_ID, WATCHER_GROUP_NAME); + await createGroup(USER_POOL_ID, DEVS_GROUP_NAME); + await createGroup(USER_POOL_ID, DEVS_ADMIN_GROUP_NAME); + await addUserToGroup(ADMIN_GROUP_NAME, USERNAME1, USER_POOL_ID); + await addUserToGroup(PARTICIPANT_GROUP_NAME, USERNAME1, USER_POOL_ID); + await addUserToGroup(WATCHER_GROUP_NAME, USERNAME1, USER_POOL_ID); + await addUserToGroup(DEVS_GROUP_NAME, USERNAME2, USER_POOL_ID); + await addUserToGroup(DEVS_ADMIN_GROUP_NAME, USERNAME3, USER_POOL_ID); + const authResAfterGroup: any = await authenticateUser(USERNAME1, TMP_PASSWORD, REAL_PASSWORD); + + const idToken = authResAfterGroup.getIdToken().getJwtToken(); + GRAPHQL_CLIENT_1 = new GraphQLClient(GRAPHQL_ENDPOINT, { Authorization: idToken }); + + const accessToken = authResAfterGroup.getAccessToken().getJwtToken(); + GRAPHQL_CLIENT_1_ACCESS = new GraphQLClient(GRAPHQL_ENDPOINT, { Authorization: accessToken }); + + const authRes2AfterGroup: any = await authenticateUser(USERNAME2, TMP_PASSWORD, REAL_PASSWORD); + const idToken2 = authRes2AfterGroup.getIdToken().getJwtToken(); + GRAPHQL_CLIENT_2 = new GraphQLClient(GRAPHQL_ENDPOINT, { Authorization: idToken2 }); + + const authRes3AfterGroup: any = await authenticateUser(USERNAME3, TMP_PASSWORD, REAL_PASSWORD); + const idToken3 = authRes3AfterGroup.getIdToken().getJwtToken(); + GRAPHQL_CLIENT_3 = new GraphQLClient(GRAPHQL_ENDPOINT, { Authorization: idToken3 }); + } catch (e) { + console.error(`Could not setup transformer ${e}`); + expect(true).toBe(false); + } + }); + + afterAll(async () => { + await cleanupStackAfterTest(BUCKET_NAME, STACK_NAME, cf, { cognitoClient, userPoolId: USER_POOL_ID }); + }); + + /** + * Test queries below + */ + test('Test createPost mutation', async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response.data.createPost.id).toBeDefined(); + expect(response.data.createPost.title).toEqual('Hello, World!'); + expect(response.data.createPost.createdAt).toBeDefined(); + expect(response.data.createPost.updatedAt).toBeDefined(); + expect(response.data.createPost.owner).toEqual(USERNAME1); + + const response2 = await GRAPHQL_CLIENT_1_ACCESS.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response2.data.createPost.id).toBeDefined(); + expect(response2.data.createPost.title).toEqual('Hello, World!'); + expect(response2.data.createPost.createdAt).toBeDefined(); + expect(response2.data.createPost.updatedAt).toBeDefined(); + expect(response2.data.createPost.owner).toEqual(USERNAME1); + }); + + test('Test getPost query when authorized', async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response.data.createPost.id).toBeDefined(); + expect(response.data.createPost.title).toEqual('Hello, World!'); + expect(response.data.createPost.createdAt).toBeDefined(); + expect(response.data.createPost.updatedAt).toBeDefined(); + expect(response.data.createPost.owner).toEqual(USERNAME1); + const getResponse = await GRAPHQL_CLIENT_1.query( + `query { + getPost(id: "${response.data.createPost.id}") { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(getResponse.data.getPost.id).toBeDefined(); + expect(getResponse.data.getPost.title).toEqual('Hello, World!'); + expect(getResponse.data.getPost.createdAt).toBeDefined(); + expect(getResponse.data.getPost.updatedAt).toBeDefined(); + expect(getResponse.data.getPost.owner).toEqual(USERNAME1); + + const getResponseAccess = await GRAPHQL_CLIENT_1_ACCESS.query( + `query { + getPost(id: "${response.data.createPost.id}") { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(getResponseAccess.data.getPost.id).toBeDefined(); + expect(getResponseAccess.data.getPost.title).toEqual('Hello, World!'); + expect(getResponseAccess.data.getPost.createdAt).toBeDefined(); + expect(getResponseAccess.data.getPost.updatedAt).toBeDefined(); + expect(getResponseAccess.data.getPost.owner).toEqual(USERNAME1); + }); + + test('Test getPost query when not authorized', async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response.data.createPost.id).toBeDefined(); + expect(response.data.createPost.title).toEqual('Hello, World!'); + expect(response.data.createPost.createdAt).toBeDefined(); + expect(response.data.createPost.updatedAt).toBeDefined(); + expect(response.data.createPost.owner).toBeDefined(); + const getResponse = await GRAPHQL_CLIENT_2.query( + `query { + getPost(id: "${response.data.createPost.id}") { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(getResponse.data.getPost).toEqual(null); + expect(getResponse.errors.length).toEqual(1); + expect((getResponse.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test('Test updatePost mutation when authorized', async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response.data.createPost.id).toBeDefined(); + expect(response.data.createPost.title).toEqual('Hello, World!'); + expect(response.data.createPost.createdAt).toBeDefined(); + expect(response.data.createPost.updatedAt).toBeDefined(); + expect(response.data.createPost.owner).toEqual(USERNAME1); + const updateResponse = await GRAPHQL_CLIENT_1.query( + `mutation { + updatePost(input: { id: "${response.data.createPost.id}", title: "Bye, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(updateResponse.data.updatePost.id).toEqual(response.data.createPost.id); + expect(updateResponse.data.updatePost.title).toEqual('Bye, World!'); + expect(updateResponse.data.updatePost.updatedAt > response.data.createPost.updatedAt).toEqual(true); + + const updateResponseAccess = await GRAPHQL_CLIENT_1_ACCESS.query( + `mutation { + updatePost(input: { id: "${response.data.createPost.id}", title: "Bye, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(updateResponseAccess.data.updatePost.id).toEqual(response.data.createPost.id); + expect(updateResponseAccess.data.updatePost.title).toEqual('Bye, World!'); + expect(updateResponseAccess.data.updatePost.updatedAt > response.data.createPost.updatedAt).toEqual(true); + }); + + test('Test updatePost mutation when not authorized', async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response.data.createPost.id).toBeDefined(); + expect(response.data.createPost.title).toEqual('Hello, World!'); + expect(response.data.createPost.createdAt).toBeDefined(); + expect(response.data.createPost.updatedAt).toBeDefined(); + expect(response.data.createPost.owner).toBeDefined(); + const updateResponse = await GRAPHQL_CLIENT_2.query( + `mutation { + updatePost(input: { id: "${response.data.createPost.id}", title: "Bye, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(updateResponse.data.updatePost).toEqual(null); + expect(updateResponse.errors.length).toEqual(1); + expect((updateResponse.errors[0] as any).data).toBeNull(); + expect((updateResponse.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test('Test deletePost mutation when authorized', async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response.data.createPost.id).toBeDefined(); + expect(response.data.createPost.title).toEqual('Hello, World!'); + expect(response.data.createPost.createdAt).toBeDefined(); + expect(response.data.createPost.updatedAt).toBeDefined(); + expect(response.data.createPost.owner).toEqual(USERNAME1); + const deleteResponse = await GRAPHQL_CLIENT_1.query( + `mutation { + deletePost(input: { id: "${response.data.createPost.id}" }) { + id + } + }`, + {}, + ); + expect(deleteResponse.data.deletePost.id).toEqual(response.data.createPost.id); + + const responseAccess = await GRAPHQL_CLIENT_1_ACCESS.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(responseAccess.data.createPost.id).toBeDefined(); + expect(responseAccess.data.createPost.title).toEqual('Hello, World!'); + expect(responseAccess.data.createPost.createdAt).toBeDefined(); + expect(responseAccess.data.createPost.updatedAt).toBeDefined(); + expect(responseAccess.data.createPost.owner).toEqual(USERNAME1); + const deleteResponseAccess = await GRAPHQL_CLIENT_1_ACCESS.query( + `mutation { + deletePost(input: { id: "${responseAccess.data.createPost.id}" }) { + id + } + }`, + {}, + ); + expect(deleteResponseAccess.data.deletePost.id).toEqual(responseAccess.data.createPost.id); + }); + + test('Test deletePost mutation when not authorized', async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "Hello, World!" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(response.data.createPost.id).toBeDefined(); + expect(response.data.createPost.title).toEqual('Hello, World!'); + expect(response.data.createPost.createdAt).toBeDefined(); + expect(response.data.createPost.updatedAt).toBeDefined(); + expect(response.data.createPost.owner).toEqual(USERNAME1); + const deleteResponse = await GRAPHQL_CLIENT_2.query( + `mutation { + deletePost(input: { id: "${response.data.createPost.id}" }) { + id + } + }`, + {}, + ); + expect(deleteResponse.data.deletePost).toEqual(null); + expect(deleteResponse.errors.length).toEqual(1); + expect((deleteResponse.errors[0] as any).data).toBeNull(); + expect((deleteResponse.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test('Test listPosts query when authorized', async () => { + const firstPost = await GRAPHQL_CLIENT_1.query( + `mutation { + createPost(input: { title: "testing list" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + expect(firstPost.data.createPost.id).toBeDefined(); + expect(firstPost.data.createPost.title).toEqual('testing list'); + expect(firstPost.data.createPost.createdAt).toBeDefined(); + expect(firstPost.data.createPost.updatedAt).toBeDefined(); + expect(firstPost.data.createPost.owner).toEqual(USERNAME1); + await GRAPHQL_CLIENT_2.query( + `mutation { + createPost(input: { title: "testing list" }) { + id + title + createdAt + updatedAt + owner + } + }`, + {}, + ); + // There are two posts but only 1 created by me. + const listResponse = await GRAPHQL_CLIENT_1.query( + `query { + listPosts(filter: { title: { eq: "testing list" } }, limit: 25) { + items { + id + } + } + }`, + {}, + ); + expect(listResponse.data.listPosts.items.length).toEqual(1); + + const listResponseAccess = await GRAPHQL_CLIENT_1_ACCESS.query( + `query { + listPosts(filter: { title: { eq: "testing list" } }, limit: 25) { + items { + id + } + } + }`, + {}, + ); + expect(listResponseAccess.data.listPosts.items.length).toEqual(1); + }); + + /** + * Static Group Auth + */ + test(`Test createSalary w/ Admin group protection authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSalary(input: { wage: 10 }) { + id + wage + } + } + `, + {}, + ); + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(10); + }); + + test(`Test update my own salary without admin permission`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createSalary(input: { wage: 10 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.wage).toEqual(10); + const req2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateSalary(input: { id: "${req.data.createSalary.id}", wage: 14 }) { + id + wage + } + } + `, + {}, + ); + + expect(req2.data.updateSalary.wage).toEqual(14); + }); + + test(`Test updating someone else's salary as an admin`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createSalary(input: { wage: 11 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(11); + const req2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + updateSalary(input: { id: "${req.data.createSalary.id}", wage: 12 }) { + id + wage + } + } + `, + {}, + ); + + expect(req2.data.updateSalary.id).toEqual(req.data.createSalary.id); + expect(req2.data.updateSalary.wage).toEqual(12); + }); + + test(`Test updating someone else's salary when I am not admin.`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSalary(input: { wage: 13 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(13); + const req2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateSalary(input: { id: "${req.data.createSalary.id}", wage: 14 }) { + id + wage + } + } + `, + {}, + ); + expect(req2.data.updateSalary).toEqual(null); + expect(req2.errors.length).toEqual(1); + expect((req2.errors[0] as any).data).toBeNull(); + expect((req2.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test(`Test deleteSalary w/ Admin group protection authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSalary(input: { wage: 15 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(15); + const req2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteSalary(input: { id: "${req.data.createSalary.id}" }) { + id + wage + } + } + `, + {}, + ); + + expect(req2.data.deleteSalary.id).toEqual(req.data.createSalary.id); + expect(req2.data.deleteSalary.wage).toEqual(15); + }); + + test(`Test deleteSalary w/ Admin group protection not authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSalary(input: { wage: 16 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(16); + const req2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + deleteSalary(input: { id: "${req.data.createSalary.id}" }) { + id + wage + } + } + `, + {}, + ); + expect(req2.data.deleteSalary).toEqual(null); + expect(req2.errors.length).toEqual(1); + expect((req2.errors[0] as any).data).toBeNull(); + expect((req2.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test(`Test and Admin can get a salary created by any user`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createSalary(input: { wage: 15 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(15); + const req2 = await GRAPHQL_CLIENT_1.query( + ` + query { + getSalary(id: "${req.data.createSalary.id}") { + id + wage + } + } + `, + {}, + ); + expect(req2.data.getSalary.id).toEqual(req.data.createSalary.id); + expect(req2.data.getSalary.wage).toEqual(15); + }); + + test(`Test owner can create and get a salary when not admin`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createSalary(input: { wage: 15 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(15); + const req2 = await GRAPHQL_CLIENT_2.query( + ` + query { + getSalary(id: "${req.data.createSalary.id}") { + id + wage + } + } + `, + {}, + ); + expect(req2.data.getSalary.id).toEqual(req.data.createSalary.id); + expect(req2.data.getSalary.wage).toEqual(15); + }); + + test(`Test getSalary w/ Admin group protection not authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSalary(input: { wage: 16 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(16); + const req2 = await GRAPHQL_CLIENT_2.query( + ` + query { + getSalary(id: "${req.data.createSalary.id}") { + id + wage + } + } + `, + {}, + ); + expect(req2.data.getSalary).toEqual(null); + expect(req2.errors.length).toEqual(1); + expect((req2.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test(`Test listSalaries w/ Admin group protection authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSalary(input: { wage: 101 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(101); + const req2 = await GRAPHQL_CLIENT_1.query( + ` + query { + listSalaries(filter: { wage: { eq: 101 }}) { + items { + id + wage + } + } + } + `, + {}, + ); + expect(req2.data.listSalaries.items.length).toEqual(1); + expect(req2.data.listSalaries.items[0].id).toEqual(req.data.createSalary.id); + expect(req2.data.listSalaries.items[0].wage).toEqual(101); + }); + + test(`Test listSalaries w/ Admin group protection not authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSalary(input: { wage: 102 }) { + id + wage + } + } + `, + {}, + ); + + expect(req.data.createSalary.id).toBeDefined(); + expect(req.data.createSalary.wage).toEqual(102); + const req2 = await GRAPHQL_CLIENT_2.query( + ` + query { + listSalaries(filter: { wage: { eq: 102 }}) { + items { + id + wage + } + } + } + `, + {}, + ); + expect(req2.data.listSalaries.items).toEqual([]); + }); + + /** + * Dynamic Group Auth + */ + test(`Test createManyGroupProtected w/ dynamic group protection authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createManyGroupProtected(input: { value: 10, groups: ["Admin"] }) { + id + value + groups + } + } + `, + {}, + ); + + expect(req.data.createManyGroupProtected.id).toBeDefined(); + expect(req.data.createManyGroupProtected.value).toEqual(10); + expect(req.data.createManyGroupProtected.groups).toEqual(['Admin']); + }); + + test(`Test createManyGroupProtected w/ dynamic group protection when not authorized`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createManyGroupProtected(input: { value: 10, groups: ["Admin"] }) { + id + value + groups + } + } + `, + {}, + ); + + expect(req.data.createManyGroupProtected).toEqual(null); + expect(req.errors.length).toEqual(1); + expect((req.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test(`Test updateSingleGroupProtected when user is not authorized but has a group that is a substring of the allowed group`, async () => { + const req = await GRAPHQL_CLIENT_3.query( + `mutation { + createSingleGroupProtected(input: { value: 11, group: "Devs-Admin" }) { + id + value + group + } + } + `, + {}, + ); + + const req2 = await GRAPHQL_CLIENT_2.query( + `mutation { + updateSingleGroupProtected(input: {id: "${req.data.createSingleGroupProtected.id}", value: 5 }) { + id + value + group + } + } + `, + {}, + ); + + const req3 = await GRAPHQL_CLIENT_3.query( + `query { + getSingleGroupProtected(id: "${req.data.createSingleGroupProtected.id}") { + id + value + group + } + } + `, + {}, + ); + + expect(req.data.createSingleGroupProtected.value).toEqual(11); + expect(req.data.createSingleGroupProtected.value).toEqual(req3.data.getSingleGroupProtected.value); + expect((req2.errors[0] as any).data).toBeNull(); + expect((req2.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test(`Test createSingleGroupProtected w/ dynamic group protection authorized`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createSingleGroupProtected(input: { value: 10, group: "Admin" }) { + id + value + group + } + } + `, + {}, + ); + + expect(req.data.createSingleGroupProtected.id).toBeDefined(); + expect(req.data.createSingleGroupProtected.value).toEqual(10); + expect(req.data.createSingleGroupProtected.group).toEqual('Admin'); + }); + + test(`Test createSingleGroupProtected w/ dynamic group protection when not authorized`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createSingleGroupProtected(input: { value: 10, group: "Admin" }) { + id + value + group + } + } + `, + {}, + ); + + expect(req.data.createSingleGroupProtected).toEqual(null); + expect(req.errors.length).toEqual(1); + expect((req.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test(`Test listPWProtecteds when the user is authorized.`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createPWProtected(input: { content: "Foobie", participants: "${PARTICIPANT_GROUP_NAME}", watchers: "${WATCHER_GROUP_NAME}" }) { + id + content + participants + watchers + } + } + `, + {}, + ); + + expect(req.data.createPWProtected).toBeTruthy(); + + const uReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + updatePWProtected(input: { id: "${req.data.createPWProtected.id}", content: "Foobie2" }) { + id + content + participants + watchers + } + } + `, + {}, + ); + expect(uReq.data.updatePWProtected).toBeTruthy(); + + const req2 = await GRAPHQL_CLIENT_1.query( + ` + query { + listPWProtecteds { + items { + id + content + participants + watchers + } + nextToken + } + } + `, + {}, + ); + expect(req2.data.listPWProtecteds.items.length).toEqual(1); + expect(req2.data.listPWProtecteds.items[0].id).toEqual(req.data.createPWProtected.id); + expect(req2.data.listPWProtecteds.items[0].content).toEqual('Foobie2'); + + const req3 = await GRAPHQL_CLIENT_1.query( + ` + query { + getPWProtected(id: "${req.data.createPWProtected.id}") { + id + content + participants + watchers + } + } + `, + {}, + ); + + expect(req3.data.getPWProtected).toBeTruthy(); + + const dReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deletePWProtected(input: { id: "${req.data.createPWProtected.id}" }) { + id + content + participants + watchers + } + } + `, + {}, + ); + expect(dReq.data.deletePWProtected).toBeTruthy(); + }); + + test(`Test listPWProtecteds when groups is null in dynamodb.`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + `mutation { + createPWProtected(input: { content: "Foobie" }) { + id + content + participants + watchers + } + } + `, + {}, + ); + + expect(req.data.createPWProtected).toBeTruthy(); + + const req2 = await GRAPHQL_CLIENT_1.query( + ` + query { + listPWProtecteds { + items { + id + content + participants + watchers + } + nextToken + } + } + `, + {}, + ); + expect(req2.data.listPWProtecteds.items.length).toEqual(0); + + const req3 = await GRAPHQL_CLIENT_1.query( + ` + query { + getPWProtected(id: "${req.data.createPWProtected.id}") { + id + content + participants + watchers + } + } + `, + {}, + ); + + expect(req3.data.getPWProtected).toEqual(null); + expect(req3.errors.length).toEqual(1); + expect((req3.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + test(`Test Protecteds when the user is not authorized.`, async () => { + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createPWProtected(input: { content: "Barbie", participants: "${PARTICIPANT_GROUP_NAME}", watchers: "${WATCHER_GROUP_NAME}" }) { + id + content + participants + watchers + } + } + `, + {}, + ); + + expect(req.data.createPWProtected).toBeTruthy(); + + const req2 = await GRAPHQL_CLIENT_3.query( + ` + query { + listPWProtecteds { + items { + id + content + participants + watchers + } + nextToken + } + } + `, + {}, + ); + + expect(req2.data.listPWProtecteds.items.length).toEqual(0); + expect(req2.data.listPWProtecteds.nextToken).toBeNull(); + + const uReq = await GRAPHQL_CLIENT_3.query( + ` + mutation { + updatePWProtected(input: { id: "${req.data.createPWProtected.id}", content: "Foobie2" }) { + id + content + participants + watchers + } + } + `, + {}, + ); + expect(uReq.data.updatePWProtected).toBeNull(); + + const req3 = await GRAPHQL_CLIENT_3.query( + ` + query { + getPWProtected(id: "${req.data.createPWProtected.id}") { + id + content + participants + watchers + } + } + `, + {}, + ); + + expect(req3.data.getPWProtected).toBeNull(); + + const dReq = await GRAPHQL_CLIENT_3.query( + ` + mutation { + deletePWProtected(input: { id: "${req.data.createPWProtected.id}" }) { + id + content + participants + watchers + } + } + `, + {}, + ); + expect(dReq.data.deletePWProtected).toBeNull(); + + // The record should still exist after delete. + const getReq = await GRAPHQL_CLIENT_1.query( + ` + query { + getPWProtected(id: "${req.data.createPWProtected.id}") { + id + content + participants + watchers + } + } + `, + {}, + ); + expect(getReq.data.getPWProtected).toBeTruthy(); + }); + + test(`Test creating, updating, and deleting an admin note as an admin`, async () => { + const req = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAdminNote(input: { content: "Hello" }) { + id + content + } + } + `, + {}, + ); + + expect(req.data.createAdminNote.id).toBeDefined(); + expect(req.data.createAdminNote.content).toEqual('Hello'); + const req2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + updateAdminNote(input: { id: "${req.data.createAdminNote.id}", content: "Hello 2" }) { + id + content + } + } + `, + {}, + ); + + expect(req2.data.updateAdminNote.id).toEqual(req.data.createAdminNote.id); + expect(req2.data.updateAdminNote.content).toEqual('Hello 2'); + const req3 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAdminNote(input: { id: "${req.data.createAdminNote.id}" }) { + id + content + } + } + `, + {}, + ); + + expect(req3.data.deleteAdminNote.id).toEqual(req.data.createAdminNote.id); + expect(req3.data.deleteAdminNote.content).toEqual('Hello 2'); + }); + + test(`Test creating, updating, and deleting an admin note as a non admin`, async () => { + const adminReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAdminNote(input: { content: "Hello" }) { + id + content + } + } + `, + {}, + ); + expect(adminReq.data.createAdminNote.id).toBeDefined(); + expect(adminReq.data.createAdminNote.content).toEqual('Hello'); + + const req = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAdminNote(input: { content: "Hello" }) { + id + content + } + } + `, + {}, + ); + + expect(req.errors.length).toEqual(1); + expect((req.errors[0] as any).errorType).toEqual('Unauthorized'); + + const req2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateAdminNote(input: { id: "${adminReq.data.createAdminNote.id}", content: "Hello 2" }) { + id + content + } + } + `, + {}, + ); + + expect(req2.errors.length).toEqual(1); + expect((req2.errors[0] as any).errorType).toEqual('Unauthorized'); + + const req3 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + deleteAdminNote(input: { id: "${adminReq.data.createAdminNote.id}" }) { + id + content + } + } + `, + {}, + ); + + expect(req3.errors.length).toEqual(1); + expect((req3.errors[0] as any).errorType).toEqual('Unauthorized'); + }); + + /** + * Get Query Tests + */ + + test(`Test getAllThree as admin.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + + const fetchOwnedBy2AsAdmin = await GRAPHQL_CLIENT_1.query( + ` + query { + getAllThree(id: "${ownedBy2.data.createAllThree.id}") { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(fetchOwnedBy2AsAdmin.data.getAllThree).toBeTruthy(); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test getAllThree as owner.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + + const fetchOwnedBy2AsOwner = await GRAPHQL_CLIENT_2.query( + ` + query { + getAllThree(id: "${ownedBy2.data.createAllThree.id}") { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(fetchOwnedBy2AsOwner.data.getAllThree).toBeTruthy(); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test getAllThree as one of a set of editors.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + editors: ["user2@test.com"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + + const fetchOwnedBy2AsEditor = await GRAPHQL_CLIENT_2.query( + ` + query { + getAllThree(id: "${ownedBy2.data.createAllThree.id}") { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(fetchOwnedBy2AsEditor.data.getAllThree).toBeTruthy(); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test getAllThree as a member of a dynamic group.`, async () => { + const ownedByAdmins = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + groups: ["Devs"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdmins.data.createAllThree).toBeTruthy(); + + const fetchOwnedByAdminsAsAdmin = await GRAPHQL_CLIENT_2.query( + ` + query { + getAllThree(id: "${ownedByAdmins.data.createAllThree.id}") { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsAdmin.data.getAllThree).toBeTruthy(); + + const fetchOwnedByAdminsAsNonAdmin = await GRAPHQL_CLIENT_3.query( + ` + query { + getAllThree(id: "${ownedByAdmins.data.createAllThree.id}") { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsNonAdmin.errors.length).toEqual(1); + expect((fetchOwnedByAdminsAsNonAdmin.errors[0] as any).errorType).toEqual('Unauthorized'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByAdmins.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByAdmins.data.createAllThree.id); + }); + + test(`Test getAllThree as a member of the alternative group.`, async () => { + const ownedByAdmins = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdmins.data.createAllThree).toBeTruthy(); + + const fetchOwnedByAdminsAsAdmin = await GRAPHQL_CLIENT_2.query( + ` + query { + getAllThree(id: "${ownedByAdmins.data.createAllThree.id}") { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsAdmin.data.getAllThree).toBeTruthy(); + + const fetchOwnedByAdminsAsNonAdmin = await GRAPHQL_CLIENT_3.query( + ` + query { + getAllThree(id: "${ownedByAdmins.data.createAllThree.id}") { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsNonAdmin.errors.length).toEqual(1); + expect((fetchOwnedByAdminsAsNonAdmin.errors[0] as any).errorType).toEqual('Unauthorized'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByAdmins.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByAdmins.data.createAllThree.id); + }); + + /** + * List Query Tests + */ + + test(`Test listAllThrees as admin.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + + const fetchOwnedBy2AsAdmin = await GRAPHQL_CLIENT_1.query( + ` + query { + listAllThrees { + items { + id + owner + editors + groups + alternativeGroup + } + } + } + `, + {}, + ); + expect(fetchOwnedBy2AsAdmin.data.listAllThrees.items).toHaveLength(1); + expect(fetchOwnedBy2AsAdmin.data.listAllThrees.items[0].id).toEqual(ownedBy2.data.createAllThree.id); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test listAllThrees as owner.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + + const fetchOwnedBy2AsOwner = await GRAPHQL_CLIENT_2.query( + ` + query { + listAllThrees { + items { + id + owner + editors + groups + alternativeGroup + } + } + } + `, + {}, + ); + expect(fetchOwnedBy2AsOwner.data.listAllThrees.items).toHaveLength(1); + expect(fetchOwnedBy2AsOwner.data.listAllThrees.items[0].id).toEqual(ownedBy2.data.createAllThree.id); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test listAllThrees as one of a set of editors.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + editors: ["user2@test.com"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + + const fetchOwnedBy2AsEditor = await GRAPHQL_CLIENT_2.query( + ` + query { + listAllThrees { + items { + id + owner + editors + groups + alternativeGroup + } + } + } + `, + {}, + ); + expect(fetchOwnedBy2AsEditor.data.listAllThrees.items).toHaveLength(1); + expect(fetchOwnedBy2AsEditor.data.listAllThrees.items[0].id).toEqual(ownedBy2.data.createAllThree.id); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test listAllThrees as a member of a dynamic group.`, async () => { + const ownedByAdmins = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + groups: ["Devs"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdmins.data.createAllThree).toBeTruthy(); + + const fetchOwnedByAdminsAsAdmin = await GRAPHQL_CLIENT_2.query( + ` + query { + listAllThrees { + items { + id + owner + editors + groups + alternativeGroup + } + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsAdmin.data.listAllThrees.items).toHaveLength(1); + expect(fetchOwnedByAdminsAsAdmin.data.listAllThrees.items[0].id).toEqual(ownedByAdmins.data.createAllThree.id); + + const fetchOwnedByAdminsAsNonAdmin = await GRAPHQL_CLIENT_3.query( + ` + query { + listAllThrees { + items { + id + owner + editors + groups + alternativeGroup + } + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsNonAdmin.data.listAllThrees.items).toHaveLength(0); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByAdmins.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByAdmins.data.createAllThree.id); + }); + + test(`Test getAllThree as a member of the alternative group.`, async () => { + const ownedByAdmins = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdmins.data.createAllThree).toBeTruthy(); + + const fetchOwnedByAdminsAsAdmin = await GRAPHQL_CLIENT_2.query( + ` + query { + listAllThrees { + items { + id + owner + editors + groups + alternativeGroup + } + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsAdmin.data.listAllThrees.items).toHaveLength(1); + expect(fetchOwnedByAdminsAsAdmin.data.listAllThrees.items[0].id).toEqual(ownedByAdmins.data.createAllThree.id); + + const fetchOwnedByAdminsAsNonAdmin = await GRAPHQL_CLIENT_3.query( + ` + query { + listAllThrees { + items { + id + owner + editors + groups + alternativeGroup + } + } + } + `, + {}, + ); + expect(fetchOwnedByAdminsAsNonAdmin.data.listAllThrees.items).toHaveLength(0); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByAdmins.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByAdmins.data.createAllThree.id); + }); + + /** + * Create Mutation Tests + */ + + test(`Test createAllThree as admin.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + // set by input + expect(ownedBy2.data.createAllThree.owner).toEqual('user2@test.com'); + // not auto filled as the admin condition was met + expect(ownedBy2.data.createAllThree.editors).toBeNull(); + expect(ownedBy2.data.createAllThree.groups).toBeNull(); + expect(ownedBy2.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedBy2NoEditors = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com", + editors: [] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2NoEditors.data.createAllThree).toBeTruthy(); + // set by input + expect(ownedBy2NoEditors.data.createAllThree.owner).toEqual('user2@test.com'); + // set by input + expect(ownedBy2NoEditors.data.createAllThree.editors).toHaveLength(0); + expect(ownedBy2NoEditors.data.createAllThree.groups).toBeNull(); + expect(ownedBy2NoEditors.data.createAllThree.alternativeGroup).toBeNull(); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + + const deleteReq2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2NoEditors.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq2.data.deleteAllThree.id).toEqual(ownedBy2NoEditors.data.createAllThree.id); + }); + + test(`Test createAllThree as owner.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com", + editors: [] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + expect(ownedBy2.data.createAllThree.owner).toEqual('user2@test.com'); + expect(ownedBy2.data.createAllThree.editors).toHaveLength(0); + expect(ownedBy2.data.createAllThree.groups).toBeNull(); + expect(ownedBy2.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedBy1 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: "user1@test.com", + editors: [] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy1.errors.length).toEqual(1); + expect((ownedBy1.errors[0] as any).errorType).toEqual('Unauthorized'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test createAllThree as one of a set of editors.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: ["user2@test.com"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + expect(ownedBy2.data.createAllThree.owner).toBeNull(); + expect(ownedBy2.data.createAllThree.editors[0]).toEqual('user2@test.com'); + expect(ownedBy2.data.createAllThree.groups).toBeNull(); + expect(ownedBy2.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedBy2WithDefaultOwner = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + editors: ["user2@test.com"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2WithDefaultOwner.data.createAllThree).toBeTruthy(); + expect(ownedBy2WithDefaultOwner.data.createAllThree.owner).toEqual('user2@test.com'); + expect(ownedBy2WithDefaultOwner.data.createAllThree.editors[0]).toEqual('user2@test.com'); + expect(ownedBy2WithDefaultOwner.data.createAllThree.groups).toBeNull(); + expect(ownedBy2WithDefaultOwner.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedByEditorsUnauthed = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: ["user1@test.com"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByEditorsUnauthed.errors.length).toEqual(1); + expect((ownedByEditorsUnauthed.errors[0] as any).errorType).toEqual('Unauthorized'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + + const deleteReq2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2WithDefaultOwner.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq2.data.deleteAllThree.id).toEqual(ownedBy2WithDefaultOwner.data.createAllThree.id); + }); + + test(`Test createAllThree as a member of a dynamic group.`, async () => { + const ownedByDevs = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + groups: ["Devs"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByDevs.data.createAllThree).toBeTruthy(); + expect(ownedByDevs.data.createAllThree.owner).toBeNull(); + expect(ownedByDevs.data.createAllThree.editors).toHaveLength(0); + expect(ownedByDevs.data.createAllThree.groups[0]).toEqual('Devs'); + expect(ownedByDevs.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedByAdminsUnauthed = await GRAPHQL_CLIENT_3.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + groups: ["Devs"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdminsUnauthed.errors.length).toEqual(1); + expect((ownedByAdminsUnauthed.errors[0] as any).errorType).toEqual('Unauthorized'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByDevs.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByDevs.data.createAllThree.id); + }); + + test(`Test createAllThree as a member of the alternative group.`, async () => { + const ownedByAdmins = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdmins.data.createAllThree).toBeTruthy(); + expect(ownedByAdmins.data.createAllThree.owner).toBeNull(); + expect(ownedByAdmins.data.createAllThree.editors).toHaveLength(0); + expect(ownedByAdmins.data.createAllThree.alternativeGroup).toEqual('Devs'); + + const ownedByAdminsUnauthed = await GRAPHQL_CLIENT_3.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + alternativeGroup: "Admin" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdminsUnauthed.errors.length).toEqual(1); + expect((ownedByAdminsUnauthed.errors[0] as any).errorType).toEqual('Unauthorized'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByAdmins.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByAdmins.data.createAllThree.id); + }); + + /** + * Update Mutation Tests + */ + + test(`Test updateAllThree and deleteAllThree as admin.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + editors: [] + owner: "user2@test.com" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + // set by input + expect(ownedBy2.data.createAllThree.owner).toEqual('user2@test.com'); + // auto filled as logged in user. + expect(ownedBy2.data.createAllThree.editors).toHaveLength(0); + expect(ownedBy2.data.createAllThree.groups).toBeNull(); + expect(ownedBy2.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedByTwoUpdate = await GRAPHQL_CLIENT_1.query( + ` + mutation { + updateAllThree(input: { + id: "${ownedBy2.data.createAllThree.id}", + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByTwoUpdate.data.updateAllThree).toBeTruthy(); + // set by input + expect(ownedByTwoUpdate.data.updateAllThree.owner).toEqual('user2@test.com'); + // set by input + expect(ownedByTwoUpdate.data.updateAllThree.editors).toHaveLength(0); + expect(ownedByTwoUpdate.data.updateAllThree.groups).toBeNull(); + expect(ownedByTwoUpdate.data.updateAllThree.alternativeGroup).toEqual('Devs'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test updateAllThree and deleteAllThree as owner.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: "user2@test.com", + editors: [] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + expect(ownedBy2.data.createAllThree.owner).toEqual('user2@test.com'); + expect(ownedBy2.data.createAllThree.editors).toHaveLength(0); + expect(ownedBy2.data.createAllThree.groups).toBeNull(); + expect(ownedBy2.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedBy2Update = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateAllThree(input: { + id: "${ownedBy2.data.createAllThree.id}", + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2Update.data.updateAllThree).toBeTruthy(); + // set by input + expect(ownedBy2Update.data.updateAllThree.owner).toEqual('user2@test.com'); + // set by input + expect(ownedBy2Update.data.updateAllThree.editors).toHaveLength(0); + expect(ownedBy2Update.data.updateAllThree.groups).toBeNull(); + expect(ownedBy2Update.data.updateAllThree.alternativeGroup).toEqual('Devs'); + + const deleteReq = await GRAPHQL_CLIENT_2.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test updateAllThree and deleteAllThree as one of a set of editors.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: ["user2@test.com"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedBy2.data.createAllThree).toBeTruthy(); + expect(ownedBy2.data.createAllThree.owner).toBeNull(); + expect(ownedBy2.data.createAllThree.editors[0]).toEqual('user2@test.com'); + expect(ownedBy2.data.createAllThree.groups).toBeNull(); + expect(ownedBy2.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedByUpdate = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateAllThree(input: { + id: "${ownedBy2.data.createAllThree.id}", + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByUpdate.data.updateAllThree).toBeTruthy(); + // set by input + expect(ownedByUpdate.data.updateAllThree.owner).toBeNull(); + // set by input + expect(ownedByUpdate.data.updateAllThree.editors[0]).toEqual('user2@test.com'); + expect(ownedByUpdate.data.updateAllThree.groups).toBeNull(); + expect(ownedByUpdate.data.updateAllThree.alternativeGroup).toEqual('Devs'); + + const deleteReq = await GRAPHQL_CLIENT_2.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedBy2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedBy2.data.createAllThree.id); + }); + + test(`Test updateAllThree and deleteAllThree as a member of a dynamic group.`, async () => { + const ownedByDevs = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + groups: ["Devs"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByDevs.data.createAllThree).toBeTruthy(); + expect(ownedByDevs.data.createAllThree.owner).toBeNull(); + expect(ownedByDevs.data.createAllThree.editors).toHaveLength(0); + expect(ownedByDevs.data.createAllThree.groups[0]).toEqual('Devs'); + expect(ownedByDevs.data.createAllThree.alternativeGroup).toBeNull(); + + const ownedByUpdate = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateAllThree(input: { + id: "${ownedByDevs.data.createAllThree.id}", + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByUpdate.data.updateAllThree).toBeTruthy(); + // set by input + expect(ownedByUpdate.data.updateAllThree.owner).toBeNull(); + // set by input + expect(ownedByUpdate.data.updateAllThree.editors).toHaveLength(0); + expect(ownedByUpdate.data.updateAllThree.groups[0]).toEqual('Devs'); + expect(ownedByUpdate.data.updateAllThree.alternativeGroup).toEqual('Devs'); + + const ownedByAdminsUnauthed = await GRAPHQL_CLIENT_3.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + groups: ["Devs"] + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdminsUnauthed.errors.length).toEqual(1); + expect((ownedByAdminsUnauthed.errors[0] as any).errorType).toEqual('Unauthorized'); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByDevs.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByDevs.data.createAllThree.id); + }); + + test(`Test updateAllThree and deleteAllThree as a member of the alternative group.`, async () => { + const ownedByDevs = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByDevs.data.createAllThree).toBeTruthy(); + expect(ownedByDevs.data.createAllThree.owner).toBeNull(); + expect(ownedByDevs.data.createAllThree.editors).toHaveLength(0); + expect(ownedByDevs.data.createAllThree.alternativeGroup).toEqual('Devs'); + + const ownedByUpdate = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateAllThree(input: { + id: "${ownedByDevs.data.createAllThree.id}", + alternativeGroup: "Admin" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByUpdate.data.updateAllThree).toBeTruthy(); + // set by input + expect(ownedByUpdate.data.updateAllThree.owner).toBeNull(); + // set by input + expect(ownedByUpdate.data.updateAllThree.editors).toHaveLength(0); + expect(ownedByUpdate.data.updateAllThree.groups).toBeNull(); + expect(ownedByUpdate.data.updateAllThree.alternativeGroup).toEqual('Admin'); + + const ownedByAdminsUnauthed = await GRAPHQL_CLIENT_2.query( + ` + mutation { + updateAllThree(input: { + id: "${ownedByDevs.data.createAllThree.id}", + alternativeGroup: "Dev" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByAdminsUnauthed.errors.length).toEqual(1); + expect((ownedByAdminsUnauthed.errors[0] as any).data).toBeNull(); + expect((ownedByAdminsUnauthed.errors[0] as any).errorType).toEqual('Unauthorized'); + + const ownedByDevs2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createAllThree(input: { + owner: null, + editors: [], + alternativeGroup: "Devs" + }) { + id + owner + editors + groups + alternativeGroup + } + } + `, + {}, + ); + expect(ownedByDevs2.data.createAllThree).toBeTruthy(); + expect(ownedByDevs2.data.createAllThree.owner).toBeNull(); + expect(ownedByDevs2.data.createAllThree.editors).toHaveLength(0); + expect(ownedByDevs2.data.createAllThree.alternativeGroup).toEqual('Devs'); + + const deleteReq2 = await GRAPHQL_CLIENT_2.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByDevs2.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq2.data.deleteAllThree.id).toEqual(ownedByDevs2.data.createAllThree.id); + + const deleteReq = await GRAPHQL_CLIENT_1.query( + ` + mutation { + deleteAllThree(input: { id: "${ownedByDevs.data.createAllThree.id}" }) { + id + } + } + `, + {}, + ); + expect(deleteReq.data.deleteAllThree.id).toEqual(ownedByDevs.data.createAllThree.id); + }); + + test(`Test createTestIdentity as admin.`, async () => { + const ownedBy2 = await GRAPHQL_CLIENT_1.query( + ` + mutation { + createTestIdentity(input: { + title: "Test title" + }) { + id + title + owner + } + } + `, + {}, + ); + expect(ownedBy2.data.createTestIdentity).toBeTruthy(); + expect(ownedBy2.data.createTestIdentity.title).toEqual('Test title'); + expect(ownedBy2.data.createTestIdentity.owner.slice(0, 19)).toEqual('https://cognito-idp'); + + // user 2 should be able to update because they share the same issuer. + const update = await GRAPHQL_CLIENT_3.query( + ` + mutation { + updateTestIdentity(input: { + id: "${ownedBy2.data.createTestIdentity.id}", + title: "Test title update" + }) { + id + title + owner + } + } + `, + {}, + ); + expect(update.data.updateTestIdentity).toBeTruthy(); + expect(update.data.updateTestIdentity.title).toEqual('Test title update'); + expect(update.data.updateTestIdentity.owner.slice(0, 19)).toEqual('https://cognito-idp'); + + // user 2 should be able to get because they share the same issuer. + const getReq = await GRAPHQL_CLIENT_3.query( + ` + query { + getTestIdentity(id: "${ownedBy2.data.createTestIdentity.id}") { + id + title + owner + } + } + `, + {}, + ); + expect(getReq.data.getTestIdentity).toBeTruthy(); + expect(getReq.data.getTestIdentity.title).toEqual('Test title update'); + expect(getReq.data.getTestIdentity.owner.slice(0, 19)).toEqual('https://cognito-idp'); + + const listResponse = await GRAPHQL_CLIENT_3.query( + `query { + listTestIdentities(filter: { title: { eq: "Test title update" } }, limit: 100) { + items { + id + title + owner + } + } + }`, + {}, + ); + const relevantPost = listResponse.data.listTestIdentities.items.find(p => p.id === getReq.data.getTestIdentity.id); + expect(relevantPost).toBeTruthy(); + expect(relevantPost.title).toEqual('Test title update'); + expect(relevantPost.owner.slice(0, 19)).toEqual('https://cognito-idp'); + + // user 2 should be able to delete because they share the same issuer. + const delReq = await GRAPHQL_CLIENT_3.query( + ` + mutation { + deleteTestIdentity(input: { + id: "${ownedBy2.data.createTestIdentity.id}" + }) { + id + title + owner + } + } + `, + {}, + ); + expect(delReq.data.deleteTestIdentity).toBeTruthy(); + expect(delReq.data.deleteTestIdentity.title).toEqual('Test title update'); + expect(delReq.data.deleteTestIdentity.owner.slice(0, 19)).toEqual('https://cognito-idp'); + }); + + /** + * Test 'operations' argument + */ + test("Test get and list with 'read' operation set", async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createNoOwner: createOwnerReadProtected(input: { id: "1", sk: "1", content: "Hello, World! - No Owner" }) { + id + content + owner + } + createOwnerReadProtected(input: { id: "1", sk: "2", content: "Hello, World!", owner: "${USERNAME2}" }) { + id + content + owner + } + createNoOwner2: createOwnerReadProtected(input: { id: "1", sk: "3", content: "Hello, World! - No Owner 2" }) { + id + content + owner + } + }`, + {}, + ); + + expect(response.data.createOwnerReadProtected.id).toBeDefined(); + expect(response.data.createOwnerReadProtected.content).toEqual('Hello, World!'); + expect(response.data.createOwnerReadProtected.owner).toEqual(USERNAME2); + + const response2 = await GRAPHQL_CLIENT_3.query( + `query { + getOwnerReadProtected(id: "${response.data.createOwnerReadProtected.id}", sk:"2") { + id content owner + } + }`, + {}, + ); + expect(response2.data.getOwnerReadProtected).toBeNull(); + expect(response2.errors).toHaveLength(1); + + const response3 = await GRAPHQL_CLIENT_2.query( + `query { + getOwnerReadProtected(id: "${response.data.createOwnerReadProtected.id}", sk:"2") { + id content owner + } + }`, + {}, + ); + expect(response3.data.getOwnerReadProtected.id).toBeDefined(); + expect(response3.data.getOwnerReadProtected.content).toEqual('Hello, World!'); + expect(response3.data.getOwnerReadProtected.owner).toEqual(USERNAME2); + + const response4 = await GRAPHQL_CLIENT_2.query( + `query { + listOwnerReadProtecteds(id: "1") { + items { + id content owner + } + } + }`, + {}, + ); + expect(response4.data.listOwnerReadProtecteds.items.length).toEqual(1); + + const response5 = await GRAPHQL_CLIENT_3.query( + `query { + listOwnerReadProtecteds { + items { + id content owner + } + } + }`, + {}, + ); + expect(response5.data.listOwnerReadProtecteds.items).toHaveLength(0); + }); + + test("Test createOwnerCreateUpdateDeleteProtected with 'create' operation set", async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createOwnerCreateUpdateDeleteProtected(input: { content: "Hello, World!", owner: "${USERNAME1}" }) { + id + content + owner + } + }`, + {}, + ); + expect(response.data.createOwnerCreateUpdateDeleteProtected.id).toBeDefined(); + expect(response.data.createOwnerCreateUpdateDeleteProtected.content).toEqual('Hello, World!'); + expect(response.data.createOwnerCreateUpdateDeleteProtected.owner).toEqual(USERNAME1); + + const response2 = await GRAPHQL_CLIENT_1.query( + `mutation { + createOwnerCreateUpdateDeleteProtected(input: { content: "Hello, World!", owner: "${USERNAME2}" }) { + id + content + owner + } + }`, + {}, + ); + expect(response2.data.createOwnerCreateUpdateDeleteProtected).toBeNull(); + expect(response2.errors).toHaveLength(1); + }); + + test("Test updateOwnerCreateUpdateDeleteProtected with 'update' operation set", async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createOwnerCreateUpdateDeleteProtected(input: { content: "Hello, World!", owner: "${USERNAME1}" }) { + id + content + owner + } + }`, + {}, + ); + expect(response.data.createOwnerCreateUpdateDeleteProtected.id).toBeDefined(); + expect(response.data.createOwnerCreateUpdateDeleteProtected.content).toEqual('Hello, World!'); + expect(response.data.createOwnerCreateUpdateDeleteProtected.owner).toEqual(USERNAME1); + + const response2 = await GRAPHQL_CLIENT_2.query( + `mutation { + updateOwnerCreateUpdateDeleteProtected( + input: { + id: "${response.data.createOwnerCreateUpdateDeleteProtected.id}", + content: "Bye, World!" + } + ) { + id + content + owner + } + }`, + {}, + ); + expect(response2.data.updateOwnerCreateUpdateDeleteProtected).toBeNull(); + expect(response2.errors).toHaveLength(1); + + const response3 = await GRAPHQL_CLIENT_1.query( + `mutation { + updateOwnerCreateUpdateDeleteProtected( + input: { + id: "${response.data.createOwnerCreateUpdateDeleteProtected.id}", + content: "Bye, World!" + } + ) { + id + content + owner + } + }`, + {}, + ); + expect(response3.data.updateOwnerCreateUpdateDeleteProtected.id).toBeDefined(); + expect(response3.data.updateOwnerCreateUpdateDeleteProtected.content).toEqual('Bye, World!'); + expect(response3.data.updateOwnerCreateUpdateDeleteProtected.owner).toEqual(USERNAME1); + }); + + test("Test deleteOwnerCreateUpdateDeleteProtected with 'update' operation set", async () => { + const response = await GRAPHQL_CLIENT_1.query( + `mutation { + createOwnerCreateUpdateDeleteProtected(input: { content: "Hello, World!", owner: "${USERNAME1}" }) { + id + content + owner + } + }`, + {}, + ); + expect(response.data.createOwnerCreateUpdateDeleteProtected.id).toBeDefined(); + expect(response.data.createOwnerCreateUpdateDeleteProtected.content).toEqual('Hello, World!'); + expect(response.data.createOwnerCreateUpdateDeleteProtected.owner).toEqual(USERNAME1); + + const response2 = await GRAPHQL_CLIENT_2.query( + `mutation { + deleteOwnerCreateUpdateDeleteProtected( + input: { + id: "${response.data.createOwnerCreateUpdateDeleteProtected.id}" + } + ) { + id + content + owner + } + }`, + {}, + ); + expect(response2.data.deleteOwnerCreateUpdateDeleteProtected).toBeNull(); + expect(response2.errors).toHaveLength(1); + + const response3 = await GRAPHQL_CLIENT_1.query( + `mutation { + deleteOwnerCreateUpdateDeleteProtected( + input: { + id: "${response.data.createOwnerCreateUpdateDeleteProtected.id}" + } + ) { + id + content + owner + } + }`, + {}, + ); + expect(response3.data.deleteOwnerCreateUpdateDeleteProtected.id).toBeDefined(); + expect(response3.data.deleteOwnerCreateUpdateDeleteProtected.content).toEqual('Hello, World!'); + expect(response3.data.deleteOwnerCreateUpdateDeleteProtected.owner).toEqual(USERNAME1); + }); + + test('Test allow private combined with groups as Admin and non-admin users', async () => { + const create = `mutation { + p1: createPerformance(input: { + id: "P1" + performer: "Perf #1" + description: "Description" + time: "2019-11-11T00:00:00Z" + performanceStageId: "S1" + }) { + id + } + + p2: createPerformance(input: { + id: "P2" + performer: "Perf #2" + description: "Description" + time: "2019-11-11T00:00:00Z" + performanceStageId: "S1" + }) { + id + } + + s1: createStage(input: { + id: "S1" + name: "Stage #1" + }) { + id + } + } + `; + + // Create as non-admin user, should fail + const response1 = await GRAPHQL_CLIENT_3.query(create, {}); + + expect(response1.data.p1).toBeNull(); + expect(response1.data.p2).toBeNull(); + expect(response1.data.s1).toBeNull(); + expect(response1.errors.length).toEqual(3); + expect((response1.errors[0] as any).errorType).toEqual('Unauthorized'); + expect((response1.errors[1] as any).errorType).toEqual('Unauthorized'); + expect((response1.errors[2] as any).errorType).toEqual('Unauthorized'); + + // Create as Admin, should succeed + const response2 = await GRAPHQL_CLIENT_1.query(create, {}); + + expect(response2.data.p1.id).toEqual('P1'); + expect(response2.data.p2.id).toEqual('P2'); + expect(response2.data.s1.id).toEqual('S1'); + + const update = `mutation { + updatePerformance(input: { + id: "P1" + performer: "Best Perf #1" + }) { + id + performer + } + } + `; + + // Update as non-admin user, should fail + const response3 = await GRAPHQL_CLIENT_3.query(update, {}); + + expect(response3.data.updatePerformance).toBeNull(); + expect(response3.errors.length).toEqual(1); + expect((response3.errors[0] as any).errorType).toEqual('Unauthorized'); + + // Update as Admin, should succeed + const response4 = await GRAPHQL_CLIENT_1.query(update, {}); + + expect(response4.data.updatePerformance.id).toEqual('P1'); + expect(response4.data.updatePerformance.performer).toEqual('Best Perf #1'); + + // List as non-admin and Admin user as well, should succeed + const list = `query List { + listPerformances { + items { + id + performer + description + time + stage { + name + } + } + } + } + `; + + const response5 = await GRAPHQL_CLIENT_3.query(list, {}); + + expect(response5.data.listPerformances).toBeDefined(); + expect(response5.data.listPerformances.items).toBeDefined(); + expect(response5.data.listPerformances.items.length).toEqual(2); + expect(response5.data.listPerformances.items[0].id).toEqual('P2'); + expect(response5.data.listPerformances.items[0].performer).toEqual('Perf #2'); + expect(response5.data.listPerformances.items[0].stage).toBeDefined(); + expect(response5.data.listPerformances.items[0].stage.name).toEqual('Stage #1'); + expect(response5.data.listPerformances.items[1].id).toEqual('P1'); + expect(response5.data.listPerformances.items[1].performer).toEqual('Best Perf #1'); + expect(response5.data.listPerformances.items[1].stage).toBeDefined(); + expect(response5.data.listPerformances.items[1].stage.name).toEqual('Stage #1'); + + const response6 = await GRAPHQL_CLIENT_1.query(list, {}); + + expect(response6.data.listPerformances).toBeDefined(); + expect(response6.data.listPerformances.items).toBeDefined(); + expect(response6.data.listPerformances.items.length).toEqual(2); + expect(response6.data.listPerformances.items[0].id).toEqual('P2'); + expect(response6.data.listPerformances.items[0].performer).toEqual('Perf #2'); + expect(response6.data.listPerformances.items[0].stage).toBeDefined(); + expect(response6.data.listPerformances.items[0].stage.name).toEqual('Stage #1'); + expect(response6.data.listPerformances.items[1].id).toEqual('P1'); + expect(response6.data.listPerformances.items[1].performer).toEqual('Best Perf #1'); + expect(response6.data.listPerformances.items[1].stage.name).toEqual('Stage #1'); + expect(response6.data.listPerformances.items[1].stage).toBeDefined(); + + // Get as non-admin and Admin user as well, should succeed + const get = `query Get { + getPerformance(id: "P1") { + id + performer + description + time + stage { + name + } + } + } + `; + + const response7 = await GRAPHQL_CLIENT_3.query(get, {}); + + expect(response7.data.getPerformance).toBeDefined(); + expect(response7.data.getPerformance.id).toEqual('P1'); + expect(response7.data.getPerformance.performer).toEqual('Best Perf #1'); + expect(response7.data.getPerformance.stage).toBeDefined(); + expect(response7.data.getPerformance.stage.name).toEqual('Stage #1'); + + const response8 = await GRAPHQL_CLIENT_1.query(get, {}); + + expect(response8.data.getPerformance).toBeDefined(); + expect(response8.data.getPerformance.id).toEqual('P1'); + expect(response8.data.getPerformance.performer).toEqual('Best Perf #1'); + expect(response8.data.getPerformance.stage).toBeDefined(); + expect(response8.data.getPerformance.stage.name).toEqual('Stage #1'); + + const deleteMutation = `mutation { + deletePerformance(input: { + id: "P1" + }) { + id + } + } + `; + + // Delete as non-admin user, should fail + const response9 = await GRAPHQL_CLIENT_3.query(deleteMutation, {}); + + expect(response9.data.deletePerformance).toBeNull(); + expect(response9.errors.length).toEqual(1); + expect((response9.errors[0] as any).errorType).toEqual('Unauthorized'); + + // Delete as Admin, should succeed + const response10 = await GRAPHQL_CLIENT_1.query(deleteMutation, {}); + + expect(response10.data.deletePerformance).toBeDefined(); + expect(response10.data.deletePerformance.id).toEqual('P1'); + }); + + test('Test authorized user can get Performance with no created stage', async () => { + const createPerf = `mutation { + create: createPerformance(input: { + id: "P3" + performer: "Perf #3" + description: "desc" + time: "2021-11-11T00:00:00Z" + }) { + id + performer + description + time + createdAt + updatedAt + } + }`; + + const getPerf = `query { + g1: getPerformance(id: "P3") { + id + performer + description + time + stage { + id + name + createdAt + updatedAt + } + createdAt + updatedAt + } + } + `; + + const createStage = `mutation { + createStage(input: {name: "stage3", id: "003"}) { + createdAt + id + name + updatedAt + } + }`; + + const updatePerf = `mutation { + u1: updatePerformance(input: {id: "P3", performanceStageId: "003"}) { + createdAt + description + id + performer + time + updatedAt + stage { + id + name + } + } + }`; + + // first make a query to the record 'P3' + const response1 = await GRAPHQL_CLIENT_1.query(getPerf, {}); + expect(response1).toBeDefined(); + expect(response1.data.g1).toBeNull(); + + // create performance and expect stage to be null + await GRAPHQL_CLIENT_1.query(createPerf, {}); + const response2 = await GRAPHQL_CLIENT_1.query(getPerf, {}); + expect(response2).toBeDefined(); + expect(response2.data.g1).toBeDefined(); + expect(response2.data.g1.id).toEqual('P3'); + expect(response2.data.g1.description).toEqual('desc'); + expect(response2.data.g1.stage).toBeNull(); + + //create stage and then add it to perf should show stage in perf + await GRAPHQL_CLIENT_1.query(createStage, {}); + const response3 = await GRAPHQL_CLIENT_1.query(updatePerf, {}); + expect(response3).toBeDefined(); + expect(response3.data.u1).toBeDefined(); + expect(response3.data.u1.id).toEqual('P3'); + expect(response3.data.u1.stage).toMatchObject({ + id: '003', + name: 'stage3', + }); + }); +}); diff --git a/packages/graphql-transformers-e2e-tests/src/deployNestedStacks.ts b/packages/graphql-transformers-e2e-tests/src/deployNestedStacks.ts index 2f13e615b2d..8970de56761 100644 --- a/packages/graphql-transformers-e2e-tests/src/deployNestedStacks.ts +++ b/packages/graphql-transformers-e2e-tests/src/deployNestedStacks.ts @@ -178,7 +178,7 @@ export async function deploy( } function addAPIKeys(stack: DeploymentResources) { - if (!stack.rootStack.Resources.GraphQLAPIKey) { + if (stack.rootStack.Parameters.CreateAPIKey && !stack.rootStack.Resources.GraphQLAPIKey) { stack.rootStack.Resources.GraphQLAPIKey = { Type: 'AWS::AppSync::ApiKey', Properties: { @@ -189,7 +189,7 @@ function addAPIKeys(stack: DeploymentResources) { }; } - if (!stack.rootStack.Outputs.GraphQLAPIKeyOutput) { + if (stack.rootStack.Parameters.CreateAPIKey && !stack.rootStack.Outputs.GraphQLAPIKeyOutput) { stack.rootStack.Outputs.GraphQLAPIKeyOutput = { Value: { 'Fn::GetAtt': ['GraphQLAPIKey', 'ApiKey'], From b4cbe97ea09f392469b4b84727db297228daf129 Mon Sep 17 00:00:00 2001 From: Colin Ihrig Date: Fri, 24 Sep 2021 15:28:23 -0400 Subject: [PATCH 51/64] fix: update dependency versions --- .circleci/config.yml | 202 ++++++++++-------- packages/amplify-category-api/package.json | 2 +- .../package.json | 10 +- 3 files changed, 122 insertions(+), 92 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ce6732cbf98..586e70fe008 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1195,6 +1195,14 @@ jobs: environment: TEST_SUITE: src/__tests__/schema-iterative-update-locking.test.ts CLI_REGION: eu-central-1 + sandbox-mode-amplify_e2e_tests: + working_directory: ~/repo + docker: *ref_1 + resource_class: large + steps: *ref_5 + environment: + TEST_SUITE: src/__tests__/sandbox-mode.test.ts + CLI_REGION: ap-northeast-1 s3-sse-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1202,7 +1210,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/s3-sse.test.ts - CLI_REGION: ap-northeast-1 + CLI_REGION: ap-southeast-1 pull-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1210,7 +1218,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/pull.test.ts - CLI_REGION: ap-southeast-1 + CLI_REGION: ap-southeast-2 migration-node-function-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1218,7 +1226,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/migration/node.function.test.ts - CLI_REGION: ap-southeast-2 + CLI_REGION: us-east-2 layer-2-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1226,7 +1234,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/layer-2.test.ts - CLI_REGION: us-east-2 + CLI_REGION: us-west-2 iam-permissions-boundary-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1234,7 +1242,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/iam-permissions-boundary.test.ts - CLI_REGION: us-west-2 + CLI_REGION: eu-west-2 hooks-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1242,7 +1250,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/hooks.test.ts - CLI_REGION: eu-west-2 + CLI_REGION: eu-central-1 function_7-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1250,7 +1258,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/function_7.test.ts - CLI_REGION: eu-central-1 + CLI_REGION: ap-northeast-1 function_6-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1258,7 +1266,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/function_6.test.ts - CLI_REGION: ap-northeast-1 + CLI_REGION: ap-southeast-1 function_5-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1266,7 +1274,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/function_5.test.ts - CLI_REGION: ap-southeast-1 + CLI_REGION: ap-southeast-2 frontend_config_drift-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1274,7 +1282,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/frontend_config_drift.test.ts - CLI_REGION: ap-southeast-2 + CLI_REGION: us-east-2 container-hosting-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1282,7 +1290,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/container-hosting.test.ts - CLI_REGION: us-east-2 + CLI_REGION: us-west-2 configure-project-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1290,7 +1298,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/configure-project.test.ts - CLI_REGION: us-west-2 + CLI_REGION: eu-west-2 auth_6-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1298,7 +1306,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/auth_6.test.ts - CLI_REGION: eu-west-2 + CLI_REGION: eu-central-1 api_5-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1306,7 +1314,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/api_5.test.ts - CLI_REGION: eu-central-1 + CLI_REGION: ap-northeast-1 api_4-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1314,7 +1322,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/api_4.test.ts - CLI_REGION: ap-northeast-1 + CLI_REGION: ap-southeast-1 schema-iterative-update-4-amplify_e2e_tests_pkg_linux: working_directory: ~/repo docker: *ref_1 @@ -1985,6 +1993,16 @@ jobs: TEST_SUITE: src/__tests__/schema-iterative-update-locking.test.ts CLI_REGION: eu-central-1 steps: *ref_6 + sandbox-mode-amplify_e2e_tests_pkg_linux: + working_directory: ~/repo + docker: *ref_1 + resource_class: large + environment: + AMPLIFY_DIR: /home/circleci/repo/out + AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux + TEST_SUITE: src/__tests__/sandbox-mode.test.ts + CLI_REGION: ap-northeast-1 + steps: *ref_6 s3-sse-amplify_e2e_tests_pkg_linux: working_directory: ~/repo docker: *ref_1 @@ -1993,7 +2011,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/s3-sse.test.ts - CLI_REGION: ap-northeast-1 + CLI_REGION: ap-southeast-1 steps: *ref_6 pull-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2003,7 +2021,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/pull.test.ts - CLI_REGION: ap-southeast-1 + CLI_REGION: ap-southeast-2 steps: *ref_6 migration-node-function-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2013,7 +2031,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/migration/node.function.test.ts - CLI_REGION: ap-southeast-2 + CLI_REGION: us-east-2 steps: *ref_6 layer-2-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2023,7 +2041,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/layer-2.test.ts - CLI_REGION: us-east-2 + CLI_REGION: us-west-2 steps: *ref_6 iam-permissions-boundary-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2033,7 +2051,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/iam-permissions-boundary.test.ts - CLI_REGION: us-west-2 + CLI_REGION: eu-west-2 steps: *ref_6 hooks-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2043,7 +2061,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/hooks.test.ts - CLI_REGION: eu-west-2 + CLI_REGION: eu-central-1 steps: *ref_6 function_7-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2053,7 +2071,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/function_7.test.ts - CLI_REGION: eu-central-1 + CLI_REGION: ap-northeast-1 steps: *ref_6 function_6-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2063,7 +2081,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/function_6.test.ts - CLI_REGION: ap-northeast-1 + CLI_REGION: ap-southeast-1 steps: *ref_6 function_5-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2073,7 +2091,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/function_5.test.ts - CLI_REGION: ap-southeast-1 + CLI_REGION: ap-southeast-2 steps: *ref_6 frontend_config_drift-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2083,7 +2101,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/frontend_config_drift.test.ts - CLI_REGION: ap-southeast-2 + CLI_REGION: us-east-2 steps: *ref_6 container-hosting-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2093,7 +2111,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/container-hosting.test.ts - CLI_REGION: us-east-2 + CLI_REGION: us-west-2 steps: *ref_6 configure-project-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2103,7 +2121,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/configure-project.test.ts - CLI_REGION: us-west-2 + CLI_REGION: eu-west-2 steps: *ref_6 auth_6-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2113,7 +2131,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/auth_6.test.ts - CLI_REGION: eu-west-2 + CLI_REGION: eu-central-1 steps: *ref_6 api_5-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2123,7 +2141,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/api_5.test.ts - CLI_REGION: eu-central-1 + CLI_REGION: ap-northeast-1 steps: *ref_6 api_4-amplify_e2e_tests_pkg_linux: working_directory: ~/repo @@ -2133,7 +2151,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/api_4.test.ts - CLI_REGION: ap-northeast-1 + CLI_REGION: ap-southeast-1 steps: *ref_6 workflows: version: 2 @@ -2239,62 +2257,62 @@ workflows: requires: - interactions-amplify_e2e_tests - datastore-modelgen-amplify_e2e_tests - - layer-2-amplify_e2e_tests - - container-hosting-amplify_e2e_tests + - migration-node-function-amplify_e2e_tests + - frontend_config_drift-amplify_e2e_tests - schema-data-access-patterns-amplify_e2e_tests - init-special-case-amplify_e2e_tests - - iam-permissions-boundary-amplify_e2e_tests - - configure-project-amplify_e2e_tests + - layer-2-amplify_e2e_tests + - container-hosting-amplify_e2e_tests - schema-versioned-amplify_e2e_tests - plugin-amplify_e2e_tests - - hooks-amplify_e2e_tests - - auth_6-amplify_e2e_tests + - iam-permissions-boundary-amplify_e2e_tests + - configure-project-amplify_e2e_tests - notifications-amplify_e2e_tests - schema-iterative-update-locking-amplify_e2e_tests + - hooks-amplify_e2e_tests + - auth_6-amplify_e2e_tests + - tags-amplify_e2e_tests + - sandbox-mode-amplify_e2e_tests - function_7-amplify_e2e_tests - api_5-amplify_e2e_tests - - tags-amplify_e2e_tests + - init-amplify_e2e_tests - s3-sse-amplify_e2e_tests - function_6-amplify_e2e_tests - api_4-amplify_e2e_tests - - amplify-app-amplify_e2e_tests - - init-amplify_e2e_tests - - pull-amplify_e2e_tests - - function_5-amplify_e2e_tests - schema-predictions-amplify_e2e_tests - amplify-configure-amplify_e2e_tests - - migration-node-function-amplify_e2e_tests - - frontend_config_drift-amplify_e2e_tests + - pull-amplify_e2e_tests + - function_5-amplify_e2e_tests - done_with_pkg_linux_e2e_tests: requires: - interactions-amplify_e2e_tests_pkg_linux - datastore-modelgen-amplify_e2e_tests_pkg_linux - - layer-2-amplify_e2e_tests_pkg_linux - - container-hosting-amplify_e2e_tests_pkg_linux + - migration-node-function-amplify_e2e_tests_pkg_linux + - frontend_config_drift-amplify_e2e_tests_pkg_linux - schema-data-access-patterns-amplify_e2e_tests_pkg_linux - init-special-case-amplify_e2e_tests_pkg_linux - - iam-permissions-boundary-amplify_e2e_tests_pkg_linux - - configure-project-amplify_e2e_tests_pkg_linux + - layer-2-amplify_e2e_tests_pkg_linux + - container-hosting-amplify_e2e_tests_pkg_linux - schema-versioned-amplify_e2e_tests_pkg_linux - plugin-amplify_e2e_tests_pkg_linux - - hooks-amplify_e2e_tests_pkg_linux - - auth_6-amplify_e2e_tests_pkg_linux + - iam-permissions-boundary-amplify_e2e_tests_pkg_linux + - configure-project-amplify_e2e_tests_pkg_linux - notifications-amplify_e2e_tests_pkg_linux - schema-iterative-update-locking-amplify_e2e_tests_pkg_linux + - hooks-amplify_e2e_tests_pkg_linux + - auth_6-amplify_e2e_tests_pkg_linux + - tags-amplify_e2e_tests_pkg_linux + - sandbox-mode-amplify_e2e_tests_pkg_linux - function_7-amplify_e2e_tests_pkg_linux - api_5-amplify_e2e_tests_pkg_linux - - tags-amplify_e2e_tests_pkg_linux + - init-amplify_e2e_tests_pkg_linux - s3-sse-amplify_e2e_tests_pkg_linux - function_6-amplify_e2e_tests_pkg_linux - api_4-amplify_e2e_tests_pkg_linux - - amplify-app-amplify_e2e_tests_pkg_linux - - init-amplify_e2e_tests_pkg_linux - - pull-amplify_e2e_tests_pkg_linux - - function_5-amplify_e2e_tests_pkg_linux - schema-predictions-amplify_e2e_tests_pkg_linux - amplify-configure-amplify_e2e_tests_pkg_linux - - migration-node-function-amplify_e2e_tests_pkg_linux - - frontend_config_drift-amplify_e2e_tests_pkg_linux + - pull-amplify_e2e_tests_pkg_linux + - function_5-amplify_e2e_tests_pkg_linux - amplify_migration_tests_latest: context: - amplify-ecr-image-pull @@ -2510,13 +2528,13 @@ workflows: filters: *ref_10 requires: - function_2-amplify_e2e_tests - - layer-2-amplify_e2e_tests: + - migration-node-function-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - schema-key-amplify_e2e_tests - - container-hosting-amplify_e2e_tests: + - frontend_config_drift-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 @@ -2582,13 +2600,13 @@ workflows: filters: *ref_10 requires: - delete-amplify_e2e_tests - - iam-permissions-boundary-amplify_e2e_tests: + - layer-2-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - schema-auth-10-amplify_e2e_tests - - configure-project-amplify_e2e_tests: + - container-hosting-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 @@ -2648,13 +2666,13 @@ workflows: filters: *ref_10 requires: - schema-auth-7-amplify_e2e_tests - - hooks-amplify_e2e_tests: + - iam-permissions-boundary-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - schema-auth-3-amplify_e2e_tests - - auth_6-amplify_e2e_tests: + - configure-project-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 @@ -2720,13 +2738,13 @@ workflows: filters: *ref_10 requires: - schema-iterative-update-1-amplify_e2e_tests - - function_7-amplify_e2e_tests: + - hooks-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - geo-remove-amplify_e2e_tests - - api_5-amplify_e2e_tests: + - auth_6-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 @@ -2786,19 +2804,19 @@ workflows: filters: *ref_10 requires: - migration-api-key-migration1-amplify_e2e_tests - - s3-sse-amplify_e2e_tests: + - sandbox-mode-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - function_3-amplify_e2e_tests - - function_6-amplify_e2e_tests: + - function_7-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - geo-update-amplify_e2e_tests - - api_4-amplify_e2e_tests: + - api_5-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 @@ -2864,18 +2882,24 @@ workflows: filters: *ref_10 requires: - auth_5-amplify_e2e_tests - - pull-amplify_e2e_tests: + - s3-sse-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - geo-add-amplify_e2e_tests - - function_5-amplify_e2e_tests: + - function_6-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - hostingPROD-amplify_e2e_tests + - api_4-amplify_e2e_tests: + context: *ref_8 + post-steps: *ref_9 + filters: *ref_10 + requires: + - amplify-app-amplify_e2e_tests - schema-iterative-update-3-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 @@ -2930,13 +2954,13 @@ workflows: filters: *ref_10 requires: - auth_3-amplify_e2e_tests - - migration-node-function-amplify_e2e_tests: + - pull-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 requires: - auth_1-amplify_e2e_tests - - frontend_config_drift-amplify_e2e_tests: + - function_5-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 @@ -3016,13 +3040,13 @@ workflows: filters: *ref_13 requires: - function_2-amplify_e2e_tests_pkg_linux - - layer-2-amplify_e2e_tests_pkg_linux: + - migration-node-function-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - schema-key-amplify_e2e_tests_pkg_linux - - container-hosting-amplify_e2e_tests_pkg_linux: + - frontend_config_drift-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 @@ -3092,13 +3116,13 @@ workflows: filters: *ref_13 requires: - delete-amplify_e2e_tests_pkg_linux - - iam-permissions-boundary-amplify_e2e_tests_pkg_linux: + - layer-2-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - schema-auth-10-amplify_e2e_tests_pkg_linux - - configure-project-amplify_e2e_tests_pkg_linux: + - container-hosting-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 @@ -3162,13 +3186,13 @@ workflows: filters: *ref_13 requires: - schema-auth-7-amplify_e2e_tests_pkg_linux - - hooks-amplify_e2e_tests_pkg_linux: + - iam-permissions-boundary-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - schema-auth-3-amplify_e2e_tests_pkg_linux - - auth_6-amplify_e2e_tests_pkg_linux: + - configure-project-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 @@ -3238,13 +3262,13 @@ workflows: filters: *ref_13 requires: - schema-iterative-update-1-amplify_e2e_tests_pkg_linux - - function_7-amplify_e2e_tests_pkg_linux: + - hooks-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - geo-remove-amplify_e2e_tests_pkg_linux - - api_5-amplify_e2e_tests_pkg_linux: + - auth_6-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 @@ -3308,19 +3332,19 @@ workflows: filters: *ref_13 requires: - migration-api-key-migration1-amplify_e2e_tests_pkg_linux - - s3-sse-amplify_e2e_tests_pkg_linux: + - sandbox-mode-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - function_3-amplify_e2e_tests_pkg_linux - - function_6-amplify_e2e_tests_pkg_linux: + - function_7-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - geo-update-amplify_e2e_tests_pkg_linux - - api_4-amplify_e2e_tests_pkg_linux: + - api_5-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 @@ -3390,18 +3414,24 @@ workflows: filters: *ref_13 requires: - auth_5-amplify_e2e_tests_pkg_linux - - pull-amplify_e2e_tests_pkg_linux: + - s3-sse-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - geo-add-amplify_e2e_tests_pkg_linux - - function_5-amplify_e2e_tests_pkg_linux: + - function_6-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - hostingPROD-amplify_e2e_tests_pkg_linux + - api_4-amplify_e2e_tests_pkg_linux: + context: *ref_11 + post-steps: *ref_12 + filters: *ref_13 + requires: + - amplify-app-amplify_e2e_tests_pkg_linux - schema-iterative-update-3-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 @@ -3460,13 +3490,13 @@ workflows: filters: *ref_13 requires: - auth_3-amplify_e2e_tests_pkg_linux - - migration-node-function-amplify_e2e_tests_pkg_linux: + - pull-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 requires: - auth_1-amplify_e2e_tests_pkg_linux - - frontend_config_drift-amplify_e2e_tests_pkg_linux: + - function_5-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index 758d7c2b2f3..c0782f4498c 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -66,7 +66,7 @@ "amplify-cli-core": "1.29.0", "amplify-headless-interface": "1.10.0", "amplify-prompts": "1.1.2", - "amplify-provider-awscloudformation": "4.56.1", + "amplify-provider-awscloudformation": "4.60.1", "amplify-util-headless-input": "1.5.4", "chalk": "^4.1.1", "constructs": "^3.3.125", diff --git a/packages/amplify-graphql-auth-transformer/package.json b/packages/amplify-graphql-auth-transformer/package.json index f8e49efdfbb..ebc00cbae9d 100644 --- a/packages/amplify-graphql-auth-transformer/package.json +++ b/packages/amplify-graphql-auth-transformer/package.json @@ -30,10 +30,10 @@ "@aws-amplify/graphql-transformer-core": "0.9.0", "@aws-amplify/graphql-transformer-interfaces": "1.9.0", "@aws-amplify/graphql-model-transformer": "0.6.2", - "@aws-cdk/aws-appsync": "~1.119.0", - "@aws-cdk/aws-dynamodb": "~1.119.0", - "@aws-cdk/core": "~1.119.0", - "@aws-cdk/aws-iam": "~1.119.0", + "@aws-cdk/aws-appsync": "~1.124.0", + "@aws-cdk/aws-dynamodb": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "@aws-cdk/aws-iam": "~1.124.0", "constructs": "^3.3.125", "graphql": "^14.5.8", "graphql-mapping-template": "4.18.3", @@ -45,7 +45,7 @@ "@aws-amplify/graphql-relational-transformer": "0.2.1", "@aws-amplify/graphql-searchable-transformer": "0.6.0", "@types/fs-extra": "^8.0.1", - "@aws-cdk/assert": "~1.72.0", + "@aws-cdk/assert": "~1.124.0", "@types/node": "^12.12.6" }, "jest": { From 31585492fd4c358903d68d9640e9ac53e9b32eef Mon Sep 17 00:00:00 2001 From: Danielle Adams <6271256+danielleadams@users.noreply.github.com> Date: Fri, 24 Sep 2021 12:32:11 -0700 Subject: [PATCH 52/64] feat(amplify-provider-awscloudformation): match env directive field for sandbox mode (#3) --- .../provider-utils/api-artifact-handler.ts | 6 +- .../cfn-api-artifact-handler.ts | 19 ++-- .../prompt-to-add-api-key.ts | 21 ++-- packages/amplify-cli-core/src/index.ts | 1 - .../show-global-sandbox-mode-warning.test.ts | 105 ------------------ packages/amplify-cli/src/commands/status.ts | 1 - .../amplify-cli/src/domain/amplify-toolkit.ts | 7 -- .../prompt-sandbox-mode-api-key.ts | 19 ---- .../amplify-helpers/push-resources.ts | 3 - .../show-global-sandbox-mode-warning.ts | 31 ------ .../src/resolvers/common.ts | 2 +- .../src/graphql-api.ts | 6 +- .../src/index.ts | 2 - .../src/transformation/transform.ts | 5 +- .../src/utils/index.ts | 1 - .../src/utils/sandbox-mode.ts | 16 --- .../__tests__/utils/api-key-helpers.test.ts} | 63 +++++------ .../utils/sandbox-mode-helpers.test.ts | 77 +++++++++++++ .../transform-graphql-schema.ts | 16 ++- .../src/push-resources.ts | 1 + .../src/utils/api-key-helpers.ts} | 9 +- .../src/utils/sandbox-mode-helpers.ts | 51 +++++++++ 22 files changed, 210 insertions(+), 252 deletions(-) delete mode 100644 packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts delete mode 100644 packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts delete mode 100644 packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts delete mode 100644 packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts rename packages/{amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts => amplify-provider-awscloudformation/src/__tests__/utils/api-key-helpers.test.ts} (58%) create mode 100644 packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts rename packages/{amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts => amplify-provider-awscloudformation/src/utils/api-key-helpers.ts} (83%) create mode 100644 packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts diff --git a/packages/amplify-category-api/src/provider-utils/api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/api-artifact-handler.ts index a3b7de27c51..7dbab41d779 100644 --- a/packages/amplify-category-api/src/provider-utils/api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/api-artifact-handler.ts @@ -1,6 +1,10 @@ import { AddApiRequest, UpdateApiRequest } from 'amplify-headless-interface'; +export interface ApiArtifactHandlerOptions { + skipCompile?: boolean; +} + export interface ApiArtifactHandler { createArtifacts(request: AddApiRequest): Promise; - updateArtifacts(request: UpdateApiRequest): Promise; + updateArtifacts(request: UpdateApiRequest, opts?: ApiArtifactHandlerOptions): Promise; } diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts index ecf2dddbd55..f06fc279414 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/cfn-api-artifact-handler.ts @@ -1,4 +1,4 @@ -import { isResourceNameUnique, FeatureFlags } from 'amplify-cli-core'; +import { isResourceNameUnique } from 'amplify-cli-core'; import { AddApiRequest, AppSyncServiceConfiguration, @@ -12,7 +12,7 @@ import _ from 'lodash'; import * as path from 'path'; import uuid from 'uuid'; import { category } from '../../category-constants'; -import { ApiArtifactHandler } from '../api-artifact-handler'; +import { ApiArtifactHandler, ApiArtifactHandlerOptions } from '../api-artifact-handler'; import { cfnParametersFilename, gqlSchemaFilename, provider, rootAssetDir } from './aws-constants'; import { authConfigHasApiKey, checkIfAuthExists, getAppSyncAuthConfig, getAppSyncResourceName } from './utils/amplify-meta-utils'; import { appSyncAuthTypeToAuthConfig } from './utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; @@ -96,7 +96,7 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { // TODO once the AddApiRequest contains multiple services this class should depend on an ApiArtifactHandler // for each service and delegate to the correct one - updateArtifacts = async (request: UpdateApiRequest): Promise => { + updateArtifacts = async (request: UpdateApiRequest, opts?: ApiArtifactHandlerOptions): Promise => { const updates = request.serviceModification; const apiName = getAppSyncResourceName(this.context.amplify.getProjectMeta()); if (!apiName) { @@ -118,11 +118,14 @@ class CfnApiArtifactHandler implements ApiArtifactHandler { if (updates.additionalAuthTypes) { authConfig.additionalAuthenticationProviders = updates.additionalAuthTypes.map(appSyncAuthTypeToAuthConfig); } - await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { - resourceDir, - parameters: this.getCfnParameters(apiName, authConfig, resourceDir), - authConfig, - }); + + if (!opts?.skipCompile) { + await this.context.amplify.executeProviderUtils(this.context, 'awscloudformation', 'compileSchema', { + resourceDir, + parameters: this.getCfnParameters(apiName, authConfig, resourceDir), + authConfig, + }); + } this.context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); this.context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts index 5184b0d3dbb..4e3a92b5ea4 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/prompt-to-add-api-key.ts @@ -4,17 +4,24 @@ import { authConfigToAppSyncAuthType } from './utils/auth-config-to-app-sync-aut import { getCfnApiArtifactHandler } from './cfn-api-artifact-handler'; import { prompter } from 'amplify-prompts'; -export async function promptToAddApiKey(context: $TSContext): Promise { +export async function promptToAddApiKey(context: $TSContext): Promise { if (await prompter.confirmContinue('Would you like to create an API Key?')) { const apiKeyConfig = await askApiKeyQuestions(); const authConfig = [apiKeyConfig]; - await getCfnApiArtifactHandler(context).updateArtifacts({ - version: 1, - serviceModification: { - serviceName: 'AppSync', - additionalAuthTypes: authConfig.map(authConfigToAppSyncAuthType), + await getCfnApiArtifactHandler(context).updateArtifacts( + { + version: 1, + serviceModification: { + serviceName: 'AppSync', + additionalAuthTypes: authConfig.map(authConfigToAppSyncAuthType), + }, }, - }); + { + skipCompile: true, + }, + ); + + return apiKeyConfig; } } diff --git a/packages/amplify-cli-core/src/index.ts b/packages/amplify-cli-core/src/index.ts index 9a37fa701cd..c4ad0a04041 100644 --- a/packages/amplify-cli-core/src/index.ts +++ b/packages/amplify-cli-core/src/index.ts @@ -265,7 +265,6 @@ interface AmplifyToolkit { ) => $TSAny; sharedQuestions: () => $TSAny; showAllHelp: () => $TSAny; - showGlobalSandboxModeWarning: (context: $TSContext) => $TSAny; showHelp: (header: string, commands: { name: string; description: string }[]) => $TSAny; showHelpfulProviderLinks: (context: $TSContext) => $TSAny; showResourceTable: () => $TSAny; diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts b/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts deleted file mode 100644 index 2938d65216e..00000000000 --- a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/show-global-sandbox-mode-warning.test.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { - globalSandboxModeEnabled, - showGlobalSandboxModeWarning, -} from '../../../extensions/amplify-helpers/show-global-sandbox-mode-warning'; -import { $TSContext } from '../../../../../amplify-cli-core/lib'; -import fs from 'fs'; -import chalk from 'chalk'; - -let ctx, amplifyMeta; - -jest.mock('amplify-cli-core', () => ({ - stateManager: { - getMeta: jest.fn(() => JSON.parse(amplifyMeta.toString())), - }, -})); - -describe('global sandbox mode warning', () => { - beforeEach(() => { - const envName = 'dev'; - ctx = { - amplify: { - getEnvInfo() { - return { envName }; - }, - }, - print: { - info() { - // noop - }, - }, - } as unknown as $TSContext; - }); - - describe('globalSandboxModeEnabled', () => { - describe('enabled', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); - }); - - it('returns true', async () => { - expect(globalSandboxModeEnabled(ctx)).toBe(true); - }); - }); - - describe('not specified', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-2.json`); - }); - - it('returns false', async () => { - expect(globalSandboxModeEnabled(ctx)).toBe(false); - }); - }); - }); - - describe('showGlobalSandboxModeWarning', () => { - describe('sandbox mode enabled', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); - }); - - it('prints warning message', async () => { - jest.spyOn(ctx.print, 'info'); - - await showGlobalSandboxModeWarning(ctx); - - expect(ctx.print.info).toBeCalledWith(` -${chalk.yellow(`⚠️ WARNING: ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} in your GraphQL schema -allows public create, read, update, and delete access to all models via API Key. This -should only be used for testing purposes. API Key expiration date is: 8/20/2021 - -To configure PRODUCTION-READY authorization rules, review: https://docs.amplify.aws/cli/graphql-transformer/auth`)} -`); - }); - }); - - describe('sandbox mode not specified', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-2.json`); - }); - - it('does not print warning', async () => { - jest.spyOn(ctx.print, 'info'); - - await showGlobalSandboxModeWarning(ctx); - - expect(ctx.print.info).toBeCalledTimes(0); - }); - }); - - describe('no api key config', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-3.json`); - }); - - it('does not print warning', async () => { - jest.spyOn(ctx.print, 'info'); - - await showGlobalSandboxModeWarning(ctx); - - expect(ctx.print.info).toBeCalledTimes(0); - }); - }); - }); -}); diff --git a/packages/amplify-cli/src/commands/status.ts b/packages/amplify-cli/src/commands/status.ts index c821f9c1c94..b9dad7bf397 100644 --- a/packages/amplify-cli/src/commands/status.ts +++ b/packages/amplify-cli/src/commands/status.ts @@ -13,7 +13,6 @@ export const run = async (context: $TSContext) => { } else { try { await context.amplify.showStatusTable(view); - await context.amplify.showGlobalSandboxModeWarning(context); await context.amplify.showHelpfulProviderLinks(context); await showAmplifyConsoleHostingStatus(context); } catch (e) { diff --git a/packages/amplify-cli/src/domain/amplify-toolkit.ts b/packages/amplify-cli/src/domain/amplify-toolkit.ts index 512d7fefd9c..046f9fbbb3f 100644 --- a/packages/amplify-cli/src/domain/amplify-toolkit.ts +++ b/packages/amplify-cli/src/domain/amplify-toolkit.ts @@ -38,7 +38,6 @@ export class AmplifyToolkit { private _removeResource: any; private _sharedQuestions: any; private _showAllHelp: any; - private _showGlobalSandboxModeWarning: any; private _showHelp: any; private _showHelpfulProviderLinks: any; private _showResourceTable: any; @@ -241,12 +240,6 @@ export class AmplifyToolkit { this._sharedQuestions = this._sharedQuestions || require(path.join(this._amplifyHelpersDirPath, 'shared-questions')).sharedQuestions; return this._sharedQuestions; } - get showGlobalSandboxModeWarning(): any { - this._showGlobalSandboxModeWarning = - this._showGlobalSandboxModeWarning || - require(path.join(this._amplifyHelpersDirPath, 'show-global-sandbox-mode-warning')).showGlobalSandboxModeWarning; - return this._showGlobalSandboxModeWarning; - } get showHelp(): any { this._showHelp = this._showHelp || require(path.join(this._amplifyHelpersDirPath, 'show-help')).showHelp; return this._showHelp; diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts b/packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts deleted file mode 100644 index 9beb0eda74a..00000000000 --- a/packages/amplify-cli/src/extensions/amplify-helpers/prompt-sandbox-mode-api-key.ts +++ /dev/null @@ -1,19 +0,0 @@ -import chalk from 'chalk'; -import { $TSContext } from 'amplify-cli-core'; -import { promptToAddApiKey } from 'amplify-category-api'; -import { globalSandboxModeEnabled, showGlobalSandboxModeWarning } from './show-global-sandbox-mode-warning'; -import { apiKeyIsActive, hasApiKey } from './get-api-key-config'; - -export async function promptSandboxModeApiKey(context: $TSContext): Promise { - if (globalSandboxModeEnabled(context)) { - if (!apiKeyIsActive() || !hasApiKey()) { - context.print.info(` -⚠️ WARNING: Global Sandbox Mode has been enabled, which requires a valid API key. If -you'd like to disable, remove ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} -from your GraphQL schema and run 'amplify push' again. If you'd like to proceed with -sandbox mode disabled in '${context.amplify.getEnvInfo().envName}', do not create an API Key. -`); - await promptToAddApiKey(context); - } else showGlobalSandboxModeWarning(context); - } -} diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts index c5381ed67a2..3b86fc0c5e2 100644 --- a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts +++ b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts @@ -5,7 +5,6 @@ import { initializeEnv } from '../../initialize-env'; import { getProviderPlugins } from './get-provider-plugins'; import { getEnvInfo } from './get-env-info'; import { EnvironmentDoesNotExistError, exitOnNextTick, stateManager, $TSAny, $TSContext } from 'amplify-cli-core'; -import { promptSandboxModeApiKey } from './prompt-sandbox-mode-api-key'; export async function pushResources( context: $TSContext, @@ -74,8 +73,6 @@ export async function pushResources( continueToPush = await context.amplify.confirmPrompt('Are you sure you want to continue?'); } - await promptSandboxModeApiKey(context); - if (continueToPush) { // Get current-cloud-backend's amplify-meta const currentAmplifyMeta = stateManager.getCurrentMeta(); diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts b/packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts deleted file mode 100644 index c3171b8a666..00000000000 --- a/packages/amplify-cli/src/extensions/amplify-helpers/show-global-sandbox-mode-warning.ts +++ /dev/null @@ -1,31 +0,0 @@ -import chalk from 'chalk'; -import { $TSContext } from 'amplify-cli-core'; -import { getAppSyncApiConfig, getApiKeyConfig } from './get-api-key-config'; - -export function globalSandboxModeEnabled(context: $TSContext): boolean { - const appSyncApi = getAppSyncApiConfig(); - const currEnvName = context.amplify.getEnvInfo().envName; - const { globalSandboxModeConfig } = appSyncApi?.output || {}; - - if (!globalSandboxModeConfig) return false; - - return globalSandboxModeConfig.env === currEnvName; -} - -export function showGlobalSandboxModeWarning(context: $TSContext): void { - const apiKeyConfig = getApiKeyConfig(); - - if (!apiKeyConfig?.apiKeyExpirationDate) return; - - const expirationDate = new Date(apiKeyConfig.apiKeyExpirationDate); - - if (apiKeyConfig && globalSandboxModeEnabled(context)) { - context.print.info(` -${chalk.yellow(`⚠️ WARNING: ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} in your GraphQL schema -allows public create, read, update, and delete access to all models via API Key. This -should only be used for testing purposes. API Key expiration date is: ${expirationDate.toLocaleDateString()} - -To configure PRODUCTION-READY authorization rules, review: https://docs.amplify.aws/cli/graphql-transformer/auth`)} -`); - } -} diff --git a/packages/amplify-graphql-model-transformer/src/resolvers/common.ts b/packages/amplify-graphql-model-transformer/src/resolvers/common.ts index 3d3c367f43a..01c9059ac81 100644 --- a/packages/amplify-graphql-model-transformer/src/resolvers/common.ts +++ b/packages/amplify-graphql-model-transformer/src/resolvers/common.ts @@ -99,7 +99,7 @@ export const generateResolverKey = (typeName: string, fieldName: string): string * @param ctx context to get sandbox mode */ export const generateAuthExpressionForSandboxMode = (ctx: any): string => { - let enabled = ctx.resourceHelper.api.globalSandboxModeEnabled; + const enabled = ctx.resourceHelper.api.sandboxModeEnabled; let exp; if (enabled) exp = iff(notEquals(methodCall(ref('util.authType')), str(API_KEY)), methodCall(ref('util.unauthorized'))); diff --git a/packages/amplify-graphql-transformer-core/src/graphql-api.ts b/packages/amplify-graphql-transformer-core/src/graphql-api.ts index fba65cd31e8..21bcaf042b1 100644 --- a/packages/amplify-graphql-transformer-core/src/graphql-api.ts +++ b/packages/amplify-graphql-transformer-core/src/graphql-api.ts @@ -113,7 +113,7 @@ export class IamResource implements APIIAMResourceProvider { export type TransformerAPIProps = GraphqlApiProps & { readonly createApiKey?: boolean; readonly host?: TransformHostProvider; - readonly globalSandboxModeEnv?: string; + readonly sandboxModeEnabled?: boolean; }; export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { /** @@ -165,7 +165,7 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { /** * Global Sandbox Mode for GraphQL API */ - public readonly globalSandboxModeEnabled?: boolean; + public readonly sandboxModeEnabled?: boolean; private schemaResource: CfnGraphQLSchema; private api: CfnGraphQLApi; @@ -215,7 +215,7 @@ export class GraphQLApi extends GraphqlApiBase implements GraphQLAPIProvider { this.apiKey = this.apiKeyResource.attrApiKey; } - if (hasApiKey && !!props.globalSandboxModeEnv) this.globalSandboxModeEnabled = true; + if (hasApiKey && props.sandboxModeEnabled) this.sandboxModeEnabled = true; if (props.host) { this.host = props.host; diff --git a/packages/amplify-graphql-transformer-core/src/index.ts b/packages/amplify-graphql-transformer-core/src/index.ts index 6c6627b257c..3ab2126bd4f 100644 --- a/packages/amplify-graphql-transformer-core/src/index.ts +++ b/packages/amplify-graphql-transformer-core/src/index.ts @@ -18,8 +18,6 @@ export { collectDirectives, collectDirectivesByTypeNames, DirectiveWrapper, - getSandboxModeEnvNameFromDirectiveSet, - getSandboxModeEnvNameFromNodeMap, IAM_AUTH_ROLE_PARAMETER, IAM_UNAUTH_ROLE_PARAMETER, } from './utils'; diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts index 33ad0ffa85a..cd28a657cbc 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts @@ -44,7 +44,6 @@ import { sortTransformerPlugins, } from './utils'; import { validateModelSchema, validateAuthModes } from './validation'; -import { getSandboxModeEnvNameFromNodeMap } from '../utils/sandbox-mode'; // eslint-disable-next-line @typescript-eslint/ban-types function isFunction(obj: any): obj is Function { @@ -72,6 +71,7 @@ export interface GraphQLTransformOptions { readonly stacks?: Record; readonly featureFlags?: FeatureFlagProvider; readonly host?: TransformHostProvider; + readonly sandboxModeEnabled?: boolean; } export type StackMapping = { [resourceId: string]: string }; export class GraphQLTransform { @@ -261,13 +261,12 @@ export class GraphQLTransform { type: 'String', }).valueAsString; const envName = stackManager.getParameter('env'); - const globalSandboxModeEnv = getSandboxModeEnvNameFromNodeMap(output.nodeMap); assert(envName); const api = new GraphQLApi(rootStack, 'GraphQLAPI', { name: `${apiName}-${envName.valueAsString}`, authorizationConfig, host: this.options.host, - globalSandboxModeEnv, + sandboxModeEnabled: this.options.sandboxModeEnabled, }); const authModes = [authorizationConfig.defaultAuthorization, ...(authorizationConfig.additionalAuthorizationModes || [])].map( mode => mode?.authorizationType, diff --git a/packages/amplify-graphql-transformer-core/src/utils/index.ts b/packages/amplify-graphql-transformer-core/src/utils/index.ts index d8170ab56cb..7389a33dfb1 100644 --- a/packages/amplify-graphql-transformer-core/src/utils/index.ts +++ b/packages/amplify-graphql-transformer-core/src/utils/index.ts @@ -2,5 +2,4 @@ export { DirectiveWrapper } from './directive-wrapper'; export { collectDirectives, collectDirectivesByTypeNames } from './type-map-utils'; export { stripDirectives } from './strip-directives'; export { DEFAULT_SCHEMA_DEFINITION } from './defaultSchema'; -export { getSandboxModeEnvNameFromNodeMap, getSandboxModeEnvNameFromDirectiveSet } from './sandbox-mode'; export { IAM_AUTH_ROLE_PARAMETER, IAM_UNAUTH_ROLE_PARAMETER } from './authType'; diff --git a/packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts b/packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts deleted file mode 100644 index d580b53ce35..00000000000 --- a/packages/amplify-graphql-transformer-core/src/utils/sandbox-mode.ts +++ /dev/null @@ -1,16 +0,0 @@ -export function getSandboxModeEnvNameFromNodeMap(input: any): string { - const ampGlobalType: any = input.AMPLIFY_GLOBAL; - - if (!ampGlobalType) return ''; - - return getSandboxModeEnvNameFromDirectiveSet(ampGlobalType.directives); -} - -export function getSandboxModeEnvNameFromDirectiveSet(input: any): string { - const sandboxModeDirective = input.find((el: any) => el.name.value === 'allow_public_data_access_with_api_key'); - - if (!sandboxModeDirective) return ''; - - const inField = sandboxModeDirective.arguments.find((el: any) => el.name.value === 'in'); - return inField.value.value; -} diff --git a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/utils/api-key-helpers.test.ts similarity index 58% rename from packages/amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts rename to packages/amplify-provider-awscloudformation/src/__tests__/utils/api-key-helpers.test.ts index 26b38ec1f54..ac142f3421f 100644 --- a/packages/amplify-cli/src/__tests__/extensions/amplify-helpers/get-api-key-config.test.ts +++ b/packages/amplify-provider-awscloudformation/src/__tests__/utils/api-key-helpers.test.ts @@ -1,30 +1,46 @@ -import fs from 'fs'; -import { getAppSyncApiConfig, getApiKeyConfig, apiKeyIsActive, hasApiKey } from '../../../extensions/amplify-helpers/get-api-key-config'; - -let amplifyMeta; +import { getAppSyncApiConfig, getApiKeyConfig, apiKeyIsActive, hasApiKey } from '../../utils/api-key-helpers'; jest.mock('amplify-cli-core', () => { const original = jest.requireActual('amplify-cli-core'); + const amplifyMeta = { + api: { + myapp: { + service: 'AppSync', + output: { + authConfig: { + defaultAuthentication: { + authenticationType: 'AWS_IAM', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'API_KEY', + apiKeyConfig: { + apiKeyExpirationDays: 2, + apiKeyExpirationDate: '2021-08-20T20:38:07.585Z', + description: '', + }, + }, + ], + }, + }, + }, + }, + }; + return { ...original, stateManager: { - metaFileExists: jest.fn(), - getMeta: jest.fn().mockImplementation(() => JSON.parse(amplifyMeta.toString())), + getMeta: jest.fn().mockImplementation(() => amplifyMeta), }, }; }); describe('getAppSyncApiConfig', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); - }); - it('returns the api object', async () => { const result = getAppSyncApiConfig(); expect(result).toStrictEqual({ service: 'AppSync', - providerPlugin: 'awscloudformation', output: { authConfig: { defaultAuthentication: { @@ -41,19 +57,12 @@ describe('getAppSyncApiConfig', () => { }, ], }, - globalSandboxModeConfig: { - env: 'dev', - }, }, }); }); }); describe('getApiKeyConfig', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); - }); - it('returns the api key config', () => { const result = getApiKeyConfig(); @@ -67,20 +76,6 @@ describe('getApiKeyConfig', () => { describe('apiKeyIsActive', () => { describe('with expired key', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); - }); - - it('returns false', () => { - expect(apiKeyIsActive()).toBe(false); - }); - }); - - describe('with no api key config', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta-3.json`); - }); - it('returns false', () => { expect(apiKeyIsActive()).toBe(false); }); @@ -89,10 +84,6 @@ describe('apiKeyIsActive', () => { describe('hasApiKey', () => { describe('if api key config is present', () => { - beforeAll(() => { - amplifyMeta = fs.readFileSync(`${__dirname}/testData/mockLocalCloud/amplify-meta.json`); - }); - it('returns true if api key is present', () => { expect(hasApiKey()).toBe(true); }); diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts new file mode 100644 index 00000000000..47ec69fdfec --- /dev/null +++ b/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts @@ -0,0 +1,77 @@ +import * as helpers from '../../utils/sandbox-mode-helpers'; +import { $TSContext } from 'amplify-cli-core'; +import chalk from 'chalk'; +import * as prompts from 'amplify-prompts'; +import * as api from 'amplify-category-api'; +import * as apiKeyHelpers from '../../utils/api-key-helpers'; + +let ctx; +let apiKeyActive = true; +let apiKeyPresent = true; + +jest.mock('amplify-category-api', () => ({ + promptToAddApiKey: jest.fn(), +})); + +describe('sandbox mode helpers', () => { + beforeEach(() => { + const envName = 'dev'; + ctx = { + amplify: { + getEnvInfo() { + return { envName }; + }, + }, + } as unknown as $TSContext; + + jest.spyOn(prompts.printer, 'info').mockImplementation(); + jest.spyOn(api, 'promptToAddApiKey'); + + jest.spyOn(apiKeyHelpers, 'apiKeyIsActive').mockReturnValue(apiKeyActive); + jest.spyOn(apiKeyHelpers, 'hasApiKey').mockReturnValue(apiKeyPresent); + }); + + describe('showSandboxModePrompts', () => { + describe('missing api key', () => { + beforeAll(() => { + apiKeyPresent = false; + }); + + it('displays warning', async () => { + await helpers.showSandboxModePrompts(ctx); + + expect(prompts.printer.info).toBeCalledWith( + ` +⚠️ WARNING: Global Sandbox Mode has been enabled, which requires a valid API key. If +you'd like to disable, remove ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} +from your GraphQL schema and run 'amplify push' again. If you'd like to proceed with +sandbox mode disabled in '${ctx.amplify.getEnvInfo().envName}', do not create an API Key. +`, + 'yellow', + ); + expect(api.promptToAddApiKey).toBeCalledWith(ctx); + }); + }); + + describe('expired api key', () => { + beforeAll(() => { + apiKeyActive = false; + }); + + it('displays warning', async () => { + await helpers.showSandboxModePrompts(ctx); + + expect(prompts.printer.info).toBeCalledWith( + ` +⚠️ WARNING: Global Sandbox Mode has been enabled, which requires a valid API key. If +you'd like to disable, remove ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} +from your GraphQL schema and run 'amplify push' again. If you'd like to proceed with +sandbox mode disabled in '${ctx.amplify.getEnvInfo().envName}', do not create an API Key. +`, + 'yellow', + ); + expect(api.promptToAddApiKey).toBeCalledWith(ctx); + }); + }); + }); +}); diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 6156eb1b331..52a23458efd 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -10,7 +10,6 @@ import { collectDirectivesByTypeNames, collectDirectives, TransformerProjectConfig, - getSandboxModeEnvNameFromDirectiveSet, } from '@aws-amplify/graphql-transformer-core'; import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; @@ -34,6 +33,7 @@ import { Template } from '@aws-amplify/graphql-transformer-core/lib/config/proje import { AmplifyCLIFeatureFlagAdapter } from '../utils/amplify-cli-feature-flag-adapter'; import { isAmplifyAdminApp } from '../utils/admin-helpers'; import { JSONUtilities, stateManager, $TSContext } from 'amplify-cli-core'; +import { showSandboxModePrompts, getSandboxModeEnvNameFromDirectiveSet } from '../utils/sandbox-mode-helpers'; const API_CATEGORY = 'api'; const STORAGE_CATEGORY = 'storage'; @@ -301,7 +301,16 @@ export async function transformGraphQLSchema(context, options) { const transformerListFactory = getTransformerFactory(context, resourceDir); + const { envName } = context.amplify._getEnvInfo(); const sandboxModeEnv = getSandboxModeEnvNameFromDirectiveSet(collectDirectives(project.schema)); + const sandboxModeEnabled = envName === sandboxModeEnv; + + if (sandboxModeEnabled && options.promptApiKeyCreation) { + const apiKeyConfig = await showSandboxModePrompts(context); + if (apiKeyConfig) { + authConfig.additionalAuthenticationProviders.push(apiKeyConfig); + } + } let searchableTransformerFlag = false; @@ -321,7 +330,7 @@ export async function transformGraphQLSchema(context, options) { projectConfig: project, lastDeployedProjectConfig, authConfig, - sandboxModeEnv, + sandboxModeEnabled, }; let transformerOutput; @@ -459,7 +468,7 @@ export type ProjectOptions = { dryRun?: boolean; authConfig?: AppSyncAuthConfiguration; stacks: Record; - sandboxModeEnv?: string; + sandboxModeEnabled?: boolean; }; export async function buildAPIProject(opts: ProjectOptions) { @@ -497,6 +506,7 @@ async function _buildProject(opts: ProjectOptions) { buildParameters: opts.buildParameters, stacks: opts.projectConfig.stacks || {}, featureFlags: new AmplifyCLIFeatureFlagAdapter(), + sandboxModeEnabled: opts.sandboxModeEnabled, }); return transform.transform(userProjectConfig.schema.toString()); } diff --git a/packages/amplify-provider-awscloudformation/src/push-resources.ts b/packages/amplify-provider-awscloudformation/src/push-resources.ts index b015071b830..40404c0076f 100644 --- a/packages/amplify-provider-awscloudformation/src/push-resources.ts +++ b/packages/amplify-provider-awscloudformation/src/push-resources.ts @@ -150,6 +150,7 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re await transformGraphQLSchema(context, { handleMigration: opts => updateStackForAPIMigration(context, 'api', undefined, opts), minify: options['minify'], + promptApiKeyCreation: true, }); // If there is a deployment already in progress we have to fail the push operation as another diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts b/packages/amplify-provider-awscloudformation/src/utils/api-key-helpers.ts similarity index 83% rename from packages/amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts rename to packages/amplify-provider-awscloudformation/src/utils/api-key-helpers.ts index 2fbdccad3c9..dd2545d7ee1 100644 --- a/packages/amplify-cli/src/extensions/amplify-helpers/get-api-key-config.ts +++ b/packages/amplify-provider-awscloudformation/src/utils/api-key-helpers.ts @@ -12,14 +12,14 @@ export function getAppSyncApiConfig(): any { return appSyncApi; } -function getDefaultIfApiKey(): ApiKeyConfig | void { +function getDefaultIfApiKey(): ApiKeyConfig { const authConfig = getAppSyncApiConfig()?.output?.authConfig; const { defaultAuthentication } = authConfig; if (defaultAuthentication.authenticationType === 'API_KEY') return defaultAuthentication.apiKeyConfig; } -function getAdditionalApiKeyConfig(): ApiKeyConfig | void { +function getAdditionalApiKeyConfig(): ApiKeyConfig { const authConfig = getAppSyncApiConfig()?.output?.authConfig; const { additionalAuthenticationProviders } = authConfig; let apiKeyConfig; @@ -31,8 +31,9 @@ function getAdditionalApiKeyConfig(): ApiKeyConfig | void { return apiKeyConfig; } -export function getApiKeyConfig(): ApiKeyConfig | void { - return getDefaultIfApiKey() || getAdditionalApiKeyConfig(); +export function getApiKeyConfig(): ApiKeyConfig { + const emptyConfig = {} as ApiKeyConfig; + return getDefaultIfApiKey() || getAdditionalApiKeyConfig() || emptyConfig; } export function apiKeyIsActive(): boolean { diff --git a/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts b/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts new file mode 100644 index 00000000000..fa160b91ba5 --- /dev/null +++ b/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts @@ -0,0 +1,51 @@ +import chalk from 'chalk'; +import { $TSContext } from 'amplify-cli-core'; +import { promptToAddApiKey } from 'amplify-category-api'; +import { getApiKeyConfig, apiKeyIsActive, hasApiKey } from './api-key-helpers'; +import { printer } from 'amplify-prompts'; + +export async function showSandboxModePrompts(context: $TSContext): Promise { + if (!hasApiKey() || !apiKeyIsActive()) { + printer.info( + ` +⚠️ WARNING: Global Sandbox Mode has been enabled, which requires a valid API key. If +you'd like to disable, remove ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} +from your GraphQL schema and run 'amplify push' again. If you'd like to proceed with +sandbox mode disabled in '${context.amplify.getEnvInfo().envName}', do not create an API Key. +`, + 'yellow', + ); + return await promptToAddApiKey(context); + } else { + showGlobalSandboxModeWarning(); + return; + } +} + +export function showGlobalSandboxModeWarning(): void { + const { apiKeyExpirationDate } = getApiKeyConfig(); + + if (!apiKeyExpirationDate) return; + + const expirationDate = new Date(apiKeyExpirationDate); + + printer.info( + ` +⚠️ WARNING: ${chalk.green('"type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key"')} in your GraphQL schema +allows public create, read, update, and delete access to all models via API Key. This +should only be used for testing purposes. API Key expiration date is: ${expirationDate.toLocaleDateString()} + +To configure PRODUCTION-READY authorization rules, review: https://docs.amplify.aws/cli/graphql-transformer/auth +`, + 'yellow', + ); +} + +export function getSandboxModeEnvNameFromDirectiveSet(input: any): string { + const sandboxModeDirective = input.find((el: any) => el.name.value === 'allow_public_data_access_with_api_key'); + + if (!sandboxModeDirective) return ''; + + const inField = sandboxModeDirective.arguments.find((el: any) => el.name.value === 'in'); + return inField.value.value; +} From d30f1d65e3b2cf259cb0382389b6ae27d914d9cc Mon Sep 17 00:00:00 2001 From: Danielle Adams <6271256+danielleadams@users.noreply.github.com> Date: Fri, 24 Sep 2021 17:37:23 -0700 Subject: [PATCH 53/64] fix(amplify-provider-awscloudformation): invoke api function from invoker plugin (#8274) * fix(amplify-provider-awscloudformation): invoke api function from invoker plugin * fix(graphql-index-transformer): update snapshots for tests * test(amplify-provider-awscloudformation): fix tests for sandbox helpers --- ...ify-graphql-index-transformer.test.ts.snap | 104 +++++++++--------- ...aphql-primary-key-transformer.test.ts.snap | 72 ++++++------ .../utils/sandbox-mode-helpers.test.ts | 18 +-- .../src/utils/sandbox-mode-helpers.ts | 3 +- 4 files changed, 95 insertions(+), 102 deletions(-) diff --git a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap index 7daa8001e59..14389fe3089 100644 --- a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap +++ b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-index-transformer.test.ts.snap @@ -764,9 +764,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -779,9 +779,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -794,9 +794,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -1466,9 +1466,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -1481,9 +1481,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -1496,9 +1496,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -2324,9 +2324,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -2339,9 +2339,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -2354,9 +2354,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -3438,9 +3438,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -3453,9 +3453,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -3468,9 +3468,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -6494,9 +6494,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateBlog.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateBlog.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onCreateContentCategory.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6509,9 +6509,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateContentCategory.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateContentCategory.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onCreateItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6524,9 +6524,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateItem.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateItem.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onCreateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6539,9 +6539,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onCreateTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6554,9 +6554,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTodo.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTodo.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6569,9 +6569,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteBlog.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteBlog.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteContentCategory.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6584,9 +6584,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteContentCategory.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteContentCategory.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6599,9 +6599,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteItem.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteItem.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6614,9 +6614,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6629,9 +6629,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTodo.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTodo.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateBlog.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6644,9 +6644,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateBlog.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateBlog.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateItem.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6659,9 +6659,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateItem.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateItem.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6674,9 +6674,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTodo.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -6689,8 +6689,8 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTodo.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTodo.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; diff --git a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap index 363263ed2ec..720b0ac0b31 100644 --- a/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap +++ b/packages/amplify-graphql-index-transformer/src/__tests__/__snapshots__/amplify-graphql-primary-key-transformer.test.ts.snap @@ -619,9 +619,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -634,9 +634,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -649,9 +649,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -1214,9 +1214,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -1229,9 +1229,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -1244,9 +1244,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -1762,9 +1762,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -1777,9 +1777,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -1792,9 +1792,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -2357,9 +2357,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -2372,9 +2372,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -2387,9 +2387,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -3453,9 +3453,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -3468,9 +3468,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -3483,9 +3483,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; @@ -4546,9 +4546,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onCreateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onDeleteTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -4561,9 +4561,9 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onDeleteTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", "Subscription.onUpdateTest.postAuth.1.req.vtl": "## [Start] Sandbox Mode Disabled. ** #if( !$ctx.stash.get(\\"hasAuth\\") ) $util.unauthorized() @@ -4576,8 +4576,8 @@ $util.toJson({ \\"payload\\": {} }) ## [End] Subscription Request template. **", - "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Resonse template. ** + "Subscription.onUpdateTest.res.vtl": "## [Start] Subscription Response template. ** $util.toJson(null) -## [End] Subscription Resonse template. **", +## [End] Subscription Response template. **", } `; diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts index 47ec69fdfec..962baa21466 100644 --- a/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts +++ b/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts @@ -1,18 +1,13 @@ -import * as helpers from '../../utils/sandbox-mode-helpers'; +import { showSandboxModePrompts } from '../../utils/sandbox-mode-helpers'; import { $TSContext } from 'amplify-cli-core'; import chalk from 'chalk'; import * as prompts from 'amplify-prompts'; -import * as api from 'amplify-category-api'; import * as apiKeyHelpers from '../../utils/api-key-helpers'; let ctx; let apiKeyActive = true; let apiKeyPresent = true; -jest.mock('amplify-category-api', () => ({ - promptToAddApiKey: jest.fn(), -})); - describe('sandbox mode helpers', () => { beforeEach(() => { const envName = 'dev'; @@ -21,12 +16,11 @@ describe('sandbox mode helpers', () => { getEnvInfo() { return { envName }; }, + invokePluginMethod: jest.fn(), }, } as unknown as $TSContext; jest.spyOn(prompts.printer, 'info').mockImplementation(); - jest.spyOn(api, 'promptToAddApiKey'); - jest.spyOn(apiKeyHelpers, 'apiKeyIsActive').mockReturnValue(apiKeyActive); jest.spyOn(apiKeyHelpers, 'hasApiKey').mockReturnValue(apiKeyPresent); }); @@ -38,7 +32,7 @@ describe('sandbox mode helpers', () => { }); it('displays warning', async () => { - await helpers.showSandboxModePrompts(ctx); + await showSandboxModePrompts(ctx); expect(prompts.printer.info).toBeCalledWith( ` @@ -49,7 +43,7 @@ sandbox mode disabled in '${ctx.amplify.getEnvInfo().envName}', do not create an `, 'yellow', ); - expect(api.promptToAddApiKey).toBeCalledWith(ctx); + expect(ctx.amplify.invokePluginMethod).toBeCalledWith(ctx, 'api', undefined, 'promptToAddApiKey', [ctx]); }); }); @@ -59,7 +53,7 @@ sandbox mode disabled in '${ctx.amplify.getEnvInfo().envName}', do not create an }); it('displays warning', async () => { - await helpers.showSandboxModePrompts(ctx); + await showSandboxModePrompts(ctx); expect(prompts.printer.info).toBeCalledWith( ` @@ -70,7 +64,7 @@ sandbox mode disabled in '${ctx.amplify.getEnvInfo().envName}', do not create an `, 'yellow', ); - expect(api.promptToAddApiKey).toBeCalledWith(ctx); + expect(ctx.amplify.invokePluginMethod).toBeCalledWith(ctx, 'api', undefined, 'promptToAddApiKey', [ctx]); }); }); }); diff --git a/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts b/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts index fa160b91ba5..8f761dbdef8 100644 --- a/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts +++ b/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts @@ -1,6 +1,5 @@ import chalk from 'chalk'; import { $TSContext } from 'amplify-cli-core'; -import { promptToAddApiKey } from 'amplify-category-api'; import { getApiKeyConfig, apiKeyIsActive, hasApiKey } from './api-key-helpers'; import { printer } from 'amplify-prompts'; @@ -15,7 +14,7 @@ sandbox mode disabled in '${context.amplify.getEnvInfo().envName}', do not creat `, 'yellow', ); - return await promptToAddApiKey(context); + return await context.amplify.invokePluginMethod(context, 'api', undefined, 'promptToAddApiKey', [context]); } else { showGlobalSandboxModeWarning(); return; From 17aa0a2fd9356e05ff30e76b125554dbe7564e80 Mon Sep 17 00:00:00 2001 From: Danielle Adams <6271256+danielleadams@users.noreply.github.com> Date: Mon, 27 Sep 2021 10:10:49 -0700 Subject: [PATCH 54/64] fix(amplify-provider-awscloudformation): remove sandbox mode directive from schema before transform (#8272) --- .../src/__tests__/model-transformer.test.ts | 21 ------- .../src/transformation/transform.ts | 2 - .../utils/sandbox-mode-helpers.test.ts | 58 ++++++++++++++++++- .../transform-graphql-schema.ts | 12 +++- .../src/utils/sandbox-mode-helpers.ts | 5 ++ 5 files changed, 72 insertions(+), 26 deletions(-) diff --git a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts index 5c07bb2650a..97da336c127 100644 --- a/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts +++ b/packages/amplify-graphql-model-transformer/src/__tests__/model-transformer.test.ts @@ -984,27 +984,6 @@ describe('ModelTransformer: ', () => { validateModelSchema(parse(definition)); }); - it('should support sandbox mode of api', async () => { - const validSchema = ` - type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: "staging") - - type Post @model { - id: ID! - title: String! - } - `; - - const transformer = new GraphQLTransform({ - transformers: [new ModelTransformer()], - featureFlags, - }); - - const out = transformer.transform(validSchema); - expect(out).toBeDefined(); - - parse(out.schema); - }); - it('should generate iam role names under 64 chars and subscriptions under 50', () => { const validSchema = ` type ThisIsAVeryLongNameModelThatShouldNotGenerateIAMRoleNamesOver64Characters @model { diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts index cd28a657cbc..0ec4d164fc1 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts @@ -149,8 +149,6 @@ export class GraphQLTransform { for (const transformer of this.transformers) { allModelDefinitions = allModelDefinitions.concat(...transformer.typeDefinitions, transformer.directive); } - const ampGlobalIdx = allModelDefinitions.findIndex(el => el.kind === 'ObjectTypeDefinition' && el.name.value === 'AMPLIFY_GLOBAL'); - if (ampGlobalIdx > -1) allModelDefinitions.splice(ampGlobalIdx, 1); const errors = validateModelSchema({ kind: Kind.DOCUMENT, diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts index 962baa21466..184bf7df594 100644 --- a/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts +++ b/packages/amplify-provider-awscloudformation/src/__tests__/utils/sandbox-mode-helpers.test.ts @@ -1,4 +1,4 @@ -import { showSandboxModePrompts } from '../../utils/sandbox-mode-helpers'; +import { showSandboxModePrompts, removeSandboxDirectiveFromSchema } from '../../utils/sandbox-mode-helpers'; import { $TSContext } from 'amplify-cli-core'; import chalk from 'chalk'; import * as prompts from 'amplify-prompts'; @@ -68,4 +68,60 @@ sandbox mode disabled in '${ctx.amplify.getEnvInfo().envName}', do not create an }); }); }); + + describe('removeSandboxDirectiveFromSchema', () => { + it('removes sandbox mode directive', () => { + const schema = ` +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: "dev") + `; + + expect(removeSandboxDirectiveFromSchema(schema)).toEqual(` + + `); + }); + + it('does not change user schema with directive', () => { + const schema = ` +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: "dev10105") # FOR TESTING ONLY! + +type Todo @model { + id: ID! + name: String! + description: String +} + `; + + expect(removeSandboxDirectiveFromSchema(schema)).toEqual(` + # FOR TESTING ONLY! + +type Todo @model { + id: ID! + name: String! + description: String +} + `); + }); + + it('does not change user schema with directive and single quotes', () => { + const schema = ` +type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key(in: 'dev10105') # FOR TESTING ONLY! + +type Todo @model { + id: ID! + name: String! + description: String +} + `; + + expect(removeSandboxDirectiveFromSchema(schema)).toEqual(` + # FOR TESTING ONLY! + +type Todo @model { + id: ID! + name: String! + description: String +} + `); + }); + }); }); diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 52a23458efd..30a99d8590f 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -33,7 +33,11 @@ import { Template } from '@aws-amplify/graphql-transformer-core/lib/config/proje import { AmplifyCLIFeatureFlagAdapter } from '../utils/amplify-cli-feature-flag-adapter'; import { isAmplifyAdminApp } from '../utils/admin-helpers'; import { JSONUtilities, stateManager, $TSContext } from 'amplify-cli-core'; -import { showSandboxModePrompts, getSandboxModeEnvNameFromDirectiveSet } from '../utils/sandbox-mode-helpers'; +import { + showSandboxModePrompts, + getSandboxModeEnvNameFromDirectiveSet, + removeSandboxDirectiveFromSchema, +} from '../utils/sandbox-mode-helpers'; const API_CATEGORY = 'api'; const STORAGE_CATEGORY = 'storage'; @@ -508,5 +512,9 @@ async function _buildProject(opts: ProjectOptions) { featureFlags: new AmplifyCLIFeatureFlagAdapter(), sandboxModeEnabled: opts.sandboxModeEnabled, }); - return transform.transform(userProjectConfig.schema.toString()); + + let schema = userProjectConfig.schema.toString(); + if (opts.sandboxModeEnabled) schema = removeSandboxDirectiveFromSchema(schema); + + return transform.transform(schema); } diff --git a/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts b/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts index 8f761dbdef8..86e01f99ae6 100644 --- a/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts +++ b/packages/amplify-provider-awscloudformation/src/utils/sandbox-mode-helpers.ts @@ -48,3 +48,8 @@ export function getSandboxModeEnvNameFromDirectiveSet(input: any): string { const inField = sandboxModeDirective.arguments.find((el: any) => el.name.value === 'in'); return inField.value.value; } + +export function removeSandboxDirectiveFromSchema(schema): string { + const ampGlobalRegex = /(type AMPLIFY_GLOBAL @allow_public_data_access_with_api_key\(in:)+(.*?)+(\))/g; + return schema.replace(ampGlobalRegex, ''); +} From bb67a35fc81913264d9a29088b0eb37b8d13a666 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh <83315412+sundersc@users.noreply.github.com> Date: Fri, 24 Sep 2021 12:15:17 -0700 Subject: [PATCH 55/64] Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) This reverts commit 2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399. --- .circleci/config.yml | 46 +--- .../amplify-category-api/amplify-plugin.json | 2 +- packages/amplify-category-api/package.json | 2 - .../__tests__/commands/api/rebuild.test.ts | 64 ----- .../amplify-category-api/src/commands/api.js | 5 - .../src/commands/api/rebuild.ts | 40 --- packages/amplify-category-api/tsconfig.json | 2 - .../amplify-category-function/src/index.ts | 1 - packages/amplify-cli-core/src/index.ts | 1 - .../amplify-helpers/push-resources.ts | 37 ++- .../amplify-e2e-core/src/categories/api.ts | 21 +- .../amplify-e2e-core/src/init/amplifyPush.ts | 17 +- .../amplify-e2e-core/src/utils/sdk-calls.ts | 34 ++- .../simple_model_new_primary_key.graphql | 4 - .../src/__tests__/api_5.test.ts | 84 ------- packages/amplify-prompts/src/validators.ts | 5 - .../__snapshots__/utils.test.ts.snap | 114 --------- .../utils.test.ts | 236 ------------------ .../src/constants.js | 1 - .../disconnect-dependent-resources/index.ts | 64 ----- .../disconnect-dependent-resources/utils.ts | 183 -------------- .../amplify-graphql-resource-manager.ts | 65 +---- .../src/graphql-transformer/utils.ts | 19 +- .../src/index.ts | 4 +- .../deployment-manager.ts | 6 - .../src/push-resources.ts | 33 +-- .../src/transform-graphql-schema.ts | 29 ++- .../__snapshots__/amplifyUtils.test.ts.snap | 28 --- .../src/__tests__/util/amplifyUtils.test.ts | 20 -- .../graphql-transformer-core/src/errors.ts | 32 +-- .../src/util/amplifyUtils.ts | 55 ++-- .../src/util/sanity-check.ts | 220 +++++++--------- 32 files changed, 205 insertions(+), 1269 deletions(-) delete mode 100644 packages/amplify-category-api/src/__tests__/commands/api/rebuild.test.ts delete mode 100644 packages/amplify-category-api/src/commands/api/rebuild.ts delete mode 100644 packages/amplify-e2e-tests/schemas/simple_model_new_primary_key.graphql delete mode 100644 packages/amplify-e2e-tests/src/__tests__/api_5.test.ts delete mode 100644 packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/__snapshots__/utils.test.ts.snap delete mode 100644 packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/utils.test.ts delete mode 100644 packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/index.ts delete mode 100644 packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/utils.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index 586e70fe008..af90f2d85db 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1307,14 +1307,6 @@ jobs: environment: TEST_SUITE: src/__tests__/auth_6.test.ts CLI_REGION: eu-central-1 - api_5-amplify_e2e_tests: - working_directory: ~/repo - docker: *ref_1 - resource_class: large - steps: *ref_5 - environment: - TEST_SUITE: src/__tests__/api_5.test.ts - CLI_REGION: ap-northeast-1 api_4-amplify_e2e_tests: working_directory: ~/repo docker: *ref_1 @@ -1322,7 +1314,7 @@ jobs: steps: *ref_5 environment: TEST_SUITE: src/__tests__/api_4.test.ts - CLI_REGION: ap-southeast-1 + CLI_REGION: ap-northeast-1 schema-iterative-update-4-amplify_e2e_tests_pkg_linux: working_directory: ~/repo docker: *ref_1 @@ -2133,16 +2125,6 @@ jobs: TEST_SUITE: src/__tests__/auth_6.test.ts CLI_REGION: eu-central-1 steps: *ref_6 - api_5-amplify_e2e_tests_pkg_linux: - working_directory: ~/repo - docker: *ref_1 - resource_class: large - environment: - AMPLIFY_DIR: /home/circleci/repo/out - AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux - TEST_SUITE: src/__tests__/api_5.test.ts - CLI_REGION: ap-northeast-1 - steps: *ref_6 api_4-amplify_e2e_tests_pkg_linux: working_directory: ~/repo docker: *ref_1 @@ -2151,7 +2133,7 @@ jobs: AMPLIFY_DIR: /home/circleci/repo/out AMPLIFY_PATH: /home/circleci/repo/out/amplify-pkg-linux TEST_SUITE: src/__tests__/api_4.test.ts - CLI_REGION: ap-southeast-1 + CLI_REGION: ap-northeast-1 steps: *ref_6 workflows: version: 2 @@ -2274,11 +2256,11 @@ workflows: - tags-amplify_e2e_tests - sandbox-mode-amplify_e2e_tests - function_7-amplify_e2e_tests - - api_5-amplify_e2e_tests + - api_4-amplify_e2e_tests + - amplify-app-amplify_e2e_tests - init-amplify_e2e_tests - s3-sse-amplify_e2e_tests - function_6-amplify_e2e_tests - - api_4-amplify_e2e_tests - schema-predictions-amplify_e2e_tests - amplify-configure-amplify_e2e_tests - pull-amplify_e2e_tests @@ -2304,11 +2286,11 @@ workflows: - tags-amplify_e2e_tests_pkg_linux - sandbox-mode-amplify_e2e_tests_pkg_linux - function_7-amplify_e2e_tests_pkg_linux - - api_5-amplify_e2e_tests_pkg_linux + - api_4-amplify_e2e_tests_pkg_linux + - amplify-app-amplify_e2e_tests_pkg_linux - init-amplify_e2e_tests_pkg_linux - s3-sse-amplify_e2e_tests_pkg_linux - function_6-amplify_e2e_tests_pkg_linux - - api_4-amplify_e2e_tests_pkg_linux - schema-predictions-amplify_e2e_tests_pkg_linux - amplify-configure-amplify_e2e_tests_pkg_linux - pull-amplify_e2e_tests_pkg_linux @@ -2816,7 +2798,7 @@ workflows: filters: *ref_10 requires: - geo-update-amplify_e2e_tests - - api_5-amplify_e2e_tests: + - api_4-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 filters: *ref_10 @@ -2894,12 +2876,6 @@ workflows: filters: *ref_10 requires: - hostingPROD-amplify_e2e_tests - - api_4-amplify_e2e_tests: - context: *ref_8 - post-steps: *ref_9 - filters: *ref_10 - requires: - - amplify-app-amplify_e2e_tests - schema-iterative-update-3-amplify_e2e_tests: context: *ref_8 post-steps: *ref_9 @@ -3344,7 +3320,7 @@ workflows: filters: *ref_13 requires: - geo-update-amplify_e2e_tests_pkg_linux - - api_5-amplify_e2e_tests_pkg_linux: + - api_4-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 filters: *ref_13 @@ -3426,12 +3402,6 @@ workflows: filters: *ref_13 requires: - hostingPROD-amplify_e2e_tests_pkg_linux - - api_4-amplify_e2e_tests_pkg_linux: - context: *ref_11 - post-steps: *ref_12 - filters: *ref_13 - requires: - - amplify-app-amplify_e2e_tests_pkg_linux - schema-iterative-update-3-amplify_e2e_tests_pkg_linux: context: *ref_11 post-steps: *ref_12 diff --git a/packages/amplify-category-api/amplify-plugin.json b/packages/amplify-category-api/amplify-plugin.json index 8bd97a6a3c7..fe62d84d301 100644 --- a/packages/amplify-category-api/amplify-plugin.json +++ b/packages/amplify-category-api/amplify-plugin.json @@ -1,7 +1,7 @@ { "name": "api", "type": "category", - "commands": ["add-graphql-datasource", "add", "console", "gql-compile", "push", "rebuild", "remove", "update", "help"], + "commands": ["add-graphql-datasource", "add", "console", "gql-compile", "push", "remove", "update", "help"], "commandAliases": { "configure": "update" }, diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index c0782f4498c..04d8cdc1964 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -65,8 +65,6 @@ "@octokit/rest": "^18.0.9", "amplify-cli-core": "1.29.0", "amplify-headless-interface": "1.10.0", - "amplify-prompts": "1.1.2", - "amplify-provider-awscloudformation": "4.60.1", "amplify-util-headless-input": "1.5.4", "chalk": "^4.1.1", "constructs": "^3.3.125", diff --git a/packages/amplify-category-api/src/__tests__/commands/api/rebuild.test.ts b/packages/amplify-category-api/src/__tests__/commands/api/rebuild.test.ts deleted file mode 100644 index ce28470ecd0..00000000000 --- a/packages/amplify-category-api/src/__tests__/commands/api/rebuild.test.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { $TSContext, FeatureFlags, stateManager } from 'amplify-cli-core'; -import { printer, prompter } from 'amplify-prompts'; -import { mocked } from 'ts-jest/utils'; -import { run } from '../../../commands/api/rebuild'; - -jest.mock('amplify-cli-core'); -jest.mock('amplify-prompts'); - -const FeatureFlags_mock = mocked(FeatureFlags); -const stateManager_mock = mocked(stateManager); -const printer_mock = mocked(printer); -const prompter_mock = mocked(prompter); - -FeatureFlags_mock.getBoolean.mockReturnValue(true); - -beforeEach(jest.clearAllMocks); - -const pushResourcesMock = jest.fn(); - -const context_stub = { - amplify: { - constructExeInfo: jest.fn(), - pushResources: pushResourcesMock, - }, - parameters: { - first: 'resourceName', - }, -} as unknown as $TSContext; - -it('prints error if iterative updates not enabled', async () => { - FeatureFlags_mock.getBoolean.mockReturnValueOnce(false); - - await run(context_stub); - - expect(printer_mock.error.mock.calls.length).toBe(1); - expect(pushResourcesMock.mock.calls.length).toBe(0); -}); - -it('exits early if no api in project', async () => { - stateManager_mock.getMeta.mockReturnValueOnce({ - api: {}, - }); - - await run(context_stub); - - expect(printer_mock.info.mock.calls.length).toBe(1); - expect(pushResourcesMock.mock.calls.length).toBe(0); -}); - -it('asks for strong confirmation before continuing', async () => { - stateManager_mock.getMeta.mockReturnValueOnce({ - api: { - testapiname: { - service: 'AppSync', - }, - }, - }); - - await run(context_stub); - - expect(prompter_mock.input.mock.calls.length).toBe(1); - expect(pushResourcesMock.mock.calls.length).toBe(1); - expect(pushResourcesMock.mock.calls[0][4]).toBe(true); // rebuild flag is set -}); diff --git a/packages/amplify-category-api/src/commands/api.js b/packages/amplify-category-api/src/commands/api.js index e8c261e00df..948dc4ae4a2 100644 --- a/packages/amplify-category-api/src/commands/api.js +++ b/packages/amplify-category-api/src/commands/api.js @@ -41,11 +41,6 @@ module.exports = { name: 'console', description: 'Opens the web console for the selected api service', }, - { - name: 'rebuild', - description: - 'Removes and recreates all DynamoDB tables backing a GraphQL API. Useful for resetting test data during the development phase of an app', - }, ]; context.amplify.showHelp(header, commands); diff --git a/packages/amplify-category-api/src/commands/api/rebuild.ts b/packages/amplify-category-api/src/commands/api/rebuild.ts deleted file mode 100644 index 2173ba77c49..00000000000 --- a/packages/amplify-category-api/src/commands/api/rebuild.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { $TSContext, FeatureFlags, stateManager } from 'amplify-cli-core'; -import { printer, prompter, exact } from 'amplify-prompts'; - -const subcommand = 'rebuild'; -const category = 'api'; - -export const name = subcommand; - -const rebuild = true; - -export const run = async (context: $TSContext) => { - if (!FeatureFlags.getBoolean('graphqlTransformer.enableIterativeGSIUpdates')) { - printer.error('Iterative GSI Updates must be enabled to rebuild an API. See https://docs.amplify.aws/cli/reference/feature-flags/'); - return; - } - const apiNames = Object.entries(stateManager.getMeta()?.api || {}) - .filter(([_, meta]) => (meta as any).service === 'AppSync') - .map(([name]) => name); - if (apiNames.length === 0) { - printer.info('No GraphQL API configured in the project. Only GraphQL APIs can be rebuilt. To add a GraphQL API run `amplify add api`.'); - return; - } - if (apiNames.length > 1) { - // this condition should never hit as we have upstream defensive logic to prevent multiple GraphQL APIs. But just to cover all the bases - printer.error( - 'You have multiple GraphQL APIs in the project. Only one GraphQL API is allowed per project. Run `amplify remove api` to remove an API.', - ); - return; - } - const apiName = apiNames[0]; - printer.warn(`This will recreate all tables backing models in your GraphQL API ${apiName}.`); - printer.warn('ALL EXISTING DATA IN THESE TABLES WILL BE LOST.'); - await prompter.input('Type the name of the API to confirm you want to continue', { - validate: exact(apiName, 'Input does not match the GraphQL API name'), - }); - const { amplify, parameters } = context; - const resourceName = parameters.first; - amplify.constructExeInfo(context); - return amplify.pushResources(context, category, resourceName, undefined, rebuild); -}; diff --git a/packages/amplify-category-api/tsconfig.json b/packages/amplify-category-api/tsconfig.json index 31c85559bbb..dd332b004a4 100644 --- a/packages/amplify-category-api/tsconfig.json +++ b/packages/amplify-category-api/tsconfig.json @@ -14,9 +14,7 @@ "src/__tests__" ], "references": [ - {"path": "../amplify-cli-core"}, {"path": "../amplify-headless-interface"}, - {"path": "../amplify-prompts"}, {"path": "../graphql-transformer-core"}, {"path": "../amplify-util-headless-input"}, ] diff --git a/packages/amplify-category-function/src/index.ts b/packages/amplify-category-function/src/index.ts index 63a6841431e..0d6de3a6976 100644 --- a/packages/amplify-category-function/src/index.ts +++ b/packages/amplify-category-function/src/index.ts @@ -28,7 +28,6 @@ export { hashLayerResource } from './provider-utils/awscloudformation/utils/laye export { migrateLegacyLayer } from './provider-utils/awscloudformation/utils/layerMigrationUtils'; export { packageResource } from './provider-utils/awscloudformation/utils/package'; export { updateDependentFunctionsCfn } from './provider-utils/awscloudformation/utils/updateDependentFunctionCfn'; -export { loadFunctionParameters } from './provider-utils/awscloudformation/utils/loadFunctionParameters'; export async function add(context, providerName, service, parameters) { const options = { diff --git a/packages/amplify-cli-core/src/index.ts b/packages/amplify-cli-core/src/index.ts index c4ad0a04041..3051364baa7 100644 --- a/packages/amplify-cli-core/src/index.ts +++ b/packages/amplify-cli-core/src/index.ts @@ -251,7 +251,6 @@ interface AmplifyToolkit { category?: string, resourceName?: string, filteredResources?: { category: string; resourceName: string }[], - rebuild?: boolean, ) => $TSAny; storeCurrentCloudBackend: () => $TSAny; readJsonFile: (fileName: string) => $TSAny; diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts index 3b86fc0c5e2..4e71549cc77 100644 --- a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts +++ b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts @@ -11,7 +11,6 @@ export async function pushResources( category?: string, resourceName?: string, filteredResources?: { category: string; resourceName: string }[], - rebuild: boolean = false, ) { if (context.parameters.options['iterative-rollback']) { // validate --iterative-rollback with --force @@ -50,21 +49,16 @@ export async function pushResources( } } - let hasChanges = false; - if (!rebuild) { - // status table does not have a way to show resource in "rebuild" state so skipping it to avoid confusion - hasChanges = await showResourceTable(category, resourceName, filteredResources); - } + const hasChanges = await showResourceTable(category, resourceName, filteredResources); // no changes detected - if (!hasChanges && !context.exeInfo.forcePush && !rebuild) { + if (!hasChanges && !context.exeInfo.forcePush) { context.print.info('\nNo changes detected'); return context; } - // rebuild has an upstream confirmation prompt so no need to prompt again here - let continueToPush = (context.exeInfo && context.exeInfo.inputParams && context.exeInfo.inputParams.yes) || rebuild; + let continueToPush = context.exeInfo && context.exeInfo.inputParams && context.exeInfo.inputParams.yes; if (!continueToPush) { if (context.exeInfo.iterativeRollback) { @@ -74,11 +68,18 @@ export async function pushResources( } if (continueToPush) { - // Get current-cloud-backend's amplify-meta - const currentAmplifyMeta = stateManager.getCurrentMeta(); + try { + // Get current-cloud-backend's amplify-meta + const currentAmplifyMeta = stateManager.getCurrentMeta(); + + await providersPush(context, category, resourceName, filteredResources); + await onCategoryOutputsChange(context, currentAmplifyMeta); + } catch (err) { + // Handle the errors and print them nicely for the user. + context.print.error(`\n${err.message}`); - await providersPush(context, rebuild, category, resourceName, filteredResources); - await onCategoryOutputsChange(context, currentAmplifyMeta); + throw err; + } } else { // there's currently no other mechanism to stop the execution of the postPush workflow in this case, so exiting here exitOnNextTick(1); @@ -87,13 +88,7 @@ export async function pushResources( return continueToPush; } -async function providersPush( - context: $TSContext, - rebuild: boolean = false, - category?: string, - resourceName?: string, - filteredResources?: { category: string; resourceName: string }[], -) { +async function providersPush(context: $TSContext, category, resourceName, filteredResources) { const { providers } = getProjectConfig(); const providerPlugins = getProviderPlugins(context); const providerPromises: (() => Promise<$TSAny>)[] = []; @@ -101,7 +96,7 @@ async function providersPush( for (const provider of providers) { const providerModule = require(providerPlugins[provider]); const resourceDefiniton = await context.amplify.getResourceStatus(category, resourceName, provider, filteredResources); - providerPromises.push(providerModule.pushResources(context, resourceDefiniton, rebuild)); + providerPromises.push(providerModule.pushResources(context, resourceDefiniton)); } await Promise.all(providerPromises); diff --git a/packages/amplify-e2e-core/src/categories/api.ts b/packages/amplify-e2e-core/src/categories/api.ts index 6e5a7022166..be68ddf1a4a 100644 --- a/packages/amplify-e2e-core/src/categories/api.ts +++ b/packages/amplify-e2e-core/src/categories/api.ts @@ -89,7 +89,6 @@ export function addApiWithBlankSchema(cwd: string, opts: Partial((resolve, reject) => { let chain = spawn(getCLIPath(), ['add', 'api'], { cwd: projectDir, stripColors: true }) .wait('Please select from one of the below mentioned services:') - .sendCarriageReturn() + .sendCarriageReturn(); if (settings && Object.keys(settings).length > 0) { const authTypesToAdd = Object.keys(settings); @@ -421,9 +420,7 @@ export function addApi(projectDir: string, settings?: any) { if (authTypesToAdd.length > 1) { authTypesToAdd.shift(); - chain - .wait('Configure additional auth types?') - .sendLine('y'); + chain.wait('Configure additional auth types?').sendLine('y'); authTypesToSelectFrom = authTypesToSelectFrom.filter(x => x !== defaultType); @@ -437,9 +434,7 @@ export function addApi(projectDir: string, settings?: any) { setupAuthType(authType, chain, settings); }); } else { - chain - .wait('Configure additional auth types?') - .sendLine('n'); + chain.wait('Configure additional auth types?').sendLine('n'); } } @@ -581,13 +576,3 @@ export function addRestContainerApi(projectDir: string) { }); }); } - -export function rebuildApi(projDir: string, apiName: string) { - return new Promise((resolve, reject) => { - spawn(getCLIPath(), ['rebuild', 'api'], { cwd: projDir, stripColors: true }) - .wait('Type the name of the API to confirm you want to continue') - .sendLine(apiName) - .wait('All resources are updated in the cloud') - .run(err => (err ? reject(err) : resolve())); - }); -} diff --git a/packages/amplify-e2e-core/src/init/amplifyPush.ts b/packages/amplify-e2e-core/src/init/amplifyPush.ts index bf359bb3750..4cefa9998b8 100644 --- a/packages/amplify-e2e-core/src/init/amplifyPush.ts +++ b/packages/amplify-e2e-core/src/init/amplifyPush.ts @@ -251,21 +251,6 @@ export function amplifyPushWithNoChanges(cwd: string, testingWithLatestCodebase: return new Promise((resolve, reject) => { spawn(getCLIPath(testingWithLatestCodebase), ['push'], { cwd, stripColors: true, noOutputTimeout: pushTimeoutMS }) .wait('No changes detected') - .run((err: Error) => err ? reject(err) : resolve()); - }); -} - -export function amplifyPushDestructiveApiUpdate(cwd: string, includeForce: boolean) { - return new Promise((resolve, reject) => { - const args = ['push', '--yes']; - if (includeForce) { - args.push('--force'); - } - const chain = spawn(getCLIPath(), args, { cwd, stripColors: true }); - if (includeForce) { - chain.wait('All resources are updated in the cloud').run(err => (err ? reject(err) : resolve())); - } else { - chain.wait('If this is intended, rerun the command with').run(err => (err ? resolve(err) : reject())); // in this case, we expect the CLI to error out - } + .run((err: Error) => (err ? reject(err) : resolve())); }); } diff --git a/packages/amplify-e2e-core/src/utils/sdk-calls.ts b/packages/amplify-e2e-core/src/utils/sdk-calls.ts index 3b4da4e0f8f..4c38212bab2 100644 --- a/packages/amplify-e2e-core/src/utils/sdk-calls.ts +++ b/packages/amplify-e2e-core/src/utils/sdk-calls.ts @@ -201,16 +201,6 @@ export const deleteTable = async (tableName: string, region: string) => { return await service.deleteTable({ TableName: tableName }).promise(); }; -export const putItemInTable = async (tableName: string, region: string, item: unknown) => { - const ddb = new DynamoDB.DocumentClient({ region }); - return await ddb.put({ TableName: tableName, Item: item }).promise(); -}; - -export const scanTable = async (tableName: string, region: string) => { - const ddb = new DynamoDB.DocumentClient({ region }); - return await ddb.scan({ TableName: tableName }).promise(); -}; - export const getAppSyncApi = async (appSyncApiId: string, region: string) => { const service = new AppSync({ region }); return await service.getGraphqlApi({ apiId: appSyncApiId }).promise(); @@ -352,15 +342,19 @@ export const getSSMParameters = async (region: string, appId: string, envName: s }; //Amazon location service calls export const getMap = async (mapName: string, region: string) => { - const service = new Location({region}); - return await service.describeMap({ - MapName: mapName - }).promise() -} + const service = new Location({ region }); + return await service + .describeMap({ + MapName: mapName, + }) + .promise(); +}; export const getPlaceIndex = async (placeIndexName: string, region: string) => { - const service = new Location({region}); - return await service.describePlaceIndex({ - IndexName: placeIndexName - }).promise() -} + const service = new Location({ region }); + return await service + .describePlaceIndex({ + IndexName: placeIndexName, + }) + .promise(); +}; diff --git a/packages/amplify-e2e-tests/schemas/simple_model_new_primary_key.graphql b/packages/amplify-e2e-tests/schemas/simple_model_new_primary_key.graphql deleted file mode 100644 index cdbe2826bfe..00000000000 --- a/packages/amplify-e2e-tests/schemas/simple_model_new_primary_key.graphql +++ /dev/null @@ -1,4 +0,0 @@ -type Todo @model @key(fields: ["content"]) { - id: ID! - content: String! -} diff --git a/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts deleted file mode 100644 index dda41cf1685..00000000000 --- a/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { - createNewProjectDir, - initJSProjectWithProfile, - addApiWithSchema, - amplifyPush, - deleteProject, - deleteProjectDir, - putItemInTable, - scanTable, - rebuildApi, - getProjectMeta, - updateApiSchema, - amplifyPushDestructiveApiUpdate, - addFunction, - amplifyPushAuth, -} from 'amplify-e2e-core'; - -const projName = 'apitest'; -let projRoot; -beforeEach(async () => { - projRoot = await createNewProjectDir(projName); - await initJSProjectWithProfile(projRoot, { name: projName }); - await addApiWithSchema(projRoot, 'simple_model.graphql', { apiKeyExpirationDays: 7 }); - await amplifyPush(projRoot); -}); -afterEach(async () => { - await deleteProject(projRoot); - deleteProjectDir(projRoot); -}); - -describe('amplify reset api', () => { - it('recreates all model tables', async () => { - const projMeta = getProjectMeta(projRoot); - const apiId = projMeta?.api?.[projName]?.output?.GraphQLAPIIdOutput; - const region = projMeta?.providers?.awscloudformation?.Region; - expect(apiId).toBeDefined(); - expect(region).toBeDefined(); - const tableName = `Todo-${apiId}-integtest`; - await putItemInTable(tableName, region, { id: 'this is a test value' }); - const scanResultBefore = await scanTable(tableName, region); - expect(scanResultBefore.Items.length).toBe(1); - - await rebuildApi(projRoot, projName); - - const scanResultAfter = await scanTable(tableName, region); - expect(scanResultAfter.Items.length).toBe(0); - }); -}); - -describe('destructive updates flag', () => { - it('blocks destructive updates when flag not present', async () => { - updateApiSchema(projRoot, projName, 'simple_model_new_primary_key.graphql'); - await amplifyPushDestructiveApiUpdate(projRoot, false); - // success indicates that the command errored out - }); - - it('allows destructive updates when flag present', async () => { - updateApiSchema(projRoot, projName, 'simple_model_new_primary_key.graphql'); - await amplifyPushDestructiveApiUpdate(projRoot, true); - // success indicates that the push completed - }); - - it('disconnects and reconnects functions dependent on replaced table', async () => { - const functionName = 'funcTableDep'; - await addFunction( - projRoot, - { - name: functionName, - functionTemplate: 'Hello World', - additionalPermissions: { - permissions: ['storage'], - choices: ['api', 'storage'], - resources: ['Todo:@model(appsync)'], - operations: ['create', 'read', 'update', 'delete'], - }, - }, - 'nodejs', - ); - await amplifyPushAuth(projRoot); - updateApiSchema(projRoot, projName, 'simple_model_new_primary_key.graphql'); - await amplifyPushDestructiveApiUpdate(projRoot, false); - // success indicates that the push completed - }); -}); diff --git a/packages/amplify-prompts/src/validators.ts b/packages/amplify-prompts/src/validators.ts index 9651f4125dc..463f6e958ed 100644 --- a/packages/amplify-prompts/src/validators.ts +++ b/packages/amplify-prompts/src/validators.ts @@ -32,11 +32,6 @@ export const minLength = (input: string) => input.length < minLen ? message || `Input must be more than ${minLen} characters long` : true; -export const exact = - (expected: string, message?: string): Validator => - (input: string) => - input === expected ? true : message ?? 'Input does not match expected value'; - /** * Logically "and"s several validators * If a validator returns an error message, that message is returned by this function, unless an override message is specified diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/__snapshots__/utils.test.ts.snap b/packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/__snapshots__/utils.test.ts.snap deleted file mode 100644 index 6ae1c362769..00000000000 --- a/packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/__snapshots__/utils.test.ts.snap +++ /dev/null @@ -1,114 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`generateIterativeFuncDeploymentSteps generates steps with correct pointers 1`] = ` -Object { - "deploymentSteps": Array [ - Object { - "deployment": Object { - "capabilities": Array [], - "parameters": Object { - "param1": "value1", - }, - "previousMetaKey": undefined, - "stackName": "testStackId", - "stackTemplatePathOrUrl": "amplify-cfn-templates/function/temp/temp-func1-cloudformation-template.json", - "tableNames": Array [], - }, - "rollback": undefined, - }, - Object { - "deployment": Object { - "capabilities": Array [], - "parameters": Object { - "param2": "value2", - }, - "previousMetaKey": "amplify-cfn-templates/function/temp/temp-func1-deployment-meta.json", - "stackName": "testStackId", - "stackTemplatePathOrUrl": "amplify-cfn-templates/function/temp/temp-func2-cloudformation-template.json", - "tableNames": Array [], - }, - "rollback": Object { - "capabilities": Array [], - "parameters": Object { - "param1": "value1", - }, - "previousMetaKey": undefined, - "stackName": "testStackId", - "stackTemplatePathOrUrl": "amplify-cfn-templates/function/temp/temp-func1-cloudformation-template.json", - "tableNames": Array [], - }, - }, - ], - "lastMetaKey": "amplify-cfn-templates/function/temp/temp-func2-deployment-meta.json", -} -`; - -exports[`generateTempFuncCFNTemplates replaces Fn::ImportValue references with placeholder values in template 1`] = ` -Object { - "a": Object { - "b": Object { - "c": Array [ - Object { - "Fn::ImportValue": undefined, - "Fn::Sub": "TemporaryPlaceholderValue", - }, - Object { - "Fn::Join": Array [ - ":", - Object { - "Fn::ImportValue": undefined, - "Fn::Sub": "TemporaryPlaceholderValue", - }, - ], - }, - ], - }, - "d": Object { - "Fn::ImportValue": undefined, - "Fn::Sub": "TemporaryPlaceholderValue", - }, - }, -} -`; - -exports[`prependDeploymentSteps concatenates arrays and moves pointers appropriately 1`] = ` -Array [ - Object { - "deployment": Object { - "previousMetaKey": undefined, - "stackTemplatePathOrUrl": "deploymentStep1", - }, - "rollback": undefined, - }, - Object { - "deployment": Object { - "previousMetaKey": "deploymentStep1MetaKey", - "stackTemplatePathOrUrl": "deploymentStep2", - }, - "rollback": Object { - "previousMetaKey": undefined, - "stackTemplatePathOrUrl": "deploymentStep1", - }, - }, - Object { - "deployment": Object { - "previousMetaKey": "deploymentStep2MetaKey", - "stackTemplatePathOrUrl": "deploymentStep3", - }, - "rollback": Object { - "previousMetaKey": "deploymentStep1MetaKey", - "stackTemplatePathOrUrl": "deploymentStep2", - }, - }, - Object { - "deployment": Object { - "previousMetaKey": "deploymentStep3MetaKey", - "stackTemplatePathOrUrl": "deploymentStep4", - }, - "rollback": Object { - "previousMetaKey": "deploymentStep2MetaKey", - "stackTemplatePathOrUrl": "deploymentStep3", - }, - }, -] -`; diff --git a/packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/utils.test.ts b/packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/utils.test.ts deleted file mode 100644 index 9b16d26be34..00000000000 --- a/packages/amplify-provider-awscloudformation/src/__tests__/disconnect-dependent-resources/utils.test.ts +++ /dev/null @@ -1,236 +0,0 @@ -import { - generateIterativeFuncDeploymentSteps, - generateTempFuncCFNTemplates, - getDependentFunctions, - prependDeploymentSteps, - uploadTempFuncDeploymentFiles, -} from '../../disconnect-dependent-resources/utils'; -import { pathManager, stateManager, readCFNTemplate, writeCFNTemplate, CFNTemplateFormat } from 'amplify-cli-core'; -import * as fs from 'fs-extra'; -import { S3 } from '../../aws-utils/aws-s3'; -import { CloudFormation } from 'aws-sdk'; -import { getPreviousDeploymentRecord } from '../../utils/amplify-resource-state-utils'; -import Template from 'cloudform-types/types/template'; -import { DeploymentOp, DeploymentStep } from '../../iterative-deployment'; - -jest.mock('fs-extra'); -jest.mock('amplify-cli-core'); -jest.mock('amplify-cli-logger'); -jest.mock('../../utils/amplify-resource-state-utils'); - -const fs_mock = fs as jest.Mocked; -const pathManager_mock = pathManager as jest.Mocked; -const stateManager_mock = stateManager as jest.Mocked; -const readCFNTemplate_mock = readCFNTemplate as jest.MockedFunction; -const writeCFNTemplate_mock = writeCFNTemplate as jest.MockedFunction; - -const getPreviousDeploymentRecord_mock = getPreviousDeploymentRecord as jest.MockedFunction; - -pathManager_mock.getResourceDirectoryPath.mockReturnValue('mock/path'); - -beforeEach(jest.clearAllMocks); - -describe('getDependentFunctions', () => { - it('returns the subset of functions that have a dependency on the models', async () => { - const func1Params = { - permissions: { - storage: { - someOtherTable: {}, - }, - }, - }; - const func2Params = { - permissions: { - storage: { - ['ModelName:@model(appsync)']: {}, - }, - }, - }; - const funcParamsSupplier = jest.fn().mockReturnValueOnce(func1Params).mockReturnValueOnce(func2Params); - const result = await getDependentFunctions(['ModelName', 'OtherModel'], ['func1', 'func2'], funcParamsSupplier); - expect(result).toEqual(['func2']); - }); -}); - -describe('generateTempFuncCFNTemplates', () => { - readCFNTemplate_mock.mockResolvedValueOnce({ - cfnTemplate: { - a: { - b: { - c: [ - { - 'Fn::ImportValue': { - 'Fn::Sub': 'test string', - }, - }, - { - 'Fn::Join': [ - ':', - { - 'Fn::ImportValue': 'testvalue', - }, - ], - }, - ], - }, - d: { - 'Fn::ImportValue': 'something else', - }, - }, - } as Template, - templateFormat: CFNTemplateFormat.JSON, - }); - it('replaces Fn::ImportValue references with placeholder values in template', async () => { - await generateTempFuncCFNTemplates(['func1']); - expect(writeCFNTemplate_mock.mock.calls[0][0]).toMatchSnapshot(); - }); -}); - -describe('uploadTempFuncDeploymentFiles', () => { - it('uploads template and meta file', async () => { - fs_mock.createReadStream - .mockReturnValueOnce('func1Template' as any) - .mockReturnValueOnce('func1Meta' as any) - .mockReturnValueOnce('func2Template' as any) - .mockReturnValueOnce('func2Meta' as any); - const s3Client_stub = { - uploadFile: jest.fn(), - }; - - await uploadTempFuncDeploymentFiles(s3Client_stub as unknown as S3, ['func1', 'func2']); - expect(s3Client_stub.uploadFile.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - Object { - "Body": "func1Template", - "Key": "amplify-cfn-templates/function/temp/temp-func1-cloudformation-template.json", - }, - false, - ], - Array [ - Object { - "Body": "func1Meta", - "Key": "amplify-cfn-templates/function/temp/temp-func1-deployment-meta.json", - }, - false, - ], - Array [ - Object { - "Body": "func2Template", - "Key": "amplify-cfn-templates/function/temp/temp-func2-cloudformation-template.json", - }, - false, - ], - Array [ - Object { - "Body": "func2Meta", - "Key": "amplify-cfn-templates/function/temp/temp-func2-deployment-meta.json", - }, - false, - ], - ] - `); - }); - - it('logs and throws upload error', async () => { - const s3Client_stub = { - uploadFile: jest.fn().mockRejectedValue(new Error('test error')), - }; - try { - await uploadTempFuncDeploymentFiles(s3Client_stub as unknown as S3, ['func1', 'func2']); - fail('function call should error'); - } catch (err) { - expect(err.message).toMatchInlineSnapshot(`"test error"`); - } - }); -}); - -describe('generateIterativeFuncDeploymentSteps', () => { - it('generates steps with correct pointers', async () => { - const cfnClient_stub = { - describeStackResources: () => ({ - promise: async () => ({ - StackResources: [ - { - PhysicalResourceId: 'testStackId', - }, - ], - }), - }), - }; - getPreviousDeploymentRecord_mock - .mockResolvedValueOnce({ - parameters: { - param1: 'value1', - }, - capabilities: [], - }) - .mockResolvedValueOnce({ - parameters: { - param2: 'value2', - }, - capabilities: [], - }); - stateManager_mock.getResourceParametersJson.mockReturnValue({}); - stateManager_mock.getTeamProviderInfo.mockReturnValue({}); - stateManager_mock.getLocalEnvInfo.mockReturnValue({ envName: 'testenv' }); - const result = await generateIterativeFuncDeploymentSteps(cfnClient_stub as unknown as CloudFormation, 'testRootStackId', [ - 'func1', - 'func2', - ]); - expect(result).toMatchSnapshot(); - }); -}); - -describe('prependDeploymentSteps', () => { - it('concatenates arrays and moves pointers appropriately', () => { - const beforeSteps: DeploymentStep[] = [ - { - deployment: { - stackTemplatePathOrUrl: 'deploymentStep1', - previousMetaKey: undefined, - } as DeploymentOp, - rollback: undefined, - }, - { - deployment: { - stackTemplatePathOrUrl: 'deploymentStep2', - previousMetaKey: 'deploymentStep1MetaKey', - } as DeploymentOp, - rollback: { - stackTemplatePathOrUrl: 'deploymentStep1', - previousMetaKey: undefined, - } as DeploymentOp, - }, - ]; - - const afterSteps: DeploymentStep[] = [ - { - deployment: { - stackTemplatePathOrUrl: 'deploymentStep3', - previousMetaKey: undefined, - } as DeploymentOp, - rollback: undefined, - }, - { - deployment: { - stackTemplatePathOrUrl: 'deploymentStep4', - previousMetaKey: 'deploymentStep3MetaKey', - } as DeploymentOp, - rollback: { - stackTemplatePathOrUrl: 'deploymentStep3', - previousMetaKey: undefined, - } as DeploymentOp, - }, - ]; - - const result = prependDeploymentSteps(beforeSteps, afterSteps, 'deploymentStep2MetaKey'); - expect(result).toMatchSnapshot(); - }); - - it('returns after array if before array is empty', () => { - const afterSteps = ['test step' as unknown as DeploymentStep]; - const result = prependDeploymentSteps([], afterSteps, 'testmetakey'); - expect(result).toEqual(afterSteps); - }); -}); diff --git a/packages/amplify-provider-awscloudformation/src/constants.js b/packages/amplify-provider-awscloudformation/src/constants.js index 4b6232b492c..d05deef8387 100644 --- a/packages/amplify-provider-awscloudformation/src/constants.js +++ b/packages/amplify-provider-awscloudformation/src/constants.js @@ -15,5 +15,4 @@ module.exports = { FunctionCategoryName: 'function', // keep in sync with ServiceName in amplify-category-function, but probably it will not change FunctionServiceNameLambdaLayer: 'LambdaLayer', - destructiveUpdatesFlag: 'allow-destructive-graphql-schema-updates', }; diff --git a/packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/index.ts b/packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/index.ts deleted file mode 100644 index 6fdae96a7f9..00000000000 --- a/packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/index.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { $TSAny, $TSContext, pathManager, stateManager } from 'amplify-cli-core'; -import { CloudFormation } from 'aws-sdk'; -import { S3 } from '../aws-utils/aws-s3'; -import { loadConfiguration } from '../configuration-manager'; -import { DeploymentStep } from '../iterative-deployment'; -import { - getDependentFunctions, - generateIterativeFuncDeploymentSteps, - prependDeploymentSteps, - generateTempFuncCFNTemplates, - uploadTempFuncDeploymentFiles, - s3Prefix, - localPrefix, -} from './utils'; -import * as fs from 'fs-extra'; - -let functionsDependentOnReplacedModelTables: string[] = []; - -/** - * Identifies if any functions depend on a model table that is being replaced. - * If so, it creates temporary CFN templates for these functions that do not reference the replaced table and adds deployment steps to the array to update the functions before the table is replaced - * @param context Amplify context - * @param modelsBeingReplaced Names of the models being replaced during this push operation - * @param deploymentSteps The existing list of deployment steps that will be prepended to in the case of dependent functions - * @returns The new list of deploymentSteps - */ -export const prependDeploymentStepsToDisconnectFunctionsFromReplacedModelTables = async ( - context: $TSContext, - modelsBeingReplaced: string[], - deploymentSteps: DeploymentStep[], -): Promise => { - const amplifyMeta = stateManager.getMeta(); - const rootStackId = amplifyMeta?.providers?.awscloudformation?.StackId; - const allFunctionNames = Object.keys(amplifyMeta?.function); - functionsDependentOnReplacedModelTables = await getDependentFunctions( - modelsBeingReplaced, - allFunctionNames, - getFunctionParamsSupplier(context), - ); - // generate deployment steps that will remove references to the replaced tables in the dependent functions - const { deploymentSteps: disconnectFuncsSteps, lastMetaKey } = await generateIterativeFuncDeploymentSteps( - new CloudFormation(await loadConfiguration(context)), - rootStackId, - functionsDependentOnReplacedModelTables, - ); - await generateTempFuncCFNTemplates(functionsDependentOnReplacedModelTables); - await uploadTempFuncDeploymentFiles(await S3.getInstance(context), functionsDependentOnReplacedModelTables); - return prependDeploymentSteps(disconnectFuncsSteps, deploymentSteps, lastMetaKey); -}; - -export const postDeploymentCleanup = async (s3Client: S3, deploymentBucketName: string) => { - if (functionsDependentOnReplacedModelTables.length < 1) { - return; - } - await s3Client.deleteDirectory(deploymentBucketName, s3Prefix); - await Promise.all(functionsDependentOnReplacedModelTables.map(funcName => fs.remove(localPrefix(funcName)))); -}; - -// helper function to load the function-parameters.json file given a functionName -const getFunctionParamsSupplier = (context: $TSContext) => async (functionName: string) => { - return context.amplify.invokePluginMethod(context, 'function', undefined, 'loadFunctionParameters', [ - pathManager.getResourceDirectoryPath(undefined, 'function', functionName), - ]) as $TSAny; -}; diff --git a/packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/utils.ts b/packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/utils.ts deleted file mode 100644 index e91ede4168f..00000000000 --- a/packages/amplify-provider-awscloudformation/src/disconnect-dependent-resources/utils.ts +++ /dev/null @@ -1,183 +0,0 @@ -import { $TSAny, JSONUtilities, pathManager, readCFNTemplate, stateManager, writeCFNTemplate } from 'amplify-cli-core'; -import * as path from 'path'; -import * as fs from 'fs-extra'; -import { S3 } from '../aws-utils/aws-s3'; -import { fileLogger } from '../utils/aws-logger'; -import { CloudFormation } from 'aws-sdk'; -import { getPreviousDeploymentRecord } from '../utils/amplify-resource-state-utils'; -import { DeploymentOp, DeploymentStep } from '../iterative-deployment'; -import _ from 'lodash'; - -const logger = fileLogger('disconnect-dependent-resources'); - -/** - * Returns the subset of functionNames that have a dependency on a model in modelNames - */ -export const getDependentFunctions = async ( - modelNames: string[], - functionNames: string[], - functionParamsSupplier: (functionName: string) => Promise<$TSAny>, -) => { - const dependentFunctions: string[] = []; - for (const funcName of functionNames) { - const funcParams = await functionParamsSupplier(funcName); - const dependentModels = funcParamsToDependentAppSyncModels(funcParams); - const hasDep = dependentModels.map(model => modelNames.includes(model)).reduce((acc, it) => acc || it, false); - if (hasDep) { - dependentFunctions.push(funcName); - } - } - return dependentFunctions; -}; - -/** - * Generates temporary CFN templates for the given functions that have placeholder values for all references to replaced model tables - */ -export const generateTempFuncCFNTemplates = async (dependentFunctions: string[]) => { - const tempPaths: string[] = []; - for (const funcName of dependentFunctions) { - const { cfnTemplate, templateFormat } = await readCFNTemplate( - path.join(pathManager.getResourceDirectoryPath(undefined, 'function', funcName), `${funcName}-cloudformation-template.json`), - ); - replaceFnImport(cfnTemplate); - const tempPath = getTempFuncTemplateLocalPath(funcName); - await writeCFNTemplate(cfnTemplate, tempPath, { templateFormat }); - tempPaths.push(tempPath); - } -}; - -/** - * Uploads the CFN template and iterative deployment meta file to S3 - */ -export const uploadTempFuncDeploymentFiles = async (s3Client: S3, funcNames: string[]) => { - for (const funcName of funcNames) { - const uploads = [ - { - Body: fs.createReadStream(getTempFuncTemplateLocalPath(funcName)), - Key: getTempFuncTemplateS3Key(funcName), - }, - { - Body: fs.createReadStream(getTempFuncMetaLocalPath(funcName)), - Key: getTempFuncMetaS3Key(funcName), - }, - ]; - const log = logger('uploadTemplateToS3.s3.uploadFile', [{ Key: uploads[0].Key }]); - for (const upload of uploads) { - try { - await s3Client.uploadFile(upload, false); - } catch (error) { - log(error); - throw error; - } - } - } -}; - -export const generateIterativeFuncDeploymentSteps = async ( - cfnClient: CloudFormation, - rootStackId: string, - functionNames: string[], -): Promise<{ deploymentSteps: DeploymentStep[]; lastMetaKey: string }> => { - let rollback: DeploymentOp; - let previousMetaKey: string; - const steps: DeploymentStep[] = []; - for (const funcName of functionNames) { - const deploymentOp = await generateIterativeFuncDeploymentOp(cfnClient, rootStackId, funcName); - deploymentOp.previousMetaKey = previousMetaKey; - steps.push({ - deployment: deploymentOp, - rollback, - }); - rollback = deploymentOp; - previousMetaKey = getTempFuncMetaS3Key(funcName); - } - return { deploymentSteps: steps, lastMetaKey: previousMetaKey }; -}; - -/** - * Prepends beforeSteps and afterSteps into a single array of deployment steps. - * Moves rollback and previousMetaKey pointers to maintain the integrity of the deployment steps. - */ -export const prependDeploymentSteps = (beforeSteps: DeploymentStep[], afterSteps: DeploymentStep[], beforeStepsLastMetaKey: string) => { - if (beforeSteps.length === 0) { - return afterSteps; - } - beforeSteps[0].rollback = _.cloneDeep(afterSteps[0].rollback); - beforeSteps[0].deployment.previousMetaKey = afterSteps[0].deployment.previousMetaKey; - afterSteps[0].rollback = _.cloneDeep(beforeSteps[beforeSteps.length - 1].deployment); - afterSteps[0].deployment.previousMetaKey = beforeStepsLastMetaKey; - if (afterSteps.length > 1) { - afterSteps[1].rollback.previousMetaKey = beforeStepsLastMetaKey; - } - return beforeSteps.concat(afterSteps); -}; - -/** - * Generates a deployment operation for a temporary function deployment. - * Also writes the deployment operation to the temp meta path - */ -const generateIterativeFuncDeploymentOp = async (cfnClient: CloudFormation, rootStackId: string, functionName: string) => { - const funcStack = await cfnClient - .describeStackResources({ StackName: rootStackId, LogicalResourceId: `function${functionName}` }) - .promise(); - const funcStackId = funcStack.StackResources[0].PhysicalResourceId; - const { parameters, capabilities } = await getPreviousDeploymentRecord(cfnClient, funcStackId); - const funcCfnParams = stateManager.getResourceParametersJson(undefined, 'function', functionName, { - throwIfNotExist: false, - default: {}, - }); - const tpi = stateManager.getTeamProviderInfo(undefined, { throwIfNotExist: false, default: {} }); - const env = stateManager.getLocalEnvInfo().envName; - const tpiCfnParams = tpi?.[env]?.categories?.function?.[functionName] || {}; - const params = { ...parameters, ...funcCfnParams, ...tpiCfnParams }; - const deploymentStep: DeploymentOp = { - stackTemplatePathOrUrl: getTempFuncTemplateS3Key(functionName), - parameters: params, - stackName: funcStackId, - capabilities, - tableNames: [], - }; - - JSONUtilities.writeJson(getTempFuncMetaLocalPath(functionName), deploymentStep); - return deploymentStep; -}; - -// helper functions for constructing local paths and S3 keys for function templates and deployment meta files -const getTempFuncTemplateS3Key = (funcName: string): string => path.posix.join(s3Prefix, tempTemplateFilename(funcName)); -const getTempFuncTemplateLocalPath = (funcName: string): string => path.join(localPrefix(funcName), tempTemplateFilename(funcName)); -const getTempFuncMetaLocalPath = (funcName: string): string => path.join(localPrefix(funcName), tempMetaFilename(funcName)); -const getTempFuncMetaS3Key = (funcName: string): string => path.posix.join(s3Prefix, tempMetaFilename(funcName)); - -const tempTemplateFilename = (funcName: string) => `temp-${funcName}-cloudformation-template.json`; -const tempMetaFilename = (funcName: string) => `temp-${funcName}-deployment-meta.json`; -export const s3Prefix = 'amplify-cfn-templates/function/temp'; -export const localPrefix = funcName => path.join(pathManager.getResourceDirectoryPath(undefined, 'function', funcName), 'temp'); - -/** - * Recursively searches for 'Fn::ImportValue' nodes in a CFN template object and replaces them with a placeholder value - * @param node - * @returns - */ -const replaceFnImport = (node: $TSAny) => { - if (typeof node !== 'object') { - return; - } - if (Array.isArray(node)) { - node.forEach(el => replaceFnImport(el)); - } - const nodeKeys = Object.keys(node); - if (nodeKeys.length === 1 && nodeKeys[0] === 'Fn::ImportValue') { - node['Fn::ImportValue'] = undefined; - node['Fn::Sub'] = 'TemporaryPlaceholderValue'; - return; - } - Object.values(node).forEach(value => replaceFnImport(value)); -}; - -/** - * Given the contents of the function-parameters.json file for a function, returns the list of AppSync models this function depends on. - */ -const funcParamsToDependentAppSyncModels = (funcParams: $TSAny): string[] => - Object.keys(funcParams?.permissions?.storage || {}) - .filter(key => key.endsWith(':@model(appsync)')) - .map(key => key.slice(0, key.lastIndexOf(':'))); diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/amplify-graphql-resource-manager.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/amplify-graphql-resource-manager.ts index aaa40b429b7..cd82d286df8 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/amplify-graphql-resource-manager.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/amplify-graphql-resource-manager.ts @@ -26,7 +26,6 @@ export type GQLResourceManagerProps = { resourceMeta?: ResourceMeta; backendDir: string; cloudBackendDir: string; - rebuildAllTables?: boolean; }; export type ResourceMeta = { @@ -53,9 +52,8 @@ export class GraphQLResourceManager { private cloudBackendApiProjectRoot: string; private backendApiProjectRoot: string; private templateState: TemplateState; - private rebuildAllTables: boolean = false; // indicates that all underlying model tables should be rebuilt - public static createInstance = async (context: $TSContext, gqlResource: any, StackId: string, rebuildAllTables: boolean = false) => { + public static createInstance = async (context: $TSContext, gqlResource: any, StackId: string) => { try { const cred = await loadConfiguration(context); const cfn = new CloudFormation(cred); @@ -67,7 +65,6 @@ export class GraphQLResourceManager { resourceMeta: { ...gqlResource, stackId: apiStack.StackResources[0].PhysicalResourceId }, backendDir: pathManager.getBackendDirPath(), cloudBackendDir: pathManager.getCurrentCloudBackendDirPath(), - rebuildAllTables, }); } catch (err) { throw err; @@ -85,7 +82,6 @@ export class GraphQLResourceManager { this.backendApiProjectRoot = path.join(props.backendDir, GraphQLResourceManager.categoryName, this.resourceMeta.resourceName); this.cloudBackendApiProjectRoot = path.join(props.cloudBackendDir, GraphQLResourceManager.categoryName, this.resourceMeta.resourceName); this.templateState = new TemplateState(); - this.rebuildAllTables = props.rebuildAllTables || false; } run = async (): Promise => { @@ -106,10 +102,7 @@ export class GraphQLResourceManager { throw err; } } - if (!this.rebuildAllTables) { - this.gsiManagement(gqlDiff.diff, gqlDiff.current, gqlDiff.next); - } - this.tableRecreationManagement(gqlDiff.current, gqlDiff.next); + this.gsiManagement(gqlDiff.diff, gqlDiff.current, gqlDiff.next); return await this.getDeploymentSteps(); }; @@ -224,9 +217,9 @@ export class GraphQLResourceManager { }); const tableWithGSIChanges = _.uniqBy(gsiChanges, diff => diff.path?.slice(0, 3).join('/')).map(gsiChange => { - const tableName = gsiChange.path[3] as string; + const tableName = gsiChange.path[3]; - const stackName = gsiChange.path[1].split('.')[0] as string; + const stackName = gsiChange.path[1].split('.')[0]; const currentTable = this.getTable(gsiChange, currentState); const nextTable = this.getTable(gsiChange, nextState); @@ -273,41 +266,6 @@ export class GraphQLResourceManager { } }; - private tableRecreationManagement = (currentState: DiffableProject, nextState: DiffableProject) => { - this.getTablesBeingReplaced().forEach(tableMeta => { - const ddbResource = this.getStack(tableMeta.stackName, currentState); - this.dropTable(tableMeta.tableName, ddbResource); - // clear any other states created by GSI updates as dropping and recreating supercedes those changes - this.clearTemplateState(tableMeta.stackName); - this.templateState.add(tableMeta.stackName, JSONUtilities.stringify(ddbResource)); - this.templateState.add(tableMeta.stackName, JSONUtilities.stringify(this.getStack(tableMeta.stackName, nextState))); - }); - }; - - getTablesBeingReplaced = () => { - const gqlDiff = getGQLDiff(this.backendApiProjectRoot, this.cloudBackendApiProjectRoot); - const [diffs, currentState] = [gqlDiff.diff, gqlDiff.current]; - const getTablesRequiringReplacement = () => - _.uniq( - diffs - .filter(diff => diff.path.includes('KeySchema') || diff.path.includes('LocalSecondaryIndexes')) // filter diffs with changes that require replacement - .map(diff => ({ - // extract table name and stack name from diff path - tableName: diff.path?.[3] as string, - stackName: diff.path[1].split('.')[0] as string, - })), - ) as { tableName: string; stackName: string }[]; - - const getAllTables = () => - Object.entries(currentState.stacks) - .map(([name, template]) => ({ - tableName: this.getTableNameFromTemplate(template), - stackName: path.basename(name, '.json'), - })) - .filter(meta => !!meta.tableName); - return this.rebuildAllTables ? getAllTables() : getTablesRequiringReplacement(); - }; - private getTable = (gsiChange: Diff, proj: DiffableProject): DynamoDB.Table => { return proj.stacks[gsiChange.path[1]].Resources[gsiChange.path[3]] as DynamoDB.Table; }; @@ -325,21 +283,6 @@ export class GraphQLResourceManager { const table = template.Resources[tableName] as DynamoDB.Table; template.Resources[tableName] = removeGSI(indexName, table); }; - - private dropTable = (tableName: string, template: Template): void => { - // remove table and all output refs to it - template.Resources[tableName] = undefined; - template.Outputs = _.omitBy(template.Outputs, (_, key) => key.includes(tableName)); - }; - - private clearTemplateState = (stackName: string) => { - while (this.templateState.has(stackName)) { - this.templateState.pop(stackName); - } - }; - - private getTableNameFromTemplate = (template: Template): string | undefined => - Object.entries(template?.Resources || {}).find(([_, resource]) => resource.Type === 'AWS::DynamoDB::Table')?.[0]; } // https://stackoverflow.com/questions/39419170/how-do-i-check-that-a-switch-block-is-exhaustive-in-typescript diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts index c228403cf12..81035381748 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts @@ -43,11 +43,20 @@ export const getGQLDiff = (currentBackendDir: string, cloudBackendDir: string): return null; }; -export const getGqlUpdatedResource = (resources: any[]) => - resources.find( - resource => - resource?.service === 'AppSync' && resource?.providerMetadata?.logicalId && resource?.providerPlugin === 'awscloudformation', - ) || null; +export const getGqlUpdatedResource = (resources: any[]) => { + if (resources.length > 0) { + const resource = resources[0]; + if ( + resource.service === 'AppSync' && + resource.providerMetadata && + resource.providerMetadata.logicalId && + resource.providerPlugin === 'awscloudformation' + ) { + return resource; + } + } + return null; +}; export function loadDiffableProject(path: string, rootStackName: string): DiffableProject { const project = readFromPath(path); diff --git a/packages/amplify-provider-awscloudformation/src/index.ts b/packages/amplify-provider-awscloudformation/src/index.ts index 9574bd29f60..1c5e68714f8 100644 --- a/packages/amplify-provider-awscloudformation/src/index.ts +++ b/packages/amplify-provider-awscloudformation/src/index.ts @@ -54,8 +54,8 @@ function onInitSuccessful(context) { return initializer.onInitSuccessful(context); } -function pushResources(context, resourceList, rebuild: boolean = false) { - return resourcePusher.run(context, resourceList, rebuild); +function pushResources(context, resourceList) { + return resourcePusher.run(context, resourceList); } function storeCurrentCloudBackend(context) { diff --git a/packages/amplify-provider-awscloudformation/src/iterative-deployment/deployment-manager.ts b/packages/amplify-provider-awscloudformation/src/iterative-deployment/deployment-manager.ts index 04d2b94df8d..32507727607 100644 --- a/packages/amplify-provider-awscloudformation/src/iterative-deployment/deployment-manager.ts +++ b/packages/amplify-provider-awscloudformation/src/iterative-deployment/deployment-manager.ts @@ -327,15 +327,9 @@ export class DeploymentManager { try { const response = await this.ddbClient.describeTable({ TableName: tableName }).promise(); - if (response.Table?.TableStatus === 'DELETING') { - return false; - } const gsis = response.Table?.GlobalSecondaryIndexes; return gsis ? gsis.every(idx => idx.IndexStatus === 'ACTIVE') : true; } catch (err) { - if (err?.code === 'ResourceNotFoundException') { - return true; // in the case of an iterative update that recreates a table, non-existance means the table has been fully removed - } this.logger('getTableStatus', [{ tableName }])(err); throw err; } diff --git a/packages/amplify-provider-awscloudformation/src/push-resources.ts b/packages/amplify-provider-awscloudformation/src/push-resources.ts index 40404c0076f..25fcfa4e750 100644 --- a/packages/amplify-provider-awscloudformation/src/push-resources.ts +++ b/packages/amplify-provider-awscloudformation/src/push-resources.ts @@ -47,10 +47,6 @@ import { preProcessCFNTemplate } from './pre-push-cfn-processor/cfn-pre-processo import { AUTH_TRIGGER_STACK, AUTH_TRIGGER_TEMPLATE } from './utils/upload-auth-trigger-template'; import { ensureValidFunctionModelDependencies } from './utils/remove-dependent-function'; import { legacyLayerMigration, postPushLambdaLayerCleanup, prePushLambdaLayerPrompt } from './lambdaLayerInvocations'; -import { - postDeploymentCleanup, - prependDeploymentStepsToDisconnectFunctionsFromReplacedModelTables, -} from './disconnect-dependent-resources'; const logger = fileLogger('push-resources'); @@ -71,7 +67,7 @@ const deploymentInProgressErrorMessage = (context: $TSContext) => { context.print.error('"amplify push --force" to re-deploy'); }; -export async function run(context: $TSContext, resourceDefinition: $TSObject, rebuild: boolean = false) { +export async function run(context: $TSContext, resourceDefinition: $TSObject) { const deploymentStateManager = await DeploymentStateManager.createDeploymentStateManager(context); let iterativeDeploymentWasInvoked = false; let layerResources = []; @@ -84,7 +80,7 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re parameters: { options }, } = context; - let resources = !!context?.exeInfo?.forcePush || rebuild ? allResources : resourcesToBeCreated.concat(resourcesToBeUpdated); + let resources = !!context?.exeInfo?.forcePush ? allResources : resourcesToBeCreated.concat(resourcesToBeUpdated); layerResources = resources.filter(r => r.service === FunctionServiceNameLambdaLayer); if (deploymentStateManager.isDeploymentInProgress() && !deploymentStateManager.isDeploymentFinished()) { @@ -113,7 +109,7 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re } validateCfnTemplates(context, resources); - for (const resource of resources) { + for await (const resource of resources) { if (resource.service === ApiServiceNameElasticContainer && resource.category === 'api') { const { exposedContainer, @@ -140,7 +136,9 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re } } - for (const resource of resources.filter(r => r.category === FunctionCategoryName && r.service === FunctionServiceNameLambdaLayer)) { + for await (const resource of resources.filter( + r => r.category === FunctionCategoryName && r.service === FunctionServiceNameLambdaLayer, + )) { await legacyLayerMigration(context, resource.resourceName); } @@ -161,26 +159,17 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re } let deploymentSteps: DeploymentStep[] = []; - let functionsDependentOnReplacedModelTables: string[] = []; // location where the intermediate deployment steps are stored let stateFolder: { local?: string; cloud?: string } = {}; // Check if iterative updates are enabled or not and generate the required deployment steps if needed. if (FeatureFlags.getBoolean('graphQLTransformer.enableIterativeGSIUpdates')) { - const gqlResource = getGqlUpdatedResource(rebuild ? resources : resourcesToBeUpdated); + const gqlResource = getGqlUpdatedResource(resourcesToBeUpdated); if (gqlResource) { - const gqlManager = await GraphQLResourceManager.createInstance(context, gqlResource, cloudformationMeta.StackId, rebuild); + const gqlManager = await GraphQLResourceManager.createInstance(context, gqlResource, cloudformationMeta.StackId); deploymentSteps = await gqlManager.run(); - - // If any models are being replaced, we prepend steps to the iterative deployment to remove references to the replaced table in functions that have a dependeny on the tables - const modelsBeingReplaced = gqlManager.getTablesBeingReplaced().map(meta => meta.stackName); // stackName is the same as the model name - deploymentSteps = await prependDeploymentStepsToDisconnectFunctionsFromReplacedModelTables( - context, - modelsBeingReplaced, - deploymentSteps, - ); if (deploymentSteps.length > 1) { iterativeDeploymentWasInvoked = true; @@ -215,8 +204,7 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re resourcesToBeUpdated.length > 0 || resourcesToBeDeleted.length > 0 || tagsUpdated || - context.exeInfo.forcePush || - rebuild + context.exeInfo.forcePush ) { // If there is an API change, there will be one deployment step. But when there needs an iterative update the step count is > 1 if (deploymentSteps.length > 1) { @@ -261,11 +249,10 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject, re context.print.error(`Could not delete state directory locally: ${err}`); } } - const s3 = await S3.getInstance(context); if (stateFolder.cloud) { + const s3 = await S3.getInstance(context); await s3.deleteDirectory(cloudformationMeta.DeploymentBucketName, stateFolder.cloud); } - postDeploymentCleanup(s3, cloudformationMeta.DeploymentBucketName); } else { // Non iterative update spinner.start(); diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 8a68a5dd1fe..f192204a041 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -13,10 +13,10 @@ import { FunctionTransformer } from 'graphql-function-transformer'; import { HttpTransformer } from 'graphql-http-transformer'; import { PredictionsTransformer } from 'graphql-predictions-transformer'; import { KeyTransformer } from 'graphql-key-transformer'; -import { destructiveUpdatesFlag, ProviderName as providerName } from './constants'; +import { ProviderName as providerName } from './constants'; import { AmplifyCLIFeatureFlagAdapter } from './utils/amplify-cli-feature-flag-adapter'; import { isAmplifyAdminApp } from './utils/admin-helpers'; -import { $TSContext, JSONUtilities, stateManager } from 'amplify-cli-core'; +import { JSONUtilities, stateManager } from 'amplify-cli-core'; import { ResourceConstants } from 'graphql-transformer-common'; import { printer } from 'amplify-prompts'; @@ -61,7 +61,9 @@ export function searchablePushChecks(context, map): void { const apiCategory = teamProviderInfo[currEnv]?.categories?.api; const instanceType = apiCategory ? apiCategory[ResourceConstants.PARAMETERS.ElasticsearchInstanceType] : null; if (!instanceType || instanceType === 't2.small.elasticsearch') { - printer.warn("Your instance type for OpenSearch is t2.small, you may experience performance issues or data loss. Consider reconfiguring with the instructions here https://docs.amplify.aws/cli/graphql-transformer/searchable/") + printer.warn( + 'Your instance type for OpenSearch is t2.small, you may experience performance issues or data loss. Consider reconfiguring with the instructions here https://docs.amplify.aws/cli/graphql-transformer/searchable/', + ); } } } @@ -307,7 +309,7 @@ async function migrateProject(context, options) { } } -export async function transformGraphQLSchema(context: $TSContext, options) { +export async function transformGraphQLSchema(context, options) { const useExperimentalPipelineTransformer = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer'); if (useExperimentalPipelineTransformer) { return transformGraphQLSchemaV6(context, options); @@ -378,7 +380,7 @@ export async function transformGraphQLSchema(context: $TSContext, options) { if (!parameters && fs.existsSync(parametersFilePath)) { try { - parameters = JSONUtilities.readJson(parametersFilePath); + parameters = context.amplify.readJsonFile(parametersFilePath); } catch (e) { parameters = {}; } @@ -492,8 +494,7 @@ export async function transformGraphQLSchema(context: $TSContext, options) { } const ff = new AmplifyCLIFeatureFlagAdapter(); - const allowDestructiveUpdates = context?.input?.options?.[destructiveUpdatesFlag] || context.input?.options?.force; - const sanityCheckRulesList = getSanityCheckRules(isNewAppSyncAPI, ff, allowDestructiveUpdates); + const sanityCheckRulesList = getSanityCheckRules(isNewAppSyncAPI, ff); const buildConfig = { ...options, @@ -518,11 +519,19 @@ export async function transformGraphQLSchema(context: $TSContext, options) { if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_IAM')); } else if (!context?.parameters?.options?.yes) { - if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + if ( + err.message === + `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.` + ) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS')); - } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + } else if ( + err.message === + `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.` + ) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); - } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + } else if ( + err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.` + ) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); } else { throw err; diff --git a/packages/graphql-transformer-core/src/__tests__/util/__snapshots__/amplifyUtils.test.ts.snap b/packages/graphql-transformer-core/src/__tests__/util/__snapshots__/amplifyUtils.test.ts.snap index 3ffd983d87e..e88c9b1aabf 100644 --- a/packages/graphql-transformer-core/src/__tests__/util/__snapshots__/amplifyUtils.test.ts.snap +++ b/packages/graphql-transformer-core/src/__tests__/util/__snapshots__/amplifyUtils.test.ts.snap @@ -1,38 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`get sanity check rules sanity check rule list when destructive changes flag is present and ff enabled 1`] = `Array []`; - -exports[`get sanity check rules sanity check rule list when destructive changes flag is present and ff enabled 2`] = ` -Array [ - "cantHaveMoreThan500ResourcesRule", -] -`; - -exports[`get sanity check rules sanity check rule list when destructive changes flag is present but ff not enabled 1`] = ` -Array [ - "cantEditKeySchemaRule", - "cantAddLSILaterRule", - "cantRemoveLSILater", - "cantEditLSIKeySchemaRule", - "cantEditGSIKeySchemaRule", - "cantAddAndRemoveGSIAtSameTimeRule", -] -`; - -exports[`get sanity check rules sanity check rule list when destructive changes flag is present but ff not enabled 2`] = ` -Array [ - "cantHaveMoreThan500ResourcesRule", - "cantMutateMultipleGSIAtUpdateTimeRule", -] -`; - exports[`get sanity check rules sanitycheck rule list when api is in update status and ff enabled 1`] = ` Array [ "cantEditKeySchemaRule", "cantAddLSILaterRule", "cantRemoveLSILater", "cantEditLSIKeySchemaRule", - "cantRemoveTableAfterCreation", ] `; @@ -50,7 +23,6 @@ Array [ "cantEditLSIKeySchemaRule", "cantEditGSIKeySchemaRule", "cantAddAndRemoveGSIAtSameTimeRule", - "cantRemoveTableAfterCreation", ] `; diff --git a/packages/graphql-transformer-core/src/__tests__/util/amplifyUtils.test.ts b/packages/graphql-transformer-core/src/__tests__/util/amplifyUtils.test.ts index 40f681ea908..7d4034acbc3 100644 --- a/packages/graphql-transformer-core/src/__tests__/util/amplifyUtils.test.ts +++ b/packages/graphql-transformer-core/src/__tests__/util/amplifyUtils.test.ts @@ -32,24 +32,4 @@ describe('get sanity check rules', () => { expect(diffRulesFn).toMatchSnapshot(); expect(projectRulesFn).toMatchSnapshot(); }); - - test('sanity check rule list when destructive changes flag is present and ff enabled', () => { - const ff_mock = new AmplifyCLIFeatureFlagAdapter(); - (FeatureFlags.getBoolean).mockReturnValue(true); - const sanityCheckRules: SanityCheckRules = getSanityCheckRules(false, ff_mock, true); - const diffRulesFn = sanityCheckRules.diffRules.map(func => func.name); - const projectRulesFn = sanityCheckRules.projectRules.map(func => func.name); - expect(diffRulesFn).toMatchSnapshot(); - expect(projectRulesFn).toMatchSnapshot(); - }); - - test('sanity check rule list when destructive changes flag is present but ff not enabled', () => { - const ff_mock = new AmplifyCLIFeatureFlagAdapter(); - (FeatureFlags.getBoolean).mockReturnValue(false); - const sanityCheckRules: SanityCheckRules = getSanityCheckRules(false, ff_mock, true); - const diffRulesFn = sanityCheckRules.diffRules.map(func => func.name); - const projectRulesFn = sanityCheckRules.projectRules.map(func => func.name); - expect(diffRulesFn).toMatchSnapshot(); - expect(projectRulesFn).toMatchSnapshot(); - }); }); diff --git a/packages/graphql-transformer-core/src/errors.ts b/packages/graphql-transformer-core/src/errors.ts index 78114f1a7b7..dbfb14b1bb4 100644 --- a/packages/graphql-transformer-core/src/errors.ts +++ b/packages/graphql-transformer-core/src/errors.ts @@ -41,37 +41,23 @@ export class TransformerContractError extends Error { } } -export class DestructiveMigrationError extends Error { - constructor(message: string, private removedModels: string[], private replacedModels: string[]) { - super(message); - Object.setPrototypeOf(this, new.target.prototype); - this.name = 'DestructiveMigrationError'; - const prependSpace = (str: string) => ` ${str}`; - const removedModelsList = this.removedModels.map(prependSpace).toString().trim(); - const replacedModelsList = this.replacedModels.map(prependSpace).toString().trim(); - if (removedModelsList && replacedModelsList) { - this.message = `${this.message}\nThis update will remove table(s) [${removedModelsList}] and will replace table(s) [${replacedModelsList}]`; - } else if (removedModelsList) { - this.message = `${this.message}\nThis update will remove table(s) [${removedModelsList}]`; - } else if (replacedModelsList) { - this.message = `${this.message}\nThis update will replace table(s) [${replacedModelsList}]`; - } - this.message = `${this.message}\nALL EXISTING DATA IN THESE TABLES WILL BE LOST!\nIf this is intended, rerun the command with '--allow-destructuve-graphql-schema-updates'.`; - } - toString = () => this.message; -} - /** * Thrown by the sanity checker when a user is trying to make a migration that is known to not work. */ export class InvalidMigrationError extends Error { - constructor(message: string, public cause: string, public fix: string) { + fix: string; + cause: string; + constructor(message: string, cause: string, fix: string) { super(message); - Object.setPrototypeOf(this, new.target.prototype); + Object.setPrototypeOf(this, InvalidMigrationError.prototype); this.name = 'InvalidMigrationError'; + this.fix = fix; + this.cause = cause; } - toString = () => `${this.message}\nCause: ${this.cause}\nHow to fix: ${this.fix}`; } +InvalidMigrationError.prototype.toString = function () { + return `${this.message}\nCause: ${this.cause}\nHow to fix: ${this.fix}`; +}; export class InvalidGSIMigrationError extends InvalidMigrationError { fix: string; diff --git a/packages/graphql-transformer-core/src/util/amplifyUtils.ts b/packages/graphql-transformer-core/src/util/amplifyUtils.ts index 436dfb6177f..869fafc1914 100644 --- a/packages/graphql-transformer-core/src/util/amplifyUtils.ts +++ b/packages/graphql-transformer-core/src/util/amplifyUtils.ts @@ -10,17 +10,16 @@ import { writeConfig, TransformConfig, TransformMigrationConfig, loadProject, re import { FeatureFlagProvider } from '../FeatureFlags'; import { cantAddAndRemoveGSIAtSameTimeRule, - getCantAddLSILaterRule, - getCantRemoveLSILater, + cantAddLSILaterRule, + cantRemoveLSILater, cantEditGSIKeySchemaRule, - getCantEditKeySchemaRule, - getCantEditLSIKeySchemaRule, + cantEditKeySchemaRule, + cantEditLSIKeySchemaRule, cantHaveMoreThan500ResourcesRule, DiffRule, sanityCheckProject, ProjectRule, cantMutateMultipleGSIAtUpdateTimeRule, - cantRemoveTableAfterCreation, } from './sanity-check'; export const CLOUDFORMATION_FILE_NAME = 'cloudformation-template.json'; @@ -728,48 +727,34 @@ function getOrDefault(o: any, k: string, d: any) { return o[k] || d; } -export function getSanityCheckRules(isNewAppSyncAPI: boolean, ff: FeatureFlagProvider, allowDestructiveUpdates: boolean = false) { +export function getSanityCheckRules(isNewAppSyncAPI: boolean, ff: FeatureFlagProvider) { let diffRules: DiffRule[] = []; let projectRules: ProjectRule[] = []; // If we have iterative GSI upgrades enabled it means we only do sanity check on LSIs // as the other checks will be carried out as series of updates. if (!isNewAppSyncAPI) { - const iterativeUpdatesEnabled = ff.getBoolean('enableIterativeGSIUpdates'); - if (iterativeUpdatesEnabled) { - if (!allowDestructiveUpdates) { - diffRules.push( - // primary key rule - getCantEditKeySchemaRule(iterativeUpdatesEnabled), - - // LSI rules - getCantAddLSILaterRule(iterativeUpdatesEnabled), - getCantRemoveLSILater(iterativeUpdatesEnabled), - getCantEditLSIKeySchemaRule(iterativeUpdatesEnabled), - - // remove table rules - cantRemoveTableAfterCreation, - ); - } + if (ff.getBoolean('enableIterativeGSIUpdates')) { + diffRules.push( + // LSI + cantEditKeySchemaRule, + cantAddLSILaterRule, + cantRemoveLSILater, + cantEditLSIKeySchemaRule, + ); - // Project level rule + // Project level rules projectRules.push(cantHaveMoreThan500ResourcesRule); } else { diffRules.push( - // primary key rule - getCantEditKeySchemaRule(), - - // LSI rules - getCantAddLSILaterRule(), - getCantRemoveLSILater(), - getCantEditLSIKeySchemaRule(), - - // GSI rules + // LSI + cantEditKeySchemaRule, + cantAddLSILaterRule, + cantRemoveLSILater, + cantEditLSIKeySchemaRule, + // GSI cantEditGSIKeySchemaRule, cantAddAndRemoveGSIAtSameTimeRule, ); - if (!allowDestructiveUpdates) { - diffRules.push(cantRemoveTableAfterCreation); - } projectRules.push(cantHaveMoreThan500ResourcesRule, cantMutateMultipleGSIAtUpdateTimeRule); } diff --git a/packages/graphql-transformer-core/src/util/sanity-check.ts b/packages/graphql-transformer-core/src/util/sanity-check.ts index 1e2312c00ea..a043673b3ef 100644 --- a/packages/graphql-transformer-core/src/util/sanity-check.ts +++ b/packages/graphql-transformer-core/src/util/sanity-check.ts @@ -1,11 +1,11 @@ import * as fs from 'fs-extra'; import * as path from 'path'; import _ from 'lodash'; -import { Template, ResourceBase } from 'cloudform-types'; +import { Template } from 'cloudform-types'; import { JSONUtilities } from 'amplify-cli-core'; import { diff as getDiffs, Diff as DeepDiff } from 'deep-diff'; import { readFromPath } from './fileUtils'; -import { InvalidMigrationError, InvalidGSIMigrationError, DestructiveMigrationError } from '../errors'; +import { InvalidMigrationError, InvalidGSIMigrationError } from '../errors'; import { TRANSFORM_CONFIG_FILE_NAME } from '..'; type Diff = DeepDiff; @@ -73,29 +73,18 @@ export const sanityCheckDiffs = ( * @param currentBuild The last deployed build. * @param nextBuild The next build. */ -export const getCantEditKeySchemaRule = (iterativeUpdatesEnabled: boolean = false) => { - const cantEditKeySchemaRule = (diff: Diff): void => { - if (diff.kind === 'E' && diff.path.length === 8 && diff.path[5] === 'KeySchema') { - // diff.path = [ "stacks", "Todo.json", "Resources", "TodoTable", "Properties", "KeySchema", 0, "AttributeName"] - const stackName = path.basename(diff.path[1], '.json'); - const tableName = diff.path[3]; - - if (iterativeUpdatesEnabled) { - throw new DestructiveMigrationError( - 'Editing the primary key of a model requires replacement of the underlying DynamoDB table.', - [], - [tableName], - ); - } +export const cantEditKeySchemaRule = (diff: Diff): void => { + if (diff.kind === 'E' && diff.path.length === 8 && diff.path[5] === 'KeySchema') { + // diff.path = [ "stacks", "Todo.json", "Resources", "TodoTable", "Properties", "KeySchema", 0, "AttributeName"] + const stackName = path.basename(diff.path[1], '.json'); + const tableName = diff.path[3]; - throw new InvalidMigrationError( - `Attempting to edit the key schema of the ${tableName} table in the ${stackName} stack. `, - 'Adding a primary @key directive to an existing @model. ', - 'Remove the @key directive or provide a name e.g @key(name: "ByStatus", fields: ["status"]).', - ); - } - }; - return cantEditKeySchemaRule; + throw new InvalidMigrationError( + `Attempting to edit the key schema of the ${tableName} table in the ${stackName} stack. `, + 'Adding a primary @key directive to an existing @model. ', + 'Remove the @key directive or provide a name e.g @key(name: "ByStatus", fields: ["status"]).', + ); + } }; /** @@ -105,35 +94,24 @@ export const getCantEditKeySchemaRule = (iterativeUpdatesEnabled: boolean = fals * @param currentBuild The last deployed build. * @param nextBuild The next build. */ -export const getCantAddLSILaterRule = (iterativeUpdatesEnabled: boolean = false) => { - const cantAddLSILaterRule = (diff: Diff): void => { - if ( - // When adding a LSI to a table that has 0 LSIs. - (diff.kind === 'N' && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes') || - // When adding a LSI to a table that already has at least one LSI. - (diff.kind === 'A' && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes' && diff.item.kind === 'N') - ) { - // diff.path = [ "stacks", "Todo.json", "Resources", "TodoTable", "Properties", "LocalSecondaryIndexes" ] - const stackName = path.basename(diff.path[1], '.json'); - const tableName = diff.path[3]; - - if (iterativeUpdatesEnabled) { - throw new DestructiveMigrationError( - 'Adding an LSI to a model requires replacement of the underlying DynamoDB table.', - [], - [tableName], - ); - } +export const cantAddLSILaterRule = (diff: Diff): void => { + if ( + // When adding a LSI to a table that has 0 LSIs. + (diff.kind === 'N' && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes') || + // When adding a LSI to a table that already has at least one LSI. + (diff.kind === 'A' && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes' && diff.item.kind === 'N') + ) { + // diff.path = [ "stacks", "Todo.json", "Resources", "TodoTable", "Properties", "LocalSecondaryIndexes" ] + const stackName = path.basename(diff.path[1], '.json'); + const tableName = diff.path[3]; - throw new InvalidMigrationError( - `Attempting to add a local secondary index to the ${tableName} table in the ${stackName} stack. ` + - 'Local secondary indexes must be created when the table is created.', - "Adding a @key directive where the first field in 'fields' is the same as the first field in the 'fields' of the primary @key.", - "Change the first field in 'fields' such that a global secondary index is created or delete and recreate the model.", - ); - } - }; - return cantAddLSILaterRule; + throw new InvalidMigrationError( + `Attempting to add a local secondary index to the ${tableName} table in the ${stackName} stack. ` + + 'Local secondary indexes must be created when the table is created.', + "Adding a @key directive where the first field in 'fields' is the same as the first field in the 'fields' of the primary @key.", + "Change the first field in 'fields' such that a global secondary index is created or delete and recreate the model.", + ); + } }; /** @@ -317,78 +295,65 @@ export const cantMutateMultipleGSIAtUpdateTimeRule = (diffs: Diff[], currentBuil * @param currentBuild The last deployed build. * @param nextBuild The next build. */ -export const getCantEditLSIKeySchemaRule = (iterativeUpdatesEnabled: boolean = false) => { - const cantEditLSIKeySchemaRule = (diff: Diff, currentBuild: DiffableProject, nextBuild: DiffableProject): void => { - if ( - // ["stacks","Todo.json","Resources","TodoTable","Properties","LocalSecondaryIndexes",0,"KeySchema",0,"AttributeName"] - diff.kind === 'E' && - diff.path.length === 10 && - diff.path[5] === 'LocalSecondaryIndexes' && - diff.path[7] === 'KeySchema' - ) { - // This error is symptomatic of a change to the GSI array but does not necessarily imply a breaking change. - const pathToGSIs = diff.path.slice(0, 6); - const oldIndexes = _.get(currentBuild, pathToGSIs); - const newIndexes = _.get(nextBuild, pathToGSIs); - const oldIndexesDiffable = _.keyBy(oldIndexes, 'IndexName'); - const newIndexesDiffable = _.keyBy(newIndexes, 'IndexName'); - const innerDiffs = getDiffs(oldIndexesDiffable, newIndexesDiffable) || []; - - // We must look at this inner diff or else we could confuse a situation - // where the user adds a LSI to the beginning of the LocalSecondaryIndex list in CFN. - // We re-key the indexes list so we can determine if a change occurred to an index that - // already exists. - for (const innerDiff of innerDiffs) { - // path: ["AGSI","KeySchema",0,"AttributeName"] - if (innerDiff.kind === 'E' && innerDiff.path.length > 2 && innerDiff.path[1] === 'KeySchema') { - const indexName = innerDiff.path[0]; - const stackName = path.basename(diff.path[1], '.json'); - const tableName = diff.path[3]; - - if (iterativeUpdatesEnabled) { - throw new DestructiveMigrationError('Editing an LSI requires replacement of the underlying DynamoDB table.', [], [tableName]); - } - - throw new InvalidMigrationError( - `Attempting to edit the local secondary index ${indexName} on the ${tableName} table in the ${stackName} stack. `, - 'The key schema of a local secondary index cannot be changed after being deployed.', - 'When enabling new access patterns you should: 1. Add a new @key 2. run amplify push ' + - '3. Verify the new access pattern and remove the old @key.', - ); - } +export const cantEditLSIKeySchemaRule = (diff: Diff, currentBuild: DiffableProject, nextBuild: DiffableProject): void => { + if ( + // ["stacks","Todo.json","Resources","TodoTable","Properties","LocalSecondaryIndexes",0,"KeySchema",0,"AttributeName"] + diff.kind === 'E' && + diff.path.length === 10 && + diff.path[5] === 'LocalSecondaryIndexes' && + diff.path[7] === 'KeySchema' + ) { + // This error is symptomatic of a change to the GSI array but does not necessarily imply a breaking change. + const pathToGSIs = diff.path.slice(0, 6); + const oldIndexes = _.get(currentBuild, pathToGSIs); + const newIndexes = _.get(nextBuild, pathToGSIs); + const oldIndexesDiffable = _.keyBy(oldIndexes, 'IndexName'); + const newIndexesDiffable = _.keyBy(newIndexes, 'IndexName'); + const innerDiffs = getDiffs(oldIndexesDiffable, newIndexesDiffable) || []; + + // We must look at this inner diff or else we could confuse a situation + // where the user adds a LSI to the beginning of the LocalSecondaryIndex list in CFN. + // We re-key the indexes list so we can determine if a change occurred to an index that + // already exists. + for (const innerDiff of innerDiffs) { + // path: ["AGSI","KeySchema",0,"AttributeName"] + if (innerDiff.kind === 'E' && innerDiff.path.length > 2 && innerDiff.path[1] === 'KeySchema') { + const indexName = innerDiff.path[0]; + const stackName = path.basename(diff.path[1], '.json'); + const tableName = diff.path[3]; + + throw new InvalidMigrationError( + `Attempting to edit the local secondary index ${indexName} on the ${tableName} table in the ${stackName} stack. `, + 'The key schema of a local secondary index cannot be changed after being deployed.', + 'When enabling new access patterns you should: 1. Add a new @key 2. run amplify push ' + + '3. Verify the new access pattern and remove the old @key.', + ); } } - }; - return cantEditLSIKeySchemaRule; + } }; -export const getCantRemoveLSILater = (iterativeUpdatesEnabled: boolean = false) => { - const cantRemoveLSILater = (diff: Diff, currentBuild: DiffableProject, nextBuild: DiffableProject) => { - const throwError = (stackName: string, tableName: string): void => { - if (iterativeUpdatesEnabled) { - throw new DestructiveMigrationError('Removing an LSI requires replacement of the underlying DynamoDB table.', [], [tableName]); - } - throw new InvalidMigrationError( - `Attempting to remove a local secondary index on the ${tableName} table in the ${stackName} stack.`, - 'A local secondary index cannot be removed after deployment.', - 'In order to remove the local secondary index you need to delete or rename the table.', - ); - }; - // if removing more than one lsi - if (diff.kind === 'D' && diff.lhs && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes') { - const tableName = diff.path[3]; - const stackName = path.basename(diff.path[1], '.json'); - throwError(stackName, tableName); - } - // if removing one lsi - if (diff.kind === 'A' && diff.item.kind === 'D' && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes') { - const tableName = diff.path[3]; - const stackName = path.basename(diff.path[1], '.json'); - throwError(stackName, tableName); - } +export function cantRemoveLSILater(diff: Diff, currentBuild: DiffableProject, nextBuild: DiffableProject) { + const throwError = (stackName: string, tableName: string): void => { + throw new InvalidMigrationError( + `Attempting to remove a local secondary index on the ${tableName} table in the ${stackName} stack.`, + 'A local secondary index cannot be removed after deployment.', + 'In order to remove the local secondary index you need to delete or rename the table.', + ); }; - return cantRemoveLSILater; -}; + // if removing more than one lsi + if (diff.kind === 'D' && diff.lhs && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes') { + const tableName = diff.path[3]; + const stackName = path.basename(diff.path[1], '.json'); + throwError(stackName, tableName); + } + // if removing one lsi + if (diff.kind === 'A' && diff.item.kind === 'D' && diff.path.length === 6 && diff.path[5] === 'LocalSecondaryIndexes') { + const tableName = diff.path[3]; + const stackName = path.basename(diff.path[1], '.json'); + throwError(stackName, tableName); + } +} export const cantHaveMoreThan500ResourcesRule = (diffs: Diff[], currentBuild: DiffableProject, nextBuild: DiffableProject): void => { const stackKeys = Object.keys(nextBuild.stacks); @@ -408,23 +373,6 @@ export const cantHaveMoreThan500ResourcesRule = (diffs: Diff[], currentBuild: Di } }; -export const cantRemoveTableAfterCreation = (_: Diff, currentBuild: DiffableProject, nextBuild: DiffableProject): void => { - const getNestedStackLogicalIds = (proj: DiffableProject) => - Object.entries(proj.root.Resources || []) - .filter(([_, meta]) => meta.Type === 'AWS::CloudFormation::Stack') - .map(([name]) => name); - const currentModels = getNestedStackLogicalIds(currentBuild); - const nextModels = getNestedStackLogicalIds(nextBuild); - const removedModels = currentModels.filter(currModel => !nextModels.includes(currModel)); - if (removedModels.length > 0) { - throw new DestructiveMigrationError( - 'Removing a model from the GraphQL schema will also remove the underlying DynamoDB table.', - removedModels, - [], - ); - } -}; - const loadDiffableProject = async (path: string, rootStackName: string): Promise => { const project = await readFromPath(path); const currentStacks = project.stacks || {}; From ad8f8be6661b7c63a568485e49cc99bc38cd3606 Mon Sep 17 00:00:00 2001 From: Phani Srikar Edupuganti <55896475+phani-srikar@users.noreply.github.com> Date: Fri, 24 Sep 2021 12:20:49 -0700 Subject: [PATCH 56/64] Add pre-push hook to verify region support (#8269) * fix(amplify-category-geo): add pre-push hook to verify region support * fix(amplify-category-geo): remove test for unsupported region --- .../amplify-category-geo/amplify-plugin.json | 2 +- .../src/__tests__/commands/geo/remove.test.ts | 11 ---------- .../src/commands/geo/remove.ts | 5 ----- packages/amplify-category-geo/src/index.ts | 20 ++++++++++++++----- .../src/service-utils/resourceUtils.ts | 10 +++++++++- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/packages/amplify-category-geo/amplify-plugin.json b/packages/amplify-category-geo/amplify-plugin.json index c0e36ecff65..24b496cf3ff 100644 --- a/packages/amplify-category-geo/amplify-plugin.json +++ b/packages/amplify-category-geo/amplify-plugin.json @@ -12,5 +12,5 @@ "commandAliases":{ "configure": "update" }, - "eventHandlers": [] + "eventHandlers": ["PrePush"] } \ No newline at end of file diff --git a/packages/amplify-category-geo/src/__tests__/commands/geo/remove.test.ts b/packages/amplify-category-geo/src/__tests__/commands/geo/remove.test.ts index 893509abd8d..2d613d44045 100644 --- a/packages/amplify-category-geo/src/__tests__/commands/geo/remove.test.ts +++ b/packages/amplify-category-geo/src/__tests__/commands/geo/remove.test.ts @@ -59,15 +59,4 @@ describe('remove command tests', () => { expect(mockRemoveResource).toHaveBeenCalledWith(mockContext, service); }); - - it('remove resource workflow is not invoked for unsupported region', async() => { - mockAmplifyMeta.providers[provider] = { - Region: 'eu-west-2' - }; - stateManager.getMeta = jest.fn().mockReturnValue(mockAmplifyMeta); - - await run(mockContext); - - expect(mockRemoveResource).toBeCalledTimes(0); - }); }); diff --git a/packages/amplify-category-geo/src/commands/geo/remove.ts b/packages/amplify-category-geo/src/commands/geo/remove.ts index 73c82f4d697..2bf435392b1 100644 --- a/packages/amplify-category-geo/src/commands/geo/remove.ts +++ b/packages/amplify-category-geo/src/commands/geo/remove.ts @@ -4,17 +4,12 @@ import { supportedServices } from '../../supportedServices'; import { $TSAny, $TSContext } from 'amplify-cli-core'; import { removeResource } from '../../provider-controllers'; import { printer } from 'amplify-prompts'; -import { verifySupportedRegion } from '../../service-utils/resourceUtils'; export const name = 'remove'; export const run = async(context: $TSContext) => { const { amplify } = context; try { - if(!verifySupportedRegion()) { - return; - } - const result: {service: string, providerName: string} = await amplify.serviceSelectionPrompt(context, category, supportedServices, chooseServiceMessageRemove); if (result.providerName !== provider) { diff --git a/packages/amplify-category-geo/src/index.ts b/packages/amplify-category-geo/src/index.ts index 5c9ab4f8556..359fdfe7c88 100644 --- a/packages/amplify-category-geo/src/index.ts +++ b/packages/amplify-category-geo/src/index.ts @@ -1,11 +1,11 @@ -import { $TSContext, $TSObject, stateManager } from 'amplify-cli-core'; +import { $TSContext, $TSObject, stateManager, exitOnNextTick, $TSAny } from 'amplify-cli-core'; import { category } from './constants'; import * as addCommand from './commands/geo/add'; import * as updateCommand from './commands/geo/update'; import * as removeCommand from './commands/geo/remove'; import * as consoleCommand from './commands/geo/console'; import * as helpCommand from './commands/geo/help'; -import { getServicePermissionPolicies } from './service-utils/resourceUtils'; +import { getServicePermissionPolicies, verifySupportedRegion, checkAnyGeoResourceExists } from './service-utils/resourceUtils'; import { ServiceName } from './service-utils/constants'; import { printer } from 'amplify-prompts'; @@ -32,9 +32,19 @@ export const executeAmplifyCommand = async (context: $TSContext) => { } }; -export const handleAmplifyEvent = (context: $TSContext, args: $TSObject) => { - printer.info(`${category} handleAmplifyEvent to be implemented`); - printer.info(`Received event args ${args}`); +export const handleAmplifyEvent = async (context: $TSContext, args: $TSAny) => { + switch (args.event) { + case 'PrePush': + if((await checkAnyGeoResourceExists()) && !verifySupportedRegion()) { + const errMessage = 'Failed to create Geo resources'; + await context.usageData.emitError(new Error(errMessage)); + printer.info('Remove Geo resources using "amplify remove geo" and retry "amplify push"'); + exitOnNextTick(1); + } + break; + default: + break; + } }; export const getPermissionPolicies = (context: $TSContext, resourceOpsMapping: $TSObject) => { diff --git a/packages/amplify-category-geo/src/service-utils/resourceUtils.ts b/packages/amplify-category-geo/src/service-utils/resourceUtils.ts index 5fb1104509c..b026ab269ba 100644 --- a/packages/amplify-category-geo/src/service-utils/resourceUtils.ts +++ b/packages/amplify-category-geo/src/service-utils/resourceUtils.ts @@ -219,8 +219,16 @@ export const getServicePermissionPolicies = ( export const verifySupportedRegion = (): boolean => { const currentRegion = stateManager.getMeta()?.providers[provider]?.Region; if(!supportedRegions.includes(currentRegion)) { - printer.error(`Geo category is not supported in your region: ${currentRegion}`); + printer.error(`Geo category is not supported in the region: [${currentRegion}]`); return false; } return true; }; + +/** + * Check if any Geo resource exists + */ + export const checkAnyGeoResourceExists = async (): Promise => { + const geoMeta = stateManager.getMeta()?.[category]; + return geoMeta && Object.keys(geoMeta) && Object.keys(geoMeta).length > 0; +} From 237c42cfc45fa24077fd29b682904efda83992fa Mon Sep 17 00:00:00 2001 From: Ihrig Date: Thu, 23 Sep 2021 11:50:42 -0400 Subject: [PATCH 57/64] fix: toggle transformer v2 feature flag --- packages/amplify-cli-core/src/feature-flags/featureFlags.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-cli-core/src/feature-flags/featureFlags.ts b/packages/amplify-cli-core/src/feature-flags/featureFlags.ts index 88194256519..057869a5657 100644 --- a/packages/amplify-cli-core/src/feature-flags/featureFlags.ts +++ b/packages/amplify-cli-core/src/feature-flags/featureFlags.ts @@ -531,7 +531,7 @@ export class FeatureFlags { name: 'useExperimentalPipelinedTransformer', type: 'boolean', defaultValueForExistingProjects: false, - defaultValueForNewProjects: false, + defaultValueForNewProjects: true, }, { name: 'enableIterativeGSIUpdates', From 10cf424444a256d281d7f3a51b170c22a021889e Mon Sep 17 00:00:00 2001 From: Ihrig Date: Fri, 24 Sep 2021 15:41:39 -0400 Subject: [PATCH 58/64] fix: setup tagged release --- .circleci/config.base.yml | 17 +---------------- .circleci/config.yml | 17 +---------------- package.json | 1 + 3 files changed, 3 insertions(+), 32 deletions(-) diff --git a/.circleci/config.base.yml b/.circleci/config.base.yml index 1bf9452036a..6e96920be40 100644 --- a/.circleci/config.base.yml +++ b/.circleci/config.base.yml @@ -885,26 +885,11 @@ workflows: - npm-publish requires: - test - - mock_e2e_tests - - graphql_e2e_tests - - integration_test - - done_with_pkg_linux_e2e_tests - - amplify_sudo_install_test - - amplify_console_integration_tests - - amplify_migration_tests_latest - - amplify_migration_tests_v4 - - amplify_migration_tests_v4_30_0 - - amplify_migration_tests_non_multi_env_layers - - amplify_migration_tests_multi_env_layers - github_prerelease_install_sanity_check filters: branches: only: - - release - - master - - beta - - /tagged-release\/.*/ - - /tagged-release-without-e2e-tests\/.*/ + - tagged-release-without-e2e-tests/graphql-vnext-dev-preview - github_release: context: github-publish requires: diff --git a/.circleci/config.yml b/.circleci/config.yml index af90f2d85db..2dab06d7424 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2412,26 +2412,11 @@ workflows: - npm-publish requires: - test - - mock_e2e_tests - - graphql_e2e_tests - - integration_test - - done_with_pkg_linux_e2e_tests - - amplify_sudo_install_test - - amplify_console_integration_tests - - amplify_migration_tests_latest - - amplify_migration_tests_v4 - - amplify_migration_tests_v4_30_0 - - amplify_migration_tests_non_multi_env_layers - - amplify_migration_tests_multi_env_layers - github_prerelease_install_sanity_check filters: branches: only: - - release - - master - - beta - - /tagged-release\/.*/ - - /tagged-release-without-e2e-tests\/.*/ + - tagged-release-without-e2e-tests/graphql-vnext-dev-preview - github_release: context: github-publish requires: diff --git a/package.json b/package.json index e8b1a70f954..96a99612376 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "publish:beta": "lerna publish --exact --dist-tag=beta --preid=beta --conventional-commits --conventional-prerelease --message 'chore(release): Publish [ci skip]' --no-verify-access --yes", "publish:tag": "lerna publish --exact --dist-tag=$NPM_TAG --preid=$NPM_TAG --conventional-commits --conventional-prerelease --message 'chore(release): Publish tagged release $NPM_TAG [ci skip]' --no-verify-access --yes", "publish:release": "lerna publish --conventional-commits --exact --yes --message 'chore(release): Publish [ci skip]' --no-verify-access", + "publish:tagged-release-without-e2e-tests/graphql-vnext-dev-preview": "lerna publish --exact --dist-tag=graphql-vnext-dev-preview --preid=graphql-vnext-dev-preview --conventional-commits --conventional-prerelease --message 'chore(release): Publish [ci skip]' --no-verify-access --yes", "postpublish:release": "git fetch . release:master && git push origin master", "yarn-use-bash": "yarn config set script-shell /bin/bash", "verdaccio-start": "source .circleci/local_publish_helpers.sh && startLocalRegistry \"$(pwd)/.circleci/verdaccio.yaml\"", From badcab2b12f3b791027c34982008e4917ac39c99 Mon Sep 17 00:00:00 2001 From: aws-amplify-bot Date: Mon, 27 Sep 2021 19:17:17 +0000 Subject: [PATCH 59/64] chore(release): Publish tagged release $NPM_TAG [ci skip] - amplify-app@3.0.13-graphql-vnext-dev-preview.0 - amplify-category-analytics@2.21.22-graphql-vnext-dev-preview.0 - amplify-category-api@2.32.0-graphql-vnext-dev-preview.0 - amplify-category-auth@2.38.2-graphql-vnext-dev-preview.0 - amplify-category-function@2.35.0-graphql-vnext-dev-preview.0 - amplify-category-geo@1.0.1-graphql-vnext-dev-preview.0 - amplify-category-hosting@2.7.22-graphql-vnext-dev-preview.0 - amplify-category-interactions@2.6.6-graphql-vnext-dev-preview.0 - amplify-category-predictions@2.9.13-graphql-vnext-dev-preview.0 - amplify-category-storage@2.12.10-graphql-vnext-dev-preview.0 - amplify-category-xr@2.8.22-graphql-vnext-dev-preview.0 - amplify-cli-core@1.30.0-graphql-vnext-dev-preview.0 - @aws-amplify/cli@6.1.0-graphql-vnext-dev-preview.0 - amplify-console-hosting@1.9.13-graphql-vnext-dev-preview.0 - amplify-console-integration-tests@1.8.10-graphql-vnext-dev-preview.0 - amplify-container-hosting@1.3.24-graphql-vnext-dev-preview.0 - amplify-dotnet-function-template-provider@1.5.22-graphql-vnext-dev-preview.0 - amplify-dynamodb-simulator@1.19.13-graphql-vnext-dev-preview.0 - amplify-e2e-core@1.27.0-graphql-vnext-dev-preview.0 - amplify-e2e-tests@2.51.0-graphql-vnext-dev-preview.0 - amplify-frontend-ios@2.20.15-graphql-vnext-dev-preview.0 - amplify-frontend-javascript@2.24.2-graphql-vnext-dev-preview.0 - amplify-go-function-runtime-provider@1.9.5-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-auth-transformer@0.2.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-function-transformer@0.5.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-http-transformer@0.5.4-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-index-transformer@0.4.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-predictions-transformer@0.4.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-relational-transformer@0.3.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-searchable-transformer@0.7.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-transformer-core@0.10.0-graphql-vnext-dev-preview.0 - @aws-amplify/graphql-transformer-interfaces@1.10.0-graphql-vnext-dev-preview.0 - amplify-headless-interface@1.11.0-graphql-vnext-dev-preview.0 - amplify-java-function-runtime-provider@1.8.15-graphql-vnext-dev-preview.0 - amplify-migration-tests@3.2.0-graphql-vnext-dev-preview.0 - amplify-nodejs-function-runtime-provider@1.6.12-graphql-vnext-dev-preview.0 - amplify-nodejs-function-template-provider@1.6.22-graphql-vnext-dev-preview.0 - amplify-prompts@1.2.0-graphql-vnext-dev-preview.0 - amplify-provider-awscloudformation@4.61.0-graphql-vnext-dev-preview.0 - amplify-python-function-runtime-provider@1.9.12-graphql-vnext-dev-preview.0 - amplify-util-headless-input@1.5.5-graphql-vnext-dev-preview.0 - amplify-util-import@1.5.13-graphql-vnext-dev-preview.0 - amplify-util-mock@3.34.6-graphql-vnext-dev-preview.0 - graphql-auth-transformer@6.25.0-graphql-vnext-dev-preview.0 - graphql-connection-transformer@4.21.23-graphql-vnext-dev-preview.0 - graphql-dynamodb-transformer@6.22.23-graphql-vnext-dev-preview.0 - graphql-elasticsearch-transformer@4.12.2-graphql-vnext-dev-preview.0 - graphql-function-transformer@2.5.22-graphql-vnext-dev-preview.0 - graphql-http-transformer@4.18.10-graphql-vnext-dev-preview.0 - graphql-key-transformer@2.23.23-graphql-vnext-dev-preview.0 - graphql-mapping-template@4.19.0-graphql-vnext-dev-preview.0 - graphql-predictions-transformer@2.5.22-graphql-vnext-dev-preview.0 - graphql-relational-schema-transformer@2.18.7-graphql-vnext-dev-preview.0 - graphql-transformer-common@4.19.10-graphql-vnext-dev-preview.0 - graphql-transformer-core@6.30.0-graphql-vnext-dev-preview.0 - graphql-transformers-e2e-tests@6.27.0-graphql-vnext-dev-preview.0 - graphql-versioned-transformer@4.17.23-graphql-vnext-dev-preview.0 --- packages/amplify-app/CHANGELOG.md | 8 +++ packages/amplify-app/package.json | 6 +- .../amplify-category-analytics/CHANGELOG.md | 8 +++ .../amplify-category-analytics/package.json | 4 +- packages/amplify-category-api/CHANGELOG.md | 25 +++++++++ packages/amplify-category-api/package.json | 12 ++-- packages/amplify-category-auth/CHANGELOG.md | 12 ++++ packages/amplify-category-auth/package.json | 10 ++-- .../amplify-category-function/CHANGELOG.md | 16 ++++++ .../amplify-category-function/package.json | 6 +- packages/amplify-category-geo/CHANGELOG.md | 7 +++ packages/amplify-category-geo/package.json | 14 ++--- .../amplify-category-hosting/CHANGELOG.md | 8 +++ .../amplify-category-hosting/package.json | 4 +- .../CHANGELOG.md | 8 +++ .../package.json | 4 +- .../amplify-category-predictions/CHANGELOG.md | 8 +++ .../amplify-category-predictions/package.json | 4 +- .../amplify-category-storage/CHANGELOG.md | 8 +++ .../amplify-category-storage/package.json | 8 +-- packages/amplify-category-xr/CHANGELOG.md | 8 +++ packages/amplify-category-xr/package.json | 4 +- packages/amplify-cli-core/CHANGELOG.md | 25 +++++++++ packages/amplify-cli-core/package.json | 4 +- packages/amplify-cli/CHANGELOG.md | 23 ++++++++ packages/amplify-cli/package.json | 56 +++++++++---------- packages/amplify-console-hosting/CHANGELOG.md | 8 +++ packages/amplify-console-hosting/package.json | 4 +- .../CHANGELOG.md | 8 +++ .../package.json | 4 +- .../amplify-container-hosting/CHANGELOG.md | 8 +++ .../amplify-container-hosting/package.json | 4 +- .../CHANGELOG.md | 8 +++ .../package.json | 6 +- .../amplify-dynamodb-simulator/CHANGELOG.md | 8 +++ .../amplify-dynamodb-simulator/package.json | 4 +- packages/amplify-e2e-core/CHANGELOG.md | 17 ++++++ packages/amplify-e2e-core/package.json | 8 +-- packages/amplify-e2e-tests/CHANGELOG.md | 18 ++++++ packages/amplify-e2e-tests/package.json | 8 +-- packages/amplify-frontend-ios/CHANGELOG.md | 8 +++ packages/amplify-frontend-ios/package.json | 4 +- .../amplify-frontend-javascript/CHANGELOG.md | 8 +++ .../amplify-frontend-javascript/package.json | 4 +- .../CHANGELOG.md | 8 +++ .../package.json | 4 +- .../CHANGELOG.md | 16 ++++++ .../package.json | 22 ++++---- .../CHANGELOG.md | 11 ++++ .../package.json | 10 ++-- .../CHANGELOG.md | 8 +++ .../package.json | 10 ++-- .../CHANGELOG.md | 16 ++++++ .../package.json | 12 ++-- .../CHANGELOG.md | 20 +++++++ .../package.json | 14 ++--- .../CHANGELOG.md | 11 ++++ .../package.json | 10 ++-- .../CHANGELOG.md | 12 ++++ .../package.json | 14 ++--- .../CHANGELOG.md | 17 ++++++ .../package.json | 10 ++-- .../CHANGELOG.md | 20 +++++++ .../package.json | 14 ++--- .../CHANGELOG.md | 17 ++++++ .../package.json | 2 +- .../amplify-headless-interface/CHANGELOG.md | 11 ++++ .../amplify-headless-interface/package.json | 2 +- .../CHANGELOG.md | 8 +++ .../package.json | 4 +- packages/amplify-migration-tests/CHANGELOG.md | 11 ++++ packages/amplify-migration-tests/package.json | 6 +- .../CHANGELOG.md | 8 +++ .../package.json | 4 +- .../CHANGELOG.md | 8 +++ .../package.json | 6 +- packages/amplify-prompts/CHANGELOG.md | 17 ++++++ packages/amplify-prompts/package.json | 2 +- .../CHANGELOG.md | 29 ++++++++++ .../package.json | 46 +++++++-------- .../CHANGELOG.md | 8 +++ .../package.json | 4 +- .../amplify-util-headless-input/CHANGELOG.md | 8 +++ .../amplify-util-headless-input/package.json | 4 +- packages/amplify-util-import/CHANGELOG.md | 8 +++ packages/amplify-util-import/package.json | 4 +- packages/amplify-util-mock/CHANGELOG.md | 8 +++ packages/amplify-util-mock/package.json | 26 ++++----- .../graphql-auth-transformer/CHANGELOG.md | 16 ++++++ .../graphql-auth-transformer/package.json | 16 +++--- .../CHANGELOG.md | 8 +++ .../package.json | 12 ++-- .../graphql-dynamodb-transformer/CHANGELOG.md | 11 ++++ .../graphql-dynamodb-transformer/package.json | 8 +-- .../CHANGELOG.md | 8 +++ .../package.json | 10 ++-- .../graphql-function-transformer/CHANGELOG.md | 8 +++ .../graphql-function-transformer/package.json | 8 +-- .../graphql-http-transformer/CHANGELOG.md | 8 +++ .../graphql-http-transformer/package.json | 8 +-- packages/graphql-key-transformer/CHANGELOG.md | 8 +++ packages/graphql-key-transformer/package.json | 10 ++-- .../graphql-mapping-template/CHANGELOG.md | 11 ++++ .../graphql-mapping-template/package.json | 2 +- .../CHANGELOG.md | 8 +++ .../package.json | 8 +-- .../CHANGELOG.md | 12 ++++ .../package.json | 6 +- .../graphql-transformer-common/CHANGELOG.md | 11 ++++ .../graphql-transformer-common/package.json | 4 +- .../graphql-transformer-core/CHANGELOG.md | 17 ++++++ .../graphql-transformer-core/package.json | 6 +- .../CHANGELOG.md | 17 ++++++ .../package.json | 32 +++++------ .../CHANGELOG.md | 8 +++ .../package.json | 10 ++-- 116 files changed, 962 insertions(+), 276 deletions(-) diff --git a/packages/amplify-app/CHANGELOG.md b/packages/amplify-app/CHANGELOG.md index 176be919d08..14e901c9af4 100644 --- a/packages/amplify-app/CHANGELOG.md +++ b/packages/amplify-app/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.0.13-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-app@3.0.12...amplify-app@3.0.13-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-app + + + + + ## [3.0.12](https://github.com/aws-amplify/amplify-cli/compare/amplify-app@3.0.11...amplify-app@3.0.12) (2021-09-18) **Note:** Version bump only for package amplify-app diff --git a/packages/amplify-app/package.json b/packages/amplify-app/package.json index 905d7036292..0548c26dada 100644 --- a/packages/amplify-app/package.json +++ b/packages/amplify-app/package.json @@ -1,6 +1,6 @@ { "name": "amplify-app", - "version": "3.0.12", + "version": "3.0.13-graphql-vnext-dev-preview.0", "description": "Amplify CLI", "repository": { "type": "git", @@ -30,8 +30,8 @@ "dependencies": { "amplify-frontend-android": "2.15.4", "amplify-frontend-flutter": "0.4.4", - "amplify-frontend-ios": "2.20.14", - "amplify-frontend-javascript": "2.24.1", + "amplify-frontend-ios": "2.20.15-graphql-vnext-dev-preview.0", + "amplify-frontend-javascript": "2.24.2-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "execa": "^5.1.1", "fs-extra": "^8.1.0", diff --git a/packages/amplify-category-analytics/CHANGELOG.md b/packages/amplify-category-analytics/CHANGELOG.md index f528e9ed360..93e77e59401 100644 --- a/packages/amplify-category-analytics/CHANGELOG.md +++ b/packages/amplify-category-analytics/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.21.22-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-analytics@2.21.21...amplify-category-analytics@2.21.22-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-category-analytics + + + + + ## [2.21.21](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-analytics@2.21.20...amplify-category-analytics@2.21.21) (2021-09-18) **Note:** Version bump only for package amplify-category-analytics diff --git a/packages/amplify-category-analytics/package.json b/packages/amplify-category-analytics/package.json index e51528a9a8b..5372b1ff13c 100644 --- a/packages/amplify-category-analytics/package.json +++ b/packages/amplify-category-analytics/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-analytics", - "version": "2.21.21", + "version": "2.21.22-graphql-vnext-dev-preview.0", "description": "amplify-cli analytics plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "aws" ], "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "fs-extra": "^8.1.0", "inquirer": "^7.3.3", "uuid": "^3.4.0" diff --git a/packages/amplify-category-api/CHANGELOG.md b/packages/amplify-category-api/CHANGELOG.md index 25ae29ee68d..0159aa98e43 100644 --- a/packages/amplify-category-api/CHANGELOG.md +++ b/packages/amplify-category-api/CHANGELOG.md @@ -3,6 +3,31 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.32.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-api@2.31.23...amplify-category-api@2.32.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* [#8223](https://github.com/aws-amplify/amplify-cli/issues/8223), conversion to typescript ([#8245](https://github.com/aws-amplify/amplify-cli/issues/8245)) ([096e6ca](https://github.com/aws-amplify/amplify-cli/commit/096e6ca19b94aa40ef249ea98d008380395afa16)) +* update dependency versions ([b4cbe97](https://github.com/aws-amplify/amplify-cli/commit/b4cbe97ea09f392469b4b84727db297228daf129)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* **amplify-provider-awscloudformation:** match env directive field for sandbox mode ([#3](https://github.com/aws-amplify/amplify-cli/issues/3)) ([3158549](https://github.com/aws-amplify/amplify-cli/commit/31585492fd4c358903d68d9640e9ac53e9b32eef)) +* **cli-api:** improve add and update api ([02af6b5](https://github.com/aws-amplify/amplify-cli/commit/02af6b582367b584ad755c889fb04722af355368)) +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + ## [2.31.23](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-api@2.31.22...amplify-category-api@2.31.23) (2021-09-18) **Note:** Version bump only for package amplify-category-api diff --git a/packages/amplify-category-api/package.json b/packages/amplify-category-api/package.json index 04d8cdc1964..2a5f6545363 100644 --- a/packages/amplify-category-api/package.json +++ b/packages/amplify-category-api/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-api", - "version": "2.31.23", + "version": "2.32.0-graphql-vnext-dev-preview.0", "description": "amplify-cli api plugin", "repository": { "type": "git", @@ -63,15 +63,15 @@ "@aws-cdk/region-info": "~1.124.0", "@graphql-tools/merge": "^6.0.18", "@octokit/rest": "^18.0.9", - "amplify-cli-core": "1.29.0", - "amplify-headless-interface": "1.10.0", - "amplify-util-headless-input": "1.5.4", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", + "amplify-headless-interface": "1.11.0-graphql-vnext-dev-preview.0", + "amplify-util-headless-input": "1.5.5-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "constructs": "^3.3.125", "fs-extra": "^8.1.0", "graphql": "^14.5.8", - "graphql-relational-schema-transformer": "2.18.6", - "graphql-transformer-core": "6.29.7", + "graphql-relational-schema-transformer": "2.18.7-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "inquirer": "^7.3.3", "js-yaml": "^4.0.0", "lodash": "^4.17.21", diff --git a/packages/amplify-category-auth/CHANGELOG.md b/packages/amplify-category-auth/CHANGELOG.md index 6ec9fe340a3..9bed6be2492 100644 --- a/packages/amplify-category-auth/CHANGELOG.md +++ b/packages/amplify-category-auth/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.38.2-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-auth@2.38.1...amplify-category-auth@2.38.2-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* add missing await, fix import paths ([#8199](https://github.com/aws-amplify/amplify-cli/issues/8199)) ([51c4dd9](https://github.com/aws-amplify/amplify-cli/commit/51c4dd9c021d894fe2c06fc005e1e1960fe4529c)) +* **amplify-category-auth:** update front end config on pull ([#8173](https://github.com/aws-amplify/amplify-cli/issues/8173)) ([da2b008](https://github.com/aws-amplify/amplify-cli/commit/da2b0083add2f5b10520efade8628080a34c8791)) + + + + + ## [2.38.1](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-auth@2.38.0...amplify-category-auth@2.38.1) (2021-09-20) diff --git a/packages/amplify-category-auth/package.json b/packages/amplify-category-auth/package.json index 4a8265e158a..ac35fc45f83 100644 --- a/packages/amplify-category-auth/package.json +++ b/packages/amplify-category-auth/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-auth", - "version": "2.38.1", + "version": "2.38.2-graphql-vnext-dev-preview.0", "description": "amplify-cli authentication plugin", "repository": { "type": "git", @@ -23,10 +23,10 @@ "test-watch": "jest --watch" }, "dependencies": { - "amplify-cli-core": "1.29.0", - "amplify-headless-interface": "1.10.0", - "amplify-util-headless-input": "1.5.4", - "amplify-util-import": "1.5.12", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", + "amplify-headless-interface": "1.11.0-graphql-vnext-dev-preview.0", + "amplify-util-headless-input": "1.5.5-graphql-vnext-dev-preview.0", + "amplify-util-import": "1.5.13-graphql-vnext-dev-preview.0", "aws-cdk": "~1.124.0", "aws-sdk": "^2.963.0", "chalk": "^4.1.1", diff --git a/packages/amplify-category-function/CHANGELOG.md b/packages/amplify-category-function/CHANGELOG.md index db371a3f98d..9b27c41a294 100644 --- a/packages/amplify-category-function/CHANGELOG.md +++ b/packages/amplify-category-function/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.35.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-function@2.34.7...amplify-category-function@2.35.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + ## [2.34.7](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-function@2.34.6...amplify-category-function@2.34.7) (2021-09-18) **Note:** Version bump only for package amplify-category-function diff --git a/packages/amplify-category-function/package.json b/packages/amplify-category-function/package.json index 5b9d38614c0..7b29d42f804 100644 --- a/packages/amplify-category-function/package.json +++ b/packages/amplify-category-function/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-function", - "version": "2.34.7", + "version": "2.35.0-graphql-vnext-dev-preview.0", "description": "amplify-cli function plugin", "repository": { "type": "git", @@ -22,7 +22,7 @@ "aws" ], "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-function-plugin-interface": "1.9.1", "archiver": "^5.3.0", "aws-sdk": "^2.963.0", @@ -32,7 +32,7 @@ "folder-hash": "^4.0.1", "fs-extra": "^8.1.0", "globby": "^11.0.3", - "graphql-transformer-core": "6.29.7", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "inquirer": "^7.3.3", "inquirer-datepicker": "^2.0.0", "jstreemap": "^1.28.2", diff --git a/packages/amplify-category-geo/CHANGELOG.md b/packages/amplify-category-geo/CHANGELOG.md index e4d87c4d45c..eb62117caff 100644 --- a/packages/amplify-category-geo/CHANGELOG.md +++ b/packages/amplify-category-geo/CHANGELOG.md @@ -2,3 +2,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## 1.0.1-graphql-vnext-dev-preview.0 (2021-09-27) + + +### Bug Fixes + +* add missing await, fix import paths ([#8199](https://github.com/aws-amplify/amplify-cli/issues/8199)) ([51c4dd9](https://github.com/aws-amplify/amplify-cli/commit/51c4dd9c021d894fe2c06fc005e1e1960fe4529c)) diff --git a/packages/amplify-category-geo/package.json b/packages/amplify-category-geo/package.json index 5653c43499b..854375f4d96 100644 --- a/packages/amplify-category-geo/package.json +++ b/packages/amplify-category-geo/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-geo", - "version": "1.0.0", + "version": "1.0.1-graphql-vnext-dev-preview.0", "description": "Amplify CLI plugin to manage the Geo resources for the project", "repository": { "type": "git", @@ -22,8 +22,11 @@ "aws" ], "dependencies": { - "amplify-cli-core": "1.29.0", - "amplify-prompts": "1.1.2", + "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/aws-location": "~1.124.0", + "@aws-cdk/core": "~1.124.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", + "amplify-prompts": "1.2.0-graphql-vnext-dev-preview.0", "folder-hash": "^4.0.1", "fs-extra": "^8.1.0", "globby": "^11.0.3", @@ -31,10 +34,7 @@ "lodash": "^4.17.19", "mime-types": "^2.1.26", "promise-sequential": "^1.1.1", - "uuid": "^8.3.2", - "@aws-cdk/core": "~1.124.0", - "@aws-cdk/aws-location": "~1.124.0", - "@aws-cdk/aws-iam": "~1.124.0" + "uuid": "^8.3.2" }, "jest": { "collectCoverage": true, diff --git a/packages/amplify-category-hosting/CHANGELOG.md b/packages/amplify-category-hosting/CHANGELOG.md index 04ccf5b9bf1..6e990c655bb 100644 --- a/packages/amplify-category-hosting/CHANGELOG.md +++ b/packages/amplify-category-hosting/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.7.22-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-hosting@2.7.21...amplify-category-hosting@2.7.22-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-category-hosting + + + + + ## [2.7.21](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-hosting@2.7.20...amplify-category-hosting@2.7.21) (2021-09-18) **Note:** Version bump only for package amplify-category-hosting diff --git a/packages/amplify-category-hosting/package.json b/packages/amplify-category-hosting/package.json index bd3d9a08ff5..a86949acccb 100644 --- a/packages/amplify-category-hosting/package.json +++ b/packages/amplify-category-hosting/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-hosting", - "version": "2.7.21", + "version": "2.7.22-graphql-vnext-dev-preview.0", "description": "amplify-cli hosting plugin", "repository": { "type": "git", @@ -18,7 +18,7 @@ "test": "jest --coverage" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "fs-extra": "^8.1.0", "inquirer": "^7.3.3", diff --git a/packages/amplify-category-interactions/CHANGELOG.md b/packages/amplify-category-interactions/CHANGELOG.md index b3d3243f47d..ac1036c89c2 100644 --- a/packages/amplify-category-interactions/CHANGELOG.md +++ b/packages/amplify-category-interactions/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.6.6-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-interactions@2.6.5...amplify-category-interactions@2.6.6-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-category-interactions + + + + + ## [2.6.5](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-interactions@2.6.4...amplify-category-interactions@2.6.5) (2021-09-18) **Note:** Version bump only for package amplify-category-interactions diff --git a/packages/amplify-category-interactions/package.json b/packages/amplify-category-interactions/package.json index bebbd9e2ddd..40097ed83bc 100644 --- a/packages/amplify-category-interactions/package.json +++ b/packages/amplify-category-interactions/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-interactions", - "version": "2.6.5", + "version": "2.6.6-graphql-vnext-dev-preview.0", "description": "amplify-cli interactions plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "aws" ], "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "fs-extra": "^8.1.0", "fuzzy": "^0.1.3", "inquirer": "^7.3.3", diff --git a/packages/amplify-category-predictions/CHANGELOG.md b/packages/amplify-category-predictions/CHANGELOG.md index ef8ac542b7f..b2dc8ed0bf9 100644 --- a/packages/amplify-category-predictions/CHANGELOG.md +++ b/packages/amplify-category-predictions/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.9.13-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-predictions@2.9.12...amplify-category-predictions@2.9.13-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-category-predictions + + + + + ## [2.9.12](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-predictions@2.9.11...amplify-category-predictions@2.9.12) (2021-09-18) **Note:** Version bump only for package amplify-category-predictions diff --git a/packages/amplify-category-predictions/package.json b/packages/amplify-category-predictions/package.json index f2b4ca21618..65201d702fa 100644 --- a/packages/amplify-category-predictions/package.json +++ b/packages/amplify-category-predictions/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-predictions", - "version": "2.9.12", + "version": "2.9.13-graphql-vnext-dev-preview.0", "description": "amplify-cli predictions plugin", "repository": { "type": "git", @@ -15,7 +15,7 @@ "aws" ], "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "aws-sdk": "^2.963.0", "chalk": "^4.1.1", "fs-extra": "^8.1.0", diff --git a/packages/amplify-category-storage/CHANGELOG.md b/packages/amplify-category-storage/CHANGELOG.md index 9d5ca73a2b5..3d33b1bbb0a 100644 --- a/packages/amplify-category-storage/CHANGELOG.md +++ b/packages/amplify-category-storage/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.12.10-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-storage@2.12.9...amplify-category-storage@2.12.10-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-category-storage + + + + + ## [2.12.9](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-storage@2.12.8...amplify-category-storage@2.12.9) (2021-09-18) **Note:** Version bump only for package amplify-category-storage diff --git a/packages/amplify-category-storage/package.json b/packages/amplify-category-storage/package.json index bd53c0c6e62..2e2af7185c9 100644 --- a/packages/amplify-category-storage/package.json +++ b/packages/amplify-category-storage/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-storage", - "version": "2.12.9", + "version": "2.12.10-graphql-vnext-dev-preview.0", "description": "amplify-cli storage plugin", "repository": { "type": "git", @@ -22,9 +22,9 @@ "aws" ], "dependencies": { - "amplify-cli-core": "1.29.0", - "amplify-prompts": "1.1.2", - "amplify-util-import": "1.5.12", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", + "amplify-prompts": "1.2.0-graphql-vnext-dev-preview.0", + "amplify-util-import": "1.5.13-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "cloudform-types": "^4.2.0", "enquirer": "^2.3.6", diff --git a/packages/amplify-category-xr/CHANGELOG.md b/packages/amplify-category-xr/CHANGELOG.md index 8210532238d..32bb5165420 100644 --- a/packages/amplify-category-xr/CHANGELOG.md +++ b/packages/amplify-category-xr/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.8.22-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-xr@2.8.21...amplify-category-xr@2.8.22-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-category-xr + + + + + ## [2.8.21](https://github.com/aws-amplify/amplify-cli/compare/amplify-category-xr@2.8.20...amplify-category-xr@2.8.21) (2021-09-18) **Note:** Version bump only for package amplify-category-xr diff --git a/packages/amplify-category-xr/package.json b/packages/amplify-category-xr/package.json index c2c3d13f25d..ac5c4266ead 100644 --- a/packages/amplify-category-xr/package.json +++ b/packages/amplify-category-xr/package.json @@ -1,6 +1,6 @@ { "name": "amplify-category-xr", - "version": "2.8.21", + "version": "2.8.22-graphql-vnext-dev-preview.0", "description": "amplify-cli xr plugin", "repository": { "type": "git", @@ -19,7 +19,7 @@ "test-watch": "jest --watch" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "fs-extra": "^8.1.0", "inquirer": "^7.3.3" diff --git a/packages/amplify-cli-core/CHANGELOG.md b/packages/amplify-cli-core/CHANGELOG.md index ebedb48de80..62f2ef6ac4e 100644 --- a/packages/amplify-cli-core/CHANGELOG.md +++ b/packages/amplify-cli-core/CHANGELOG.md @@ -3,6 +3,31 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.30.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-cli-core@1.29.0...amplify-cli-core@1.30.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* [#8223](https://github.com/aws-amplify/amplify-cli/issues/8223), conversion to typescript ([#8245](https://github.com/aws-amplify/amplify-cli/issues/8245)) ([096e6ca](https://github.com/aws-amplify/amplify-cli/commit/096e6ca19b94aa40ef249ea98d008380395afa16)) +* **amplify-cli-core:** add service mapping FFs ([#7024](https://github.com/aws-amplify/amplify-cli/issues/7024)) ([36fe24d](https://github.com/aws-amplify/amplify-cli/commit/36fe24db9f37a8a12d50f1e20ea44562eb44d04a)) +* toggle transformer v2 feature flag ([237c42c](https://github.com/aws-amplify/amplify-cli/commit/237c42cfc45fa24077fd29b682904efda83992fa)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* **amplify-provider-awscloudformation:** match env directive field for sandbox mode ([#3](https://github.com/aws-amplify/amplify-cli/issues/3)) ([3158549](https://github.com/aws-amplify/amplify-cli/commit/31585492fd4c358903d68d9640e9ac53e9b32eef)) +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + # [1.29.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-cli-core@1.28.0...amplify-cli-core@1.29.0) (2021-09-18) diff --git a/packages/amplify-cli-core/package.json b/packages/amplify-cli-core/package.json index 651efff8a80..e8073cacd65 100644 --- a/packages/amplify-cli-core/package.json +++ b/packages/amplify-cli-core/package.json @@ -1,6 +1,6 @@ { "name": "amplify-cli-core", - "version": "1.29.0", + "version": "1.30.0-graphql-vnext-dev-preview.0", "description": "Amplify CLI Core", "repository": { "type": "git", @@ -26,7 +26,7 @@ "dependencies": { "ajv": "^6.12.3", "amplify-cli-logger": "1.1.0", - "amplify-prompts": "1.1.2", + "amplify-prompts": "1.2.0-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "ci-info": "^2.0.0", "cloudform-types": "^4.2.0", diff --git a/packages/amplify-cli/CHANGELOG.md b/packages/amplify-cli/CHANGELOG.md index 40dda810eb8..acb3019e5ff 100644 --- a/packages/amplify-cli/CHANGELOG.md +++ b/packages/amplify-cli/CHANGELOG.md @@ -3,6 +3,29 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.1.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/cli@6.0.1...@aws-amplify/cli@6.1.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **amplify-category-auth:** update front end config on pull ([#8173](https://github.com/aws-amplify/amplify-cli/issues/8173)) ([da2b008](https://github.com/aws-amplify/amplify-cli/commit/da2b0083add2f5b10520efade8628080a34c8791)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* **amplify-provider-awscloudformation:** match env directive field for sandbox mode ([#3](https://github.com/aws-amplify/amplify-cli/issues/3)) ([3158549](https://github.com/aws-amplify/amplify-cli/commit/31585492fd4c358903d68d9640e9ac53e9b32eef)) +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + ## [6.0.1](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/cli@6.0.0...@aws-amplify/cli@6.0.1) (2021-09-20) **Note:** Version bump only for package @aws-amplify/cli diff --git a/packages/amplify-cli/package.json b/packages/amplify-cli/package.json index c892a0c9b4e..03f3b61ef1b 100644 --- a/packages/amplify-cli/package.json +++ b/packages/amplify-cli/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/cli", - "version": "6.0.1", + "version": "6.1.0-graphql-vnext-dev-preview.0", "description": "Amplify CLI", "repository": { "type": "git", @@ -34,41 +34,41 @@ }, "dependencies": { "@aws-cdk/cloudformation-diff": "~1.124.0", - "amplify-app": "3.0.12", - "amplify-category-analytics": "2.21.21", - "amplify-category-api": "2.31.23", - "amplify-category-auth": "2.38.1", - "amplify-category-function": "2.34.7", - "amplify-category-geo": "1.0.0", - "amplify-category-hosting": "2.7.21", - "amplify-category-interactions": "2.6.5", + "amplify-app": "3.0.13-graphql-vnext-dev-preview.0", + "amplify-category-analytics": "2.21.22-graphql-vnext-dev-preview.0", + "amplify-category-api": "2.32.0-graphql-vnext-dev-preview.0", + "amplify-category-auth": "2.38.2-graphql-vnext-dev-preview.0", + "amplify-category-function": "2.35.0-graphql-vnext-dev-preview.0", + "amplify-category-geo": "1.0.1-graphql-vnext-dev-preview.0", + "amplify-category-hosting": "2.7.22-graphql-vnext-dev-preview.0", + "amplify-category-interactions": "2.6.6-graphql-vnext-dev-preview.0", "amplify-category-notifications": "2.19.4", - "amplify-category-predictions": "2.9.12", - "amplify-category-storage": "2.12.9", - "amplify-category-xr": "2.8.21", - "amplify-cli-core": "1.29.0", + "amplify-category-predictions": "2.9.13-graphql-vnext-dev-preview.0", + "amplify-category-storage": "2.12.10-graphql-vnext-dev-preview.0", + "amplify-category-xr": "2.8.22-graphql-vnext-dev-preview.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-cli-logger": "1.1.0", "amplify-codegen": "^2.23.1", - "amplify-console-hosting": "1.9.12", - "amplify-container-hosting": "1.3.23", + "amplify-console-hosting": "1.9.13-graphql-vnext-dev-preview.0", + "amplify-container-hosting": "1.3.24-graphql-vnext-dev-preview.0", "amplify-dotnet-function-runtime-provider": "1.6.3", - "amplify-dotnet-function-template-provider": "1.5.21", + "amplify-dotnet-function-template-provider": "1.5.22-graphql-vnext-dev-preview.0", "amplify-frontend-android": "2.15.4", "amplify-frontend-flutter": "0.4.4", - "amplify-frontend-ios": "2.20.14", - "amplify-frontend-javascript": "2.24.1", - "amplify-go-function-runtime-provider": "1.9.4", + "amplify-frontend-ios": "2.20.15-graphql-vnext-dev-preview.0", + "amplify-frontend-javascript": "2.24.2-graphql-vnext-dev-preview.0", + "amplify-go-function-runtime-provider": "1.9.5-graphql-vnext-dev-preview.0", "amplify-go-function-template-provider": "1.3.10", - "amplify-java-function-runtime-provider": "1.8.14", + "amplify-java-function-runtime-provider": "1.8.15-graphql-vnext-dev-preview.0", "amplify-java-function-template-provider": "1.5.9", - "amplify-nodejs-function-runtime-provider": "1.6.11", - "amplify-nodejs-function-template-provider": "1.6.21", - "amplify-prompts": "1.1.2", - "amplify-provider-awscloudformation": "4.60.1", - "amplify-python-function-runtime-provider": "1.9.11", + "amplify-nodejs-function-runtime-provider": "1.6.12-graphql-vnext-dev-preview.0", + "amplify-nodejs-function-template-provider": "1.6.22-graphql-vnext-dev-preview.0", + "amplify-prompts": "1.2.0-graphql-vnext-dev-preview.0", + "amplify-provider-awscloudformation": "4.61.0-graphql-vnext-dev-preview.0", + "amplify-python-function-runtime-provider": "1.9.12-graphql-vnext-dev-preview.0", "amplify-python-function-template-provider": "1.3.12", - "amplify-util-import": "1.5.12", - "amplify-util-mock": "3.34.5", + "amplify-util-import": "1.5.13-graphql-vnext-dev-preview.0", + "amplify-util-mock": "3.34.6-graphql-vnext-dev-preview.0", "aws-sdk": "^2.963.0", "chalk": "^4.1.1", "ci-info": "^2.0.0", @@ -84,7 +84,7 @@ "fs-extra": "^8.1.0", "glob": "^7.1.6", "global-prefix": "^3.0.0", - "graphql-transformer-core": "6.29.7", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "gunzip-maybe": "^1.4.2", "hidefile": "^3.0.0", "ini": "^1.3.5", diff --git a/packages/amplify-console-hosting/CHANGELOG.md b/packages/amplify-console-hosting/CHANGELOG.md index e7b8e3439aa..2790f69d52f 100644 --- a/packages/amplify-console-hosting/CHANGELOG.md +++ b/packages/amplify-console-hosting/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.9.13-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-console-hosting@1.9.12...amplify-console-hosting@1.9.13-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-console-hosting + + + + + ## [1.9.12](https://github.com/aws-amplify/amplify-cli/compare/amplify-console-hosting@1.9.11...amplify-console-hosting@1.9.12) (2021-09-18) **Note:** Version bump only for package amplify-console-hosting diff --git a/packages/amplify-console-hosting/package.json b/packages/amplify-console-hosting/package.json index 12148428543..f96489fa930 100644 --- a/packages/amplify-console-hosting/package.json +++ b/packages/amplify-console-hosting/package.json @@ -1,12 +1,12 @@ { "name": "amplify-console-hosting", - "version": "1.9.12", + "version": "1.9.13-graphql-vnext-dev-preview.0", "description": "cli plugin for AWS Amplify Console hosting", "main": "index.js", "author": "Amazon Web Services", "license": "Apache-2.0", "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "archiver": "^5.3.0", "aws-sdk": "^2.963.0", "chalk": "^4.1.1", diff --git a/packages/amplify-console-integration-tests/CHANGELOG.md b/packages/amplify-console-integration-tests/CHANGELOG.md index 7bccafba147..d9650e9032e 100644 --- a/packages/amplify-console-integration-tests/CHANGELOG.md +++ b/packages/amplify-console-integration-tests/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.8.10-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-console-integration-tests/compare/amplify-console-integration-tests@1.8.9...amplify-console-integration-tests@1.8.10-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-console-integration-tests + + + + + ## [1.8.9](https://github.com/aws-amplify/amplify-console-integration-tests/compare/amplify-console-integration-tests@1.8.8...amplify-console-integration-tests@1.8.9) (2021-09-18) **Note:** Version bump only for package amplify-console-integration-tests diff --git a/packages/amplify-console-integration-tests/package.json b/packages/amplify-console-integration-tests/package.json index cf1d3a2918e..e52e2e71be1 100644 --- a/packages/amplify-console-integration-tests/package.json +++ b/packages/amplify-console-integration-tests/package.json @@ -1,6 +1,6 @@ { "name": "amplify-console-integration-tests", - "version": "1.8.9", + "version": "1.8.10-graphql-vnext-dev-preview.0", "description": "", "repository": { "type": "git", @@ -22,7 +22,7 @@ }, "dependencies": { "@types/ini": "^1.3.30", - "amplify-e2e-core": "1.26.1", + "amplify-e2e-core": "1.27.0-graphql-vnext-dev-preview.0", "aws-sdk": "^2.963.0", "dotenv": "^8.2.0", "esm": "^3.2.25", diff --git a/packages/amplify-container-hosting/CHANGELOG.md b/packages/amplify-container-hosting/CHANGELOG.md index ed8310816d1..c72fa156621 100644 --- a/packages/amplify-container-hosting/CHANGELOG.md +++ b/packages/amplify-container-hosting/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.24-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-container-hosting@1.3.23...amplify-container-hosting@1.3.24-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-container-hosting + + + + + ## [1.3.23](https://github.com/aws-amplify/amplify-cli/compare/amplify-container-hosting@1.3.22...amplify-container-hosting@1.3.23) (2021-09-18) **Note:** Version bump only for package amplify-container-hosting diff --git a/packages/amplify-container-hosting/package.json b/packages/amplify-container-hosting/package.json index 544c959bcc7..e3fc19de22a 100644 --- a/packages/amplify-container-hosting/package.json +++ b/packages/amplify-container-hosting/package.json @@ -1,6 +1,6 @@ { "name": "amplify-container-hosting", - "version": "1.3.23", + "version": "1.3.24-graphql-vnext-dev-preview.0", "description": "amplify-cli hosting plugin for containers", "repository": { "type": "git", @@ -18,7 +18,7 @@ "test": "jest --coverage --passWithNoTests" }, "dependencies": { - "amplify-category-api": "2.31.23", + "amplify-category-api": "2.32.0-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "fs-extra": "^8.1.0", "inquirer": "^7.3.3", diff --git a/packages/amplify-dotnet-function-template-provider/CHANGELOG.md b/packages/amplify-dotnet-function-template-provider/CHANGELOG.md index a465ead4ef7..4b8297bf576 100644 --- a/packages/amplify-dotnet-function-template-provider/CHANGELOG.md +++ b/packages/amplify-dotnet-function-template-provider/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.5.22-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-dotnet-function-template-provider@1.5.21...amplify-dotnet-function-template-provider@1.5.22-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-dotnet-function-template-provider + + + + + ## [1.5.21](https://github.com/aws-amplify/amplify-cli/compare/amplify-dotnet-function-template-provider@1.5.20...amplify-dotnet-function-template-provider@1.5.21) (2021-09-18) **Note:** Version bump only for package amplify-dotnet-function-template-provider diff --git a/packages/amplify-dotnet-function-template-provider/package.json b/packages/amplify-dotnet-function-template-provider/package.json index 0b4551f1c9a..232a31baed8 100644 --- a/packages/amplify-dotnet-function-template-provider/package.json +++ b/packages/amplify-dotnet-function-template-provider/package.json @@ -1,6 +1,6 @@ { "name": "amplify-dotnet-function-template-provider", - "version": "1.5.21", + "version": "1.5.22-graphql-vnext-dev-preview.0", "description": ".NET Core templates supplied by the Amplify Team", "repository": { "type": "git", @@ -22,9 +22,9 @@ "clean": "rimraf lib tsconfig.tsbuildinfo" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-function-plugin-interface": "1.9.1", - "graphql-transformer-core": "6.29.7" + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/inquirer": "^6.5.0", diff --git a/packages/amplify-dynamodb-simulator/CHANGELOG.md b/packages/amplify-dynamodb-simulator/CHANGELOG.md index 8ea948e03e5..f02ccb1a152 100644 --- a/packages/amplify-dynamodb-simulator/CHANGELOG.md +++ b/packages/amplify-dynamodb-simulator/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.19.13-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-dynamodb-simulator@1.19.12...amplify-dynamodb-simulator@1.19.13-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-dynamodb-simulator + + + + + ## [1.19.12](https://github.com/aws-amplify/amplify-cli/compare/amplify-dynamodb-simulator@1.19.11...amplify-dynamodb-simulator@1.19.12) (2021-09-18) **Note:** Version bump only for package amplify-dynamodb-simulator diff --git a/packages/amplify-dynamodb-simulator/package.json b/packages/amplify-dynamodb-simulator/package.json index 401d0082075..3122dc14d87 100644 --- a/packages/amplify-dynamodb-simulator/package.json +++ b/packages/amplify-dynamodb-simulator/package.json @@ -1,6 +1,6 @@ { "name": "amplify-dynamodb-simulator", - "version": "1.19.12", + "version": "1.19.13-graphql-vnext-dev-preview.0", "description": "DynamoDB emulator nodejs wrapper", "repository": { "type": "git", @@ -20,7 +20,7 @@ "test": "jest" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "aws-sdk": "^2.963.0", "detect-port": "^1.3.0", "event-to-promise": "^0.8.0", diff --git a/packages/amplify-e2e-core/CHANGELOG.md b/packages/amplify-e2e-core/CHANGELOG.md index e42609100f1..152dac2238e 100644 --- a/packages/amplify-e2e-core/CHANGELOG.md +++ b/packages/amplify-e2e-core/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.27.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-e2e-core@1.26.1...amplify-e2e-core@1.27.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* **cli-api:** improve add and update api ([02af6b5](https://github.com/aws-amplify/amplify-cli/commit/02af6b582367b584ad755c889fb04722af355368)) +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + ## [1.26.1](https://github.com/aws-amplify/amplify-cli/compare/amplify-e2e-core@1.26.0...amplify-e2e-core@1.26.1) (2021-09-18) **Note:** Version bump only for package amplify-e2e-core diff --git a/packages/amplify-e2e-core/package.json b/packages/amplify-e2e-core/package.json index b8a5fbc80d7..cdb548f0a4e 100644 --- a/packages/amplify-e2e-core/package.json +++ b/packages/amplify-e2e-core/package.json @@ -1,6 +1,6 @@ { "name": "amplify-e2e-core", - "version": "1.26.1", + "version": "1.27.0-graphql-vnext-dev-preview.0", "description": "", "repository": { "type": "git", @@ -22,12 +22,12 @@ "clean": "rimraf ./lib" }, "dependencies": { - "amplify-cli-core": "1.29.0", - "amplify-headless-interface": "1.10.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", + "amplify-headless-interface": "1.11.0-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "execa": "^5.1.1", "fs-extra": "^8.1.0", - "graphql-transformer-core": "6.29.7", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "jest-environment-node": "^26.6.2", "lodash": "^4.17.21", "node-pty-prebuilt-multiarch": "^0.9.0", diff --git a/packages/amplify-e2e-tests/CHANGELOG.md b/packages/amplify-e2e-tests/CHANGELOG.md index f4101ae3ae1..1dc34844a2c 100644 --- a/packages/amplify-e2e-tests/CHANGELOG.md +++ b/packages/amplify-e2e-tests/CHANGELOG.md @@ -3,6 +3,24 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.51.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-e2e-tests@2.50.0...amplify-e2e-tests@2.51.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* **cli-api:** improve add and update api ([02af6b5](https://github.com/aws-amplify/amplify-cli/commit/02af6b582367b584ad755c889fb04722af355368)) +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + # [2.50.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-e2e-tests@2.49.0...amplify-e2e-tests@2.50.0) (2021-09-18) diff --git a/packages/amplify-e2e-tests/package.json b/packages/amplify-e2e-tests/package.json index cd9917f05c9..2203610b20f 100644 --- a/packages/amplify-e2e-tests/package.json +++ b/packages/amplify-e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "amplify-e2e-tests", - "version": "2.50.0", + "version": "2.51.0-graphql-vnext-dev-preview.0", "description": "", "repository": { "type": "git", @@ -23,8 +23,8 @@ "clean-e2e-resources": "ts-node ./src/cleanup-e2e-resources.ts" }, "dependencies": { - "amplify-cli-core": "1.29.0", - "amplify-e2e-core": "1.26.1", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", + "amplify-e2e-core": "1.27.0-graphql-vnext-dev-preview.0", "aws-amplify": "^4.2.8", "aws-appsync": "^4.1.1", "aws-sdk": "^2.963.0", @@ -35,7 +35,7 @@ "fs-extra": "^8.1.0", "graphql-schema-diff": "^2.2.0", "graphql-tag": "^2.10.1", - "graphql-transformer-core": "6.29.7", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "lodash": "^4.17.21", "node-fetch": "^2.6.1", "promise-sequential": "^1.1.1", diff --git a/packages/amplify-frontend-ios/CHANGELOG.md b/packages/amplify-frontend-ios/CHANGELOG.md index d13f521663f..c4d9f8eb17c 100644 --- a/packages/amplify-frontend-ios/CHANGELOG.md +++ b/packages/amplify-frontend-ios/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.20.15-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-frontend-ios@2.20.14...amplify-frontend-ios@2.20.15-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-frontend-ios + + + + + ## [2.20.14](https://github.com/aws-amplify/amplify-cli/compare/amplify-frontend-ios@2.20.13...amplify-frontend-ios@2.20.14) (2021-09-18) **Note:** Version bump only for package amplify-frontend-ios diff --git a/packages/amplify-frontend-ios/package.json b/packages/amplify-frontend-ios/package.json index 6201bd7eede..a3647101bf7 100644 --- a/packages/amplify-frontend-ios/package.json +++ b/packages/amplify-frontend-ios/package.json @@ -1,6 +1,6 @@ { "name": "amplify-frontend-ios", - "version": "2.20.14", + "version": "2.20.15-graphql-vnext-dev-preview.0", "description": "amplify-cli front-end plugin for xcode projects", "repository": { "type": "git", @@ -21,7 +21,7 @@ "test-watch": "jest --watch" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "execa": "^5.1.1", "fs-extra": "^8.1.0", "graphql-config": "^2.2.1", diff --git a/packages/amplify-frontend-javascript/CHANGELOG.md b/packages/amplify-frontend-javascript/CHANGELOG.md index f73c6d95a36..7a149ff4c85 100644 --- a/packages/amplify-frontend-javascript/CHANGELOG.md +++ b/packages/amplify-frontend-javascript/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.24.2-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-frontend-javascript@2.24.1...amplify-frontend-javascript@2.24.2-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-frontend-javascript + + + + + ## [2.24.1](https://github.com/aws-amplify/amplify-cli/compare/amplify-frontend-javascript@2.24.0...amplify-frontend-javascript@2.24.1) (2021-09-18) **Note:** Version bump only for package amplify-frontend-javascript diff --git a/packages/amplify-frontend-javascript/package.json b/packages/amplify-frontend-javascript/package.json index fe84bb6f731..363edfc1926 100644 --- a/packages/amplify-frontend-javascript/package.json +++ b/packages/amplify-frontend-javascript/package.json @@ -1,6 +1,6 @@ { "name": "amplify-frontend-javascript", - "version": "2.24.1", + "version": "2.24.2-graphql-vnext-dev-preview.0", "description": "amplify-cli front-end plugin for JavaScript projects", "repository": { "type": "git", @@ -16,7 +16,7 @@ "aws" ], "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "chalk": "^4.1.1", "execa": "^5.1.1", "fs-extra": "^8.1.0", diff --git a/packages/amplify-go-function-runtime-provider/CHANGELOG.md b/packages/amplify-go-function-runtime-provider/CHANGELOG.md index 627567d0485..12d5730a44b 100644 --- a/packages/amplify-go-function-runtime-provider/CHANGELOG.md +++ b/packages/amplify-go-function-runtime-provider/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.9.5-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-go-function-runtime-provider@1.9.4...amplify-go-function-runtime-provider@1.9.5-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-go-function-runtime-provider + + + + + ## [1.9.4](https://github.com/aws-amplify/amplify-cli/compare/amplify-go-function-runtime-provider@1.9.3...amplify-go-function-runtime-provider@1.9.4) (2021-09-18) **Note:** Version bump only for package amplify-go-function-runtime-provider diff --git a/packages/amplify-go-function-runtime-provider/package.json b/packages/amplify-go-function-runtime-provider/package.json index a9bb191c623..d69d5310c08 100644 --- a/packages/amplify-go-function-runtime-provider/package.json +++ b/packages/amplify-go-function-runtime-provider/package.json @@ -1,6 +1,6 @@ { "name": "amplify-go-function-runtime-provider", - "version": "1.9.4", + "version": "1.9.5-graphql-vnext-dev-preview.0", "description": "Provides functionality related to functions in Go 1.x on AWS", "repository": { "type": "git", @@ -21,7 +21,7 @@ "clean": "rimraf lib tsconfig.tsbuildinfo resources/localinvoke/go.sum resources/localinvoke/main resources/localinvoke/main.exe" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-function-plugin-interface": "1.9.1", "archiver": "^5.3.0", "execa": "^5.1.1", diff --git a/packages/amplify-graphql-auth-transformer/CHANGELOG.md b/packages/amplify-graphql-auth-transformer/CHANGELOG.md index e69de29bb2d..cb4f48a841e 100644 --- a/packages/amplify-graphql-auth-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-auth-transformer/CHANGELOG.md @@ -0,0 +1,16 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# 0.2.0-graphql-vnext-dev-preview.0 (2021-09-27) + + +### Bug Fixes + +* update dependency versions ([b4cbe97](https://github.com/aws-amplify/amplify-cli/commit/b4cbe97ea09f392469b4b84727db297228daf129)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) diff --git a/packages/amplify-graphql-auth-transformer/package.json b/packages/amplify-graphql-auth-transformer/package.json index ebc00cbae9d..c61fca87851 100644 --- a/packages/amplify-graphql-auth-transformer/package.json +++ b/packages/amplify-graphql-auth-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-auth-transformer", - "version": "0.1.0", + "version": "0.2.0-graphql-vnext-dev-preview.0", "description": "Amplify GraphQL @auth Transformer", "repository": { "type": "git", @@ -27,25 +27,25 @@ "watch": "tsc -w" }, "dependencies": { - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", - "@aws-amplify/graphql-model-transformer": "0.6.2", + "@aws-amplify/graphql-model-transformer": "0.7.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/aws-appsync": "~1.124.0", "@aws-cdk/aws-dynamodb": "~1.124.0", - "@aws-cdk/core": "~1.124.0", "@aws-cdk/aws-iam": "~1.124.0", + "@aws-cdk/core": "~1.124.0", "constructs": "^3.3.125", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", "lodash": "^4.17.21" }, "devDependencies": { - "@aws-amplify/graphql-index-transformer": "0.3.2", - "@aws-amplify/graphql-relational-transformer": "0.2.1", - "@aws-amplify/graphql-searchable-transformer": "0.6.0", - "@types/fs-extra": "^8.0.1", + "@aws-amplify/graphql-index-transformer": "0.4.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-relational-transformer": "0.3.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-searchable-transformer": "0.7.0-graphql-vnext-dev-preview.0", "@aws-cdk/assert": "~1.124.0", + "@types/fs-extra": "^8.0.1", "@types/node": "^12.12.6" }, "jest": { diff --git a/packages/amplify-graphql-function-transformer/CHANGELOG.md b/packages/amplify-graphql-function-transformer/CHANGELOG.md index 7ca5547a4a9..0c6e4b14de2 100644 --- a/packages/amplify-graphql-function-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-function-transformer/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.5.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-function-transformer@0.4.3...@aws-amplify/graphql-function-transformer@0.5.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + ## [0.4.3](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-function-transformer@0.4.2...@aws-amplify/graphql-function-transformer@0.4.3) (2021-09-02) **Note:** Version bump only for package @aws-amplify/graphql-function-transformer diff --git a/packages/amplify-graphql-function-transformer/package.json b/packages/amplify-graphql-function-transformer/package.json index 0dad58611f0..d14b5428523 100644 --- a/packages/amplify-graphql-function-transformer/package.json +++ b/packages/amplify-graphql-function-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-function-transformer", - "version": "0.4.3", + "version": "0.5.0-graphql-vnext-dev-preview.0", "description": "Amplify GraphQL @function transformer", "repository": { "type": "git", @@ -27,13 +27,13 @@ "test": "jest" }, "dependencies": { - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/aws-lambda": "~1.124.0", "@aws-cdk/core": "~1.124.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@aws-cdk/assert": "~1.124.0" diff --git a/packages/amplify-graphql-http-transformer/CHANGELOG.md b/packages/amplify-graphql-http-transformer/CHANGELOG.md index f50be5992a6..27224962a11 100644 --- a/packages/amplify-graphql-http-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-http-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.5.4-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-http-transformer@0.5.3...@aws-amplify/graphql-http-transformer@0.5.4-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package @aws-amplify/graphql-http-transformer + + + + + ## [0.5.3](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-http-transformer@0.5.2...@aws-amplify/graphql-http-transformer@0.5.3) (2021-09-02) **Note:** Version bump only for package @aws-amplify/graphql-http-transformer diff --git a/packages/amplify-graphql-http-transformer/package.json b/packages/amplify-graphql-http-transformer/package.json index ba9ab7a1139..72c3f465df1 100644 --- a/packages/amplify-graphql-http-transformer/package.json +++ b/packages/amplify-graphql-http-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-http-transformer", - "version": "0.5.3", + "version": "0.5.4-graphql-vnext-dev-preview.0", "description": "Amplify GraphQL @http transformer", "repository": { "type": "git", @@ -27,12 +27,12 @@ "test": "jest" }, "dependencies": { - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/core": "~1.124.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@aws-cdk/assert": "~1.124.0" diff --git a/packages/amplify-graphql-index-transformer/CHANGELOG.md b/packages/amplify-graphql-index-transformer/CHANGELOG.md index d69ff43fde1..cb97799aef5 100644 --- a/packages/amplify-graphql-index-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-index-transformer/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.4.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-index-transformer@0.3.2...@aws-amplify/graphql-index-transformer@0.4.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **amplify-provider-awscloudformation:** invoke api function from invoker plugin ([#8274](https://github.com/aws-amplify/amplify-cli/issues/8274)) ([d30f1d6](https://github.com/aws-amplify/amplify-cli/commit/d30f1d65e3b2cf259cb0382389b6ae27d914d9cc)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + ## [0.3.2](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-index-transformer@0.3.1...@aws-amplify/graphql-index-transformer@0.3.2) (2021-09-14) **Note:** Version bump only for package @aws-amplify/graphql-index-transformer diff --git a/packages/amplify-graphql-index-transformer/package.json b/packages/amplify-graphql-index-transformer/package.json index 435d2d4b266..a55011044d4 100644 --- a/packages/amplify-graphql-index-transformer/package.json +++ b/packages/amplify-graphql-index-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-index-transformer", - "version": "0.3.2", + "version": "0.4.0-graphql-vnext-dev-preview.0", "description": "Amplify GraphQL index and key transformers", "repository": { "type": "git", @@ -27,15 +27,15 @@ "test": "jest" }, "dependencies": { - "@aws-amplify/graphql-model-transformer": "0.6.2", - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-model-transformer": "0.7.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/aws-appsync": "~1.124.0", "@aws-cdk/aws-dynamodb": "~1.124.0", "@aws-cdk/core": "~1.124.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@aws-cdk/assert": "~1.124.0" diff --git a/packages/amplify-graphql-model-transformer/CHANGELOG.md b/packages/amplify-graphql-model-transformer/CHANGELOG.md index 89f642832cd..74dd288049b 100644 --- a/packages/amplify-graphql-model-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-model-transformer/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.7.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.2...@aws-amplify/graphql-model-transformer@0.7.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **amplify-provider-awscloudformation:** remove sandbox mode directive from schema before transform ([#8272](https://github.com/aws-amplify/amplify-cli/issues/8272)) ([17aa0a2](https://github.com/aws-amplify/amplify-cli/commit/17aa0a2fd9356e05ff30e76b125554dbe7564e80)) +* **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c)) +* **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a)) +* **graphql-model-transformer:** remove unnecessary warnings for resolver config per type ([#8265](https://github.com/aws-amplify/amplify-cli/issues/8265)) ([2f2f0a5](https://github.com/aws-amplify/amplify-cli/commit/2f2f0a5bea59278219c1f4ebb5276927dc5a0fbd)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* **amplify-provider-awscloudformation:** match env directive field for sandbox mode ([#3](https://github.com/aws-amplify/amplify-cli/issues/3)) ([3158549](https://github.com/aws-amplify/amplify-cli/commit/31585492fd4c358903d68d9640e9ac53e9b32eef)) + + + + + ## [0.6.2](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-model-transformer@0.6.1...@aws-amplify/graphql-model-transformer@0.6.2) (2021-09-14) diff --git a/packages/amplify-graphql-model-transformer/package.json b/packages/amplify-graphql-model-transformer/package.json index f109646be90..b5c6cfc7741 100644 --- a/packages/amplify-graphql-model-transformer/package.json +++ b/packages/amplify-graphql-model-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-model-transformer", - "version": "0.6.2", + "version": "0.7.0-graphql-vnext-dev-preview.0", "description": "Amplify graphql @model transformer", "repository": { "type": "git", @@ -28,8 +28,8 @@ "test-watch": "jest --watch" }, "dependencies": { - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/assets": "~1.124.0", "@aws-cdk/aws-applicationautoscaling": "~1.124.0", "@aws-cdk/aws-appsync": "~1.124.0", @@ -57,15 +57,15 @@ "@aws-cdk/region-info": "~1.124.0", "constructs": "^3.3.125", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", "lodash": "^4.17.21", "md5": "^2.3.0" }, "devDependencies": { "@types/fs-extra": "^8.0.1", - "@types/node": "^12.12.6", - "@types/md5": "^2.3.1" + "@types/md5": "^2.3.1", + "@types/node": "^12.12.6" }, "jest": { "transform": { diff --git a/packages/amplify-graphql-predictions-transformer/CHANGELOG.md b/packages/amplify-graphql-predictions-transformer/CHANGELOG.md index 8b61b63b1ed..b3b2cfce56b 100644 --- a/packages/amplify-graphql-predictions-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-predictions-transformer/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.4.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-predictions-transformer@0.3.3...@aws-amplify/graphql-predictions-transformer@0.4.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + ## [0.3.3](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-predictions-transformer@0.3.2...@aws-amplify/graphql-predictions-transformer@0.3.3) (2021-09-02) **Note:** Version bump only for package @aws-amplify/graphql-predictions-transformer diff --git a/packages/amplify-graphql-predictions-transformer/package.json b/packages/amplify-graphql-predictions-transformer/package.json index 5af3216fb10..3100cf56e71 100644 --- a/packages/amplify-graphql-predictions-transformer/package.json +++ b/packages/amplify-graphql-predictions-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-predictions-transformer", - "version": "0.3.3", + "version": "0.4.0-graphql-vnext-dev-preview.0", "description": "Amplify GraphQL @predictions tranformer", "repository": { "type": "git", @@ -27,15 +27,15 @@ "test": "jest" }, "dependencies": { - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/aws-appsync": "~1.124.0", "@aws-cdk/aws-iam": "~1.124.0", "@aws-cdk/aws-lambda": "~1.124.0", "@aws-cdk/core": "~1.124.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@aws-cdk/assert": "~1.124.0", diff --git a/packages/amplify-graphql-relational-transformer/CHANGELOG.md b/packages/amplify-graphql-relational-transformer/CHANGELOG.md index 5187458ef7f..a31962a989c 100644 --- a/packages/amplify-graphql-relational-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-relational-transformer/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.3.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-relational-transformer@0.2.1...@aws-amplify/graphql-relational-transformer@0.3.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* add [@many](https://github.com/many)ToMany directive ([#8195](https://github.com/aws-amplify/amplify-cli/issues/8195)) ([cc644eb](https://github.com/aws-amplify/amplify-cli/commit/cc644ebc4968f29ad6b3f0b42013d7ee6a142f7e)) + + + + + ## [0.2.1](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-relational-transformer@0.2.0...@aws-amplify/graphql-relational-transformer@0.2.1) (2021-09-14) **Note:** Version bump only for package @aws-amplify/graphql-relational-transformer diff --git a/packages/amplify-graphql-relational-transformer/package.json b/packages/amplify-graphql-relational-transformer/package.json index c5e0e625c36..aee19b02590 100644 --- a/packages/amplify-graphql-relational-transformer/package.json +++ b/packages/amplify-graphql-relational-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-relational-transformer", - "version": "0.2.1", + "version": "0.3.0-graphql-vnext-dev-preview.0", "description": "Amplify GraphQL relational modeling transformers", "repository": { "type": "git", @@ -27,16 +27,16 @@ "test": "jest" }, "dependencies": { - "@aws-amplify/graphql-index-transformer": "0.3.2", - "@aws-amplify/graphql-model-transformer": "0.6.2", - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-index-transformer": "0.4.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-model-transformer": "0.7.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/aws-appsync": "~1.124.0", "@aws-cdk/aws-dynamodb": "~1.124.0", "@aws-cdk/core": "~1.124.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@aws-cdk/assert": "~1.124.0" diff --git a/packages/amplify-graphql-searchable-transformer/CHANGELOG.md b/packages/amplify-graphql-searchable-transformer/CHANGELOG.md index d1733fc4a8c..ca3cd057a5d 100644 --- a/packages/amplify-graphql-searchable-transformer/CHANGELOG.md +++ b/packages/amplify-graphql-searchable-transformer/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.7.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-searchable-transformer@0.6.0...@aws-amplify/graphql-searchable-transformer@0.7.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c)) +* **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + # [0.6.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-searchable-transformer@0.5.1...@aws-amplify/graphql-searchable-transformer@0.6.0) (2021-09-14) diff --git a/packages/amplify-graphql-searchable-transformer/package.json b/packages/amplify-graphql-searchable-transformer/package.json index f673eb698b5..20965b2dfb5 100644 --- a/packages/amplify-graphql-searchable-transformer/package.json +++ b/packages/amplify-graphql-searchable-transformer/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-searchable-transformer", - "version": "0.6.0", + "version": "0.7.0-graphql-vnext-dev-preview.0", "description": "Amplfy GraphQL @searchable transformer", "repository": { "type": "git", @@ -27,8 +27,8 @@ "test": "jest" }, "dependencies": { - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/aws-appsync": "~1.124.0", "@aws-cdk/aws-dynamodb": "~1.124.0", "@aws-cdk/aws-ec2": "~1.124.0", @@ -37,8 +37,8 @@ "@aws-cdk/aws-lambda": "~1.124.0", "@aws-cdk/core": "~1.124.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@aws-cdk/assert": "~1.124.0", diff --git a/packages/amplify-graphql-transformer-core/CHANGELOG.md b/packages/amplify-graphql-transformer-core/CHANGELOG.md index 335419c334e..d69b0904b9a 100644 --- a/packages/amplify-graphql-transformer-core/CHANGELOG.md +++ b/packages/amplify-graphql-transformer-core/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.10.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-transformer-core@0.9.0...@aws-amplify/graphql-transformer-core@0.10.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **amplify-provider-awscloudformation:** remove sandbox mode directive from schema before transform ([#8272](https://github.com/aws-amplify/amplify-cli/issues/8272)) ([17aa0a2](https://github.com/aws-amplify/amplify-cli/commit/17aa0a2fd9356e05ff30e76b125554dbe7564e80)) +* **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c)) +* **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a)) +* **graphql-transformer-core:** add default api name when generating stack ([#8201](https://github.com/aws-amplify/amplify-cli/issues/8201)) ([fe52f9b](https://github.com/aws-amplify/amplify-cli/commit/fe52f9b44900888b30f8ce5c88286b197e9cd3af)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* **amplify-provider-awscloudformation:** match env directive field for sandbox mode ([#3](https://github.com/aws-amplify/amplify-cli/issues/3)) ([3158549](https://github.com/aws-amplify/amplify-cli/commit/31585492fd4c358903d68d9640e9ac53e9b32eef)) + + + + + # [0.9.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-transformer-core@0.8.2...@aws-amplify/graphql-transformer-core@0.9.0) (2021-09-02) diff --git a/packages/amplify-graphql-transformer-core/package.json b/packages/amplify-graphql-transformer-core/package.json index 6864ac53933..1cd6874d7fc 100644 --- a/packages/amplify-graphql-transformer-core/package.json +++ b/packages/amplify-graphql-transformer-core/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-transformer-core", - "version": "0.9.0", + "version": "0.10.0-graphql-vnext-dev-preview.0", "description": "A framework to transform from GraphQL SDL to AWS CloudFormation.", "repository": { "type": "git", @@ -26,7 +26,7 @@ "clean": "rimraf ./lib" }, "dependencies": { - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/assets": "~1.124.0", "@aws-cdk/aws-applicationautoscaling": "~1.124.0", "@aws-cdk/aws-appsync": "~1.124.0", @@ -58,15 +58,15 @@ "fs-extra": "^8.1.0", "glob": "^7.1.6", "graphql": "^14.5.8", - "graphql-transformer-common": "4.19.9", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", "lodash": "^4.17.21", - "ts-dedent": "^2.0.0", - "md5": "^2.3.0" + "md5": "^2.3.0", + "ts-dedent": "^2.0.0" }, "devDependencies": { "@types/fs-extra": "^8.0.1", - "@types/node": "^12.12.6", - "@types/md5": "^2.3.1" + "@types/md5": "^2.3.1", + "@types/node": "^12.12.6" }, "jest": { "transform": { diff --git a/packages/amplify-graphql-transformer-interfaces/CHANGELOG.md b/packages/amplify-graphql-transformer-interfaces/CHANGELOG.md index 60f87d2f8c5..08c37432208 100644 --- a/packages/amplify-graphql-transformer-interfaces/CHANGELOG.md +++ b/packages/amplify-graphql-transformer-interfaces/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-transformer-interfaces@1.9.0...@aws-amplify/graphql-transformer-interfaces@1.10.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c)) +* **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + # [1.9.0](https://github.com/aws-amplify/amplify-cli/compare/@aws-amplify/graphql-transformer-interfaces@1.8.2...@aws-amplify/graphql-transformer-interfaces@1.9.0) (2021-09-02) diff --git a/packages/amplify-graphql-transformer-interfaces/package.json b/packages/amplify-graphql-transformer-interfaces/package.json index f382142ff90..ad609a4d713 100644 --- a/packages/amplify-graphql-transformer-interfaces/package.json +++ b/packages/amplify-graphql-transformer-interfaces/package.json @@ -1,6 +1,6 @@ { "name": "@aws-amplify/graphql-transformer-interfaces", - "version": "1.9.0", + "version": "1.10.0-graphql-vnext-dev-preview.0", "description": "Amplify GraphQL transformer interface definitions", "repository": { "type": "git", diff --git a/packages/amplify-headless-interface/CHANGELOG.md b/packages/amplify-headless-interface/CHANGELOG.md index 3844ed890d9..f2a9a8fc1fa 100644 --- a/packages/amplify-headless-interface/CHANGELOG.md +++ b/packages/amplify-headless-interface/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.11.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-headless-interface@1.10.0...amplify-headless-interface@1.11.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + # [1.10.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-headless-interface@1.9.0...amplify-headless-interface@1.10.0) (2021-08-06) diff --git a/packages/amplify-headless-interface/package.json b/packages/amplify-headless-interface/package.json index ae73d38c8d0..48323918446 100644 --- a/packages/amplify-headless-interface/package.json +++ b/packages/amplify-headless-interface/package.json @@ -1,6 +1,6 @@ { "name": "amplify-headless-interface", - "version": "1.10.0", + "version": "1.11.0-graphql-vnext-dev-preview.0", "description": "interfaces for amplify headless mode payloads", "main": "lib/index.js", "scripts": { diff --git a/packages/amplify-java-function-runtime-provider/CHANGELOG.md b/packages/amplify-java-function-runtime-provider/CHANGELOG.md index 7d7f31d2c0b..4f7186b46db 100644 --- a/packages/amplify-java-function-runtime-provider/CHANGELOG.md +++ b/packages/amplify-java-function-runtime-provider/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.8.15-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-java-function-runtime-provider@1.8.14...amplify-java-function-runtime-provider@1.8.15-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-java-function-runtime-provider + + + + + ## [1.8.14](https://github.com/aws-amplify/amplify-cli/compare/amplify-java-function-runtime-provider@1.8.13...amplify-java-function-runtime-provider@1.8.14) (2021-09-18) **Note:** Version bump only for package amplify-java-function-runtime-provider diff --git a/packages/amplify-java-function-runtime-provider/package.json b/packages/amplify-java-function-runtime-provider/package.json index 486e2e47981..c13f890a31a 100644 --- a/packages/amplify-java-function-runtime-provider/package.json +++ b/packages/amplify-java-function-runtime-provider/package.json @@ -1,6 +1,6 @@ { "name": "amplify-java-function-runtime-provider", - "version": "1.8.14", + "version": "1.8.15-graphql-vnext-dev-preview.0", "description": "Provides functionality related to functions in JAVA on AWS", "repository": { "type": "git", @@ -21,7 +21,7 @@ "clean": "rimraf lib tsconfig.tsbuildinfo" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-function-plugin-interface": "1.9.1", "execa": "^5.1.1", "fs-extra": "^8.1.0", diff --git a/packages/amplify-migration-tests/CHANGELOG.md b/packages/amplify-migration-tests/CHANGELOG.md index 392018a6b6e..0554287ab95 100644 --- a/packages/amplify-migration-tests/CHANGELOG.md +++ b/packages/amplify-migration-tests/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.2.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-migration-tests@3.1.9...amplify-migration-tests@3.2.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* **cli-api:** improve add and update api ([02af6b5](https://github.com/aws-amplify/amplify-cli/commit/02af6b582367b584ad755c889fb04722af355368)) + + + + + ## [3.1.9](https://github.com/aws-amplify/amplify-cli/compare/amplify-migration-tests@3.1.8...amplify-migration-tests@3.1.9) (2021-09-18) **Note:** Version bump only for package amplify-migration-tests diff --git a/packages/amplify-migration-tests/package.json b/packages/amplify-migration-tests/package.json index dc9be803854..8d629c084f0 100644 --- a/packages/amplify-migration-tests/package.json +++ b/packages/amplify-migration-tests/package.json @@ -1,6 +1,6 @@ { "name": "amplify-migration-tests", - "version": "3.1.9", + "version": "3.2.0-graphql-vnext-dev-preview.0", "description": "", "repository": { "type": "git", @@ -26,12 +26,12 @@ "setup-profile": "ts-node ./src/configure_tests.ts" }, "dependencies": { - "amplify-e2e-core": "1.26.1", + "amplify-e2e-core": "1.27.0-graphql-vnext-dev-preview.0", "aws-sdk": "^2.963.0", "dotenv": "^8.2.0", "esm": "^3.2.25", "fs-extra": "^8.1.0", - "graphql-transformer-core": "6.29.7", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "rimraf": "^3.0.0", "uuid": "^8.2.0" }, diff --git a/packages/amplify-nodejs-function-runtime-provider/CHANGELOG.md b/packages/amplify-nodejs-function-runtime-provider/CHANGELOG.md index 1275276e6cf..6619f4ae49b 100644 --- a/packages/amplify-nodejs-function-runtime-provider/CHANGELOG.md +++ b/packages/amplify-nodejs-function-runtime-provider/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.12-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-nodejs-function-runtime-provider@1.6.11...amplify-nodejs-function-runtime-provider@1.6.12-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-nodejs-function-runtime-provider + + + + + ## [1.6.11](https://github.com/aws-amplify/amplify-cli/compare/amplify-nodejs-function-runtime-provider@1.6.10...amplify-nodejs-function-runtime-provider@1.6.11) (2021-09-18) **Note:** Version bump only for package amplify-nodejs-function-runtime-provider diff --git a/packages/amplify-nodejs-function-runtime-provider/package.json b/packages/amplify-nodejs-function-runtime-provider/package.json index 4574278ba69..1b6ca4ecd8c 100644 --- a/packages/amplify-nodejs-function-runtime-provider/package.json +++ b/packages/amplify-nodejs-function-runtime-provider/package.json @@ -1,6 +1,6 @@ { "name": "amplify-nodejs-function-runtime-provider", - "version": "1.6.11", + "version": "1.6.12-graphql-vnext-dev-preview.0", "description": "Provides functionality related to functions in NodeJS on AWS", "repository": { "type": "git", @@ -23,7 +23,7 @@ "test": "jest" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-function-plugin-interface": "1.9.1", "archiver": "^5.3.0", "execa": "^5.1.1", diff --git a/packages/amplify-nodejs-function-template-provider/CHANGELOG.md b/packages/amplify-nodejs-function-template-provider/CHANGELOG.md index ea3ce43b77b..e4b5beba8ce 100644 --- a/packages/amplify-nodejs-function-template-provider/CHANGELOG.md +++ b/packages/amplify-nodejs-function-template-provider/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.22-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-nodejs-function-template-provider@1.6.21...amplify-nodejs-function-template-provider@1.6.22-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-nodejs-function-template-provider + + + + + ## [1.6.21](https://github.com/aws-amplify/amplify-cli/compare/amplify-nodejs-function-template-provider@1.6.20...amplify-nodejs-function-template-provider@1.6.21) (2021-09-18) **Note:** Version bump only for package amplify-nodejs-function-template-provider diff --git a/packages/amplify-nodejs-function-template-provider/package.json b/packages/amplify-nodejs-function-template-provider/package.json index a51c208efdb..30c5fc8e098 100644 --- a/packages/amplify-nodejs-function-template-provider/package.json +++ b/packages/amplify-nodejs-function-template-provider/package.json @@ -1,6 +1,6 @@ { "name": "amplify-nodejs-function-template-provider", - "version": "1.6.21", + "version": "1.6.22-graphql-vnext-dev-preview.0", "description": "Node JS templates supplied by the Amplify Team", "repository": { "type": "git", @@ -21,9 +21,9 @@ "clean": "rimraf lib tsconfig.tsbuildinfo" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-function-plugin-interface": "1.9.1", - "graphql-transformer-core": "6.29.7", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "lodash": "^4.17.21" }, "devDependencies": { diff --git a/packages/amplify-prompts/CHANGELOG.md b/packages/amplify-prompts/CHANGELOG.md index 82f5d957849..a56fceebe6f 100644 --- a/packages/amplify-prompts/CHANGELOG.md +++ b/packages/amplify-prompts/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.2.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-prompts@1.1.2...amplify-prompts@1.2.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) +* update pick styling, hint text, and ctrl+z listener ([#8167](https://github.com/aws-amplify/amplify-cli/issues/8167)) ([620a36a](https://github.com/aws-amplify/amplify-cli/commit/620a36a8d4596cfd686820a5556431077977db5a)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + ## [1.1.2](https://github.com/aws-amplify/amplify-cli/compare/amplify-prompts@1.1.1...amplify-prompts@1.1.2) (2021-09-02) **Note:** Version bump only for package amplify-prompts diff --git a/packages/amplify-prompts/package.json b/packages/amplify-prompts/package.json index 54584e0ef4a..26af1ad4ba6 100644 --- a/packages/amplify-prompts/package.json +++ b/packages/amplify-prompts/package.json @@ -1,6 +1,6 @@ { "name": "amplify-prompts", - "version": "1.1.2", + "version": "1.2.0-graphql-vnext-dev-preview.0", "description": "Utility functions for Amplify CLI terminal I/O", "main": "lib/index.js", "scripts": { diff --git a/packages/amplify-provider-awscloudformation/CHANGELOG.md b/packages/amplify-provider-awscloudformation/CHANGELOG.md index e22617bdeda..efd8df60d55 100644 --- a/packages/amplify-provider-awscloudformation/CHANGELOG.md +++ b/packages/amplify-provider-awscloudformation/CHANGELOG.md @@ -3,6 +3,35 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.61.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-provider-awscloudformation@4.60.1...amplify-provider-awscloudformation@4.61.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* add pull check for missing s3 objects, ref [#8233](https://github.com/aws-amplify/amplify-cli/issues/8233) ([#8250](https://github.com/aws-amplify/amplify-cli/issues/8250)) ([d17309d](https://github.com/aws-amplify/amplify-cli/commit/d17309d36679f7b0c2fee858f38c44618e885370)) +* **amplify-cli-core:** add service mapping FFs ([#7024](https://github.com/aws-amplify/amplify-cli/issues/7024)) ([36fe24d](https://github.com/aws-amplify/amplify-cli/commit/36fe24db9f37a8a12d50f1e20ea44562eb44d04a)) +* **amplify-provider-awscloudformation:** invoke api function from invoker plugin ([#8274](https://github.com/aws-amplify/amplify-cli/issues/8274)) ([d30f1d6](https://github.com/aws-amplify/amplify-cli/commit/d30f1d65e3b2cf259cb0382389b6ae27d914d9cc)) +* **amplify-provider-awscloudformation:** remove sandbox mode directive from schema before transform ([#8272](https://github.com/aws-amplify/amplify-cli/issues/8272)) ([17aa0a2](https://github.com/aws-amplify/amplify-cli/commit/17aa0a2fd9356e05ff30e76b125554dbe7564e80)) +* **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c)) +* **graphql-model-transformer:** provide correct directive definitions based on transformer version ([#8208](https://github.com/aws-amplify/amplify-cli/issues/8208)) ([5583cd4](https://github.com/aws-amplify/amplify-cli/commit/5583cd47e620992ea9df1f02d812577dc90391eb)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* add [@many](https://github.com/many)ToMany directive ([#8195](https://github.com/aws-amplify/amplify-cli/issues/8195)) ([cc644eb](https://github.com/aws-amplify/amplify-cli/commit/cc644ebc4968f29ad6b3f0b42013d7ee6a142f7e)) +* **amplify-provider-awscloudformation:** match env directive field for sandbox mode ([#3](https://github.com/aws-amplify/amplify-cli/issues/3)) ([3158549](https://github.com/aws-amplify/amplify-cli/commit/31585492fd4c358903d68d9640e9ac53e9b32eef)) +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + ## [4.60.1](https://github.com/aws-amplify/amplify-cli/compare/amplify-provider-awscloudformation@4.60.0...amplify-provider-awscloudformation@4.60.1) (2021-09-18) **Note:** Version bump only for package amplify-provider-awscloudformation diff --git a/packages/amplify-provider-awscloudformation/package.json b/packages/amplify-provider-awscloudformation/package.json index 589eb030ff8..f16a53f5872 100644 --- a/packages/amplify-provider-awscloudformation/package.json +++ b/packages/amplify-provider-awscloudformation/package.json @@ -1,6 +1,6 @@ { "name": "amplify-provider-awscloudformation", - "version": "4.60.1", + "version": "4.61.0-graphql-vnext-dev-preview.0", "description": "AWS CloudFormation Provider", "repository": { "type": "git", @@ -24,16 +24,16 @@ "watch": "tsc --watch" }, "dependencies": { - "@aws-amplify/graphql-auth-transformer": "0.1.0", - "@aws-amplify/graphql-function-transformer": "0.4.3", - "@aws-amplify/graphql-http-transformer": "0.5.3", - "@aws-amplify/graphql-index-transformer": "0.3.2", - "@aws-amplify/graphql-model-transformer": "0.6.2", - "@aws-amplify/graphql-predictions-transformer": "0.3.3", - "@aws-amplify/graphql-relational-transformer": "0.2.1", - "@aws-amplify/graphql-searchable-transformer": "0.6.0", - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-auth-transformer": "0.2.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-function-transformer": "0.5.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-http-transformer": "0.5.4-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-index-transformer": "0.4.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-model-transformer": "0.7.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-predictions-transformer": "0.4.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-relational-transformer": "0.3.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-searchable-transformer": "0.7.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@aws-cdk/assets": "~1.124.0", "@aws-cdk/aws-apigatewayv2": "~1.124.0", "@aws-cdk/aws-autoscaling": "~1.124.0", @@ -73,10 +73,10 @@ "@aws-cdk/custom-resources": "~1.124.0", "@aws-cdk/region-info": "~1.124.0", "@octokit/rest": "^18.0.9", - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-cli-logger": "1.1.0", "amplify-codegen": "^2.23.1", - "amplify-util-import": "1.5.12", + "amplify-util-import": "1.5.13-graphql-vnext-dev-preview.0", "archiver": "^5.3.0", "aws-sdk": "^2.963.0", "bottleneck": "2.19.5", @@ -93,16 +93,16 @@ "fs-extra": "^8.1.0", "glob": "^7.1.6", "graphql": "^14.5.8", - "graphql-auth-transformer": "6.24.22", - "graphql-connection-transformer": "4.21.22", - "graphql-dynamodb-transformer": "6.22.22", - "graphql-elasticsearch-transformer": "4.12.1", - "graphql-function-transformer": "2.5.21", - "graphql-http-transformer": "4.18.9", - "graphql-key-transformer": "2.23.22", - "graphql-predictions-transformer": "2.5.21", - "graphql-transformer-core": "6.29.7", - "graphql-versioned-transformer": "4.17.22", + "graphql-auth-transformer": "6.25.0-graphql-vnext-dev-preview.0", + "graphql-connection-transformer": "4.21.23-graphql-vnext-dev-preview.0", + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0", + "graphql-elasticsearch-transformer": "4.12.2-graphql-vnext-dev-preview.0", + "graphql-function-transformer": "2.5.22-graphql-vnext-dev-preview.0", + "graphql-http-transformer": "4.18.10-graphql-vnext-dev-preview.0", + "graphql-key-transformer": "2.23.23-graphql-vnext-dev-preview.0", + "graphql-predictions-transformer": "2.5.22-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", + "graphql-versioned-transformer": "4.17.23-graphql-vnext-dev-preview.0", "ignore": "^5.1.8", "import-from": "^3.0.0", "import-global": "^0.1.0", diff --git a/packages/amplify-python-function-runtime-provider/CHANGELOG.md b/packages/amplify-python-function-runtime-provider/CHANGELOG.md index bce1d6f55e5..003db829e0e 100644 --- a/packages/amplify-python-function-runtime-provider/CHANGELOG.md +++ b/packages/amplify-python-function-runtime-provider/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.9.12-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-python-function-runtime-provider@1.9.11...amplify-python-function-runtime-provider@1.9.12-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-python-function-runtime-provider + + + + + ## [1.9.11](https://github.com/aws-amplify/amplify-cli/compare/amplify-python-function-runtime-provider@1.9.10...amplify-python-function-runtime-provider@1.9.11) (2021-09-18) **Note:** Version bump only for package amplify-python-function-runtime-provider diff --git a/packages/amplify-python-function-runtime-provider/package.json b/packages/amplify-python-function-runtime-provider/package.json index 1147467baba..f144e564028 100644 --- a/packages/amplify-python-function-runtime-provider/package.json +++ b/packages/amplify-python-function-runtime-provider/package.json @@ -1,6 +1,6 @@ { "name": "amplify-python-function-runtime-provider", - "version": "1.9.11", + "version": "1.9.12-graphql-vnext-dev-preview.0", "description": "Provides functionality related to functions in Python on AWS", "repository": { "type": "git", @@ -21,7 +21,7 @@ "clean": "rimraf lib tsconfig.tsbuildinfo" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-function-plugin-interface": "1.9.1", "archiver": "^5.3.0", "execa": "^5.1.1", diff --git a/packages/amplify-util-headless-input/CHANGELOG.md b/packages/amplify-util-headless-input/CHANGELOG.md index 86e614596d9..b3c44c0a824 100644 --- a/packages/amplify-util-headless-input/CHANGELOG.md +++ b/packages/amplify-util-headless-input/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.5.5-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-util-headless-input@1.5.4...amplify-util-headless-input@1.5.5-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-util-headless-input + + + + + ## [1.5.4](https://github.com/aws-amplify/amplify-cli/compare/amplify-util-headless-input@1.5.3...amplify-util-headless-input@1.5.4) (2021-09-14) **Note:** Version bump only for package amplify-util-headless-input diff --git a/packages/amplify-util-headless-input/package.json b/packages/amplify-util-headless-input/package.json index d2f8d21a463..d8e1c0c6859 100644 --- a/packages/amplify-util-headless-input/package.json +++ b/packages/amplify-util-headless-input/package.json @@ -1,6 +1,6 @@ { "name": "amplify-util-headless-input", - "version": "1.5.4", + "version": "1.5.5-graphql-vnext-dev-preview.0", "description": "Logic for validating objects against JSON-schema specs and performing version upgrades when necessary / possible", "main": "lib/index.js", "scripts": { @@ -16,7 +16,7 @@ "license": "Apache-2.0", "dependencies": { "ajv": "^6.12.2", - "amplify-headless-interface": "1.10.0" + "amplify-headless-interface": "1.11.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/json-schema": "^7.0.5", diff --git a/packages/amplify-util-import/CHANGELOG.md b/packages/amplify-util-import/CHANGELOG.md index 73800f1d0e1..076726a7de4 100644 --- a/packages/amplify-util-import/CHANGELOG.md +++ b/packages/amplify-util-import/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.5.13-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-util-import@1.5.12...amplify-util-import@1.5.13-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-util-import + + + + + ## [1.5.12](https://github.com/aws-amplify/amplify-cli/compare/amplify-util-import@1.5.11...amplify-util-import@1.5.12) (2021-09-18) **Note:** Version bump only for package amplify-util-import diff --git a/packages/amplify-util-import/package.json b/packages/amplify-util-import/package.json index 737f242f315..eb25fa57f1c 100644 --- a/packages/amplify-util-import/package.json +++ b/packages/amplify-util-import/package.json @@ -1,6 +1,6 @@ { "name": "amplify-util-import", - "version": "1.5.12", + "version": "1.5.13-graphql-vnext-dev-preview.0", "description": "Resource import support package", "main": "lib/index.js", "scripts": { @@ -16,7 +16,7 @@ "author": "Amazon Web Services", "license": "Apache-2.0", "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "aws-sdk": "^2.963.0" }, "devDependencies": { diff --git a/packages/amplify-util-mock/CHANGELOG.md b/packages/amplify-util-mock/CHANGELOG.md index 93ce3fd6244..e92891e15f7 100644 --- a/packages/amplify-util-mock/CHANGELOG.md +++ b/packages/amplify-util-mock/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.34.6-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/amplify-util-mock@3.34.5...amplify-util-mock@3.34.6-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package amplify-util-mock + + + + + ## [3.34.5](https://github.com/aws-amplify/amplify-cli/compare/amplify-util-mock@3.34.4...amplify-util-mock@3.34.5) (2021-09-18) **Note:** Version bump only for package amplify-util-mock diff --git a/packages/amplify-util-mock/package.json b/packages/amplify-util-mock/package.json index 6baa05f29d1..65c8b00a2b1 100644 --- a/packages/amplify-util-mock/package.json +++ b/packages/amplify-util-mock/package.json @@ -1,6 +1,6 @@ { "name": "amplify-util-mock", - "version": "3.34.5", + "version": "3.34.6-graphql-vnext-dev-preview.0", "description": "amplify cli plugin providing local testing", "repository": { "type": "git", @@ -26,11 +26,11 @@ "dependencies": { "@hapi/topo": "^5.0.0", "amplify-appsync-simulator": "1.27.7", - "amplify-category-function": "2.34.7", - "amplify-cli-core": "1.29.0", + "amplify-category-function": "2.35.0-graphql-vnext-dev-preview.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "amplify-codegen": "^2.23.1", - "amplify-dynamodb-simulator": "1.19.12", - "amplify-provider-awscloudformation": "4.60.1", + "amplify-dynamodb-simulator": "1.19.13-graphql-vnext-dev-preview.0", + "amplify-provider-awscloudformation": "4.61.0-graphql-vnext-dev-preview.0", "amplify-storage-simulator": "1.6.1", "chokidar": "^3.3.1", "detect-port": "^1.3.0", @@ -48,19 +48,19 @@ "@types/semver": "^7.1.0", "@types/which": "^1.3.2", "amplify-function-plugin-interface": "1.9.1", - "amplify-nodejs-function-runtime-provider": "1.6.11", + "amplify-nodejs-function-runtime-provider": "1.6.12-graphql-vnext-dev-preview.0", "aws-appsync": "^2.0.2", "aws-sdk": "^2.963.0", "aws-sdk-mock": "^5.1.0", "axios": "^0.21.4", - "graphql-auth-transformer": "6.24.22", - "graphql-connection-transformer": "4.21.22", - "graphql-dynamodb-transformer": "6.22.22", - "graphql-function-transformer": "2.5.21", - "graphql-key-transformer": "2.23.22", + "graphql-auth-transformer": "6.25.0-graphql-vnext-dev-preview.0", + "graphql-connection-transformer": "4.21.23-graphql-vnext-dev-preview.0", + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0", + "graphql-function-transformer": "2.5.22-graphql-vnext-dev-preview.0", + "graphql-key-transformer": "2.23.23-graphql-vnext-dev-preview.0", "graphql-tag": "^2.10.1", - "graphql-transformer-core": "6.29.7", - "graphql-versioned-transformer": "4.17.22", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", + "graphql-versioned-transformer": "4.17.23-graphql-vnext-dev-preview.0", "isomorphic-fetch": "^3.0.0", "jsonwebtoken": "^8.5.1", "uuid": "^3.4.0", diff --git a/packages/graphql-auth-transformer/CHANGELOG.md b/packages/graphql-auth-transformer/CHANGELOG.md index 2c1ae590937..a86461f2771 100644 --- a/packages/graphql-auth-transformer/CHANGELOG.md +++ b/packages/graphql-auth-transformer/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.25.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-auth-transformer@6.24.22...graphql-auth-transformer@6.25.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **graphql-model-transformer:** [@model](https://github.com/model) conflict resolution ([#8035](https://github.com/aws-amplify/amplify-cli/issues/8035)) ([f3bdc4a](https://github.com/aws-amplify/amplify-cli/commit/f3bdc4ac1fcf596f634d9d2e968785e76f7b138c)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + ## [6.24.22](https://github.com/aws-amplify/amplify-cli/compare/graphql-auth-transformer@6.24.21...graphql-auth-transformer@6.24.22) (2021-09-18) **Note:** Version bump only for package graphql-auth-transformer diff --git a/packages/graphql-auth-transformer/package.json b/packages/graphql-auth-transformer/package.json index 5e647d20d3e..f7e4e99575a 100644 --- a/packages/graphql-auth-transformer/package.json +++ b/packages/graphql-auth-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-auth-transformer", - "version": "6.24.22", + "version": "6.25.0-graphql-vnext-dev-preview.0", "description": "Implements the @auth directive for the appsync model transform.", "repository": { "type": "git", @@ -24,17 +24,17 @@ }, "dependencies": { "graphql": "^14.5.8", - "graphql-connection-transformer": "4.21.22", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-connection-transformer": "4.21.23-graphql-vnext-dev-preview.0", + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/node": "^12.12.6", "cloudform-types": "^4.2.0", - "graphql-dynamodb-transformer": "6.22.22", - "graphql-elasticsearch-transformer": "4.12.1", - "graphql-function-transformer": "2.5.21", + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0", + "graphql-elasticsearch-transformer": "4.12.2-graphql-vnext-dev-preview.0", + "graphql-function-transformer": "2.5.22-graphql-vnext-dev-preview.0", "rimraf": "^3.0.0" }, "jest": { diff --git a/packages/graphql-connection-transformer/CHANGELOG.md b/packages/graphql-connection-transformer/CHANGELOG.md index 3cd9eec7d28..937c30ae199 100644 --- a/packages/graphql-connection-transformer/CHANGELOG.md +++ b/packages/graphql-connection-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.21.23-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-connection-transformer@4.21.22...graphql-connection-transformer@4.21.23-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package graphql-connection-transformer + + + + + ## [4.21.22](https://github.com/aws-amplify/amplify-cli/compare/graphql-connection-transformer@4.21.21...graphql-connection-transformer@4.21.22) (2021-09-18) **Note:** Version bump only for package graphql-connection-transformer diff --git a/packages/graphql-connection-transformer/package.json b/packages/graphql-connection-transformer/package.json index 04d5165605f..71af6c1f1e7 100644 --- a/packages/graphql-connection-transformer/package.json +++ b/packages/graphql-connection-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-connection-transformer", - "version": "4.21.22", + "version": "4.21.23-graphql-vnext-dev-preview.0", "description": "An AppSync model transform for connecting objects.", "repository": { "type": "git", @@ -24,11 +24,11 @@ "dependencies": { "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-dynamodb-transformer": "6.22.22", - "graphql-key-transformer": "2.23.22", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0", + "graphql-key-transformer": "2.23.23-graphql-vnext-dev-preview.0", + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/node": "^12.12.6" diff --git a/packages/graphql-dynamodb-transformer/CHANGELOG.md b/packages/graphql-dynamodb-transformer/CHANGELOG.md index 2c72c94f34b..c851881223f 100644 --- a/packages/graphql-dynamodb-transformer/CHANGELOG.md +++ b/packages/graphql-dynamodb-transformer/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [6.22.23-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-dynamodb-transformer@6.22.22...graphql-dynamodb-transformer@6.22.23-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a)) + + + + + ## [6.22.22](https://github.com/aws-amplify/amplify-cli/compare/graphql-dynamodb-transformer@6.22.21...graphql-dynamodb-transformer@6.22.22) (2021-09-18) **Note:** Version bump only for package graphql-dynamodb-transformer diff --git a/packages/graphql-dynamodb-transformer/package.json b/packages/graphql-dynamodb-transformer/package.json index 3c1517b6d42..0b77e54e35d 100644 --- a/packages/graphql-dynamodb-transformer/package.json +++ b/packages/graphql-dynamodb-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-dynamodb-transformer", - "version": "6.22.22", + "version": "6.22.23-graphql-vnext-dev-preview.0", "description": "An AppSync model transform that takes a simple model and creates a DynamoDB table, DynamoDB stream.", "repository": { "type": "git", @@ -26,9 +26,9 @@ "@types/pluralize": "^0.0.29", "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7", + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "md5": "^2.2.1", "pluralize": "^8.0.0" }, diff --git a/packages/graphql-elasticsearch-transformer/CHANGELOG.md b/packages/graphql-elasticsearch-transformer/CHANGELOG.md index 46fd201e21b..eee78ad8513 100644 --- a/packages/graphql-elasticsearch-transformer/CHANGELOG.md +++ b/packages/graphql-elasticsearch-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.12.2-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-elasticsearch-transformer@4.12.1...graphql-elasticsearch-transformer@4.12.2-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package graphql-elasticsearch-transformer + + + + + ## [4.12.1](https://github.com/aws-amplify/amplify-cli/compare/graphql-elasticsearch-transformer@4.12.0...graphql-elasticsearch-transformer@4.12.1) (2021-09-18) **Note:** Version bump only for package graphql-elasticsearch-transformer diff --git a/packages/graphql-elasticsearch-transformer/package.json b/packages/graphql-elasticsearch-transformer/package.json index e7c11a60217..f3176907da9 100644 --- a/packages/graphql-elasticsearch-transformer/package.json +++ b/packages/graphql-elasticsearch-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-elasticsearch-transformer", - "version": "4.12.1", + "version": "4.12.2-graphql-vnext-dev-preview.0", "description": "An AppSync model transform that creates an ElasticSearch index with the queries to match.", "repository": { "type": "git", @@ -25,14 +25,14 @@ "dependencies": { "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/node": "^12.12.6", "bestzip": "^2.1.5", - "graphql-dynamodb-transformer": "6.22.22" + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0" }, "jest": { "transform": { diff --git a/packages/graphql-function-transformer/CHANGELOG.md b/packages/graphql-function-transformer/CHANGELOG.md index 02085da4117..fde3d370f8e 100644 --- a/packages/graphql-function-transformer/CHANGELOG.md +++ b/packages/graphql-function-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.5.22-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-function-transformer@2.5.21...graphql-function-transformer@2.5.22-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package graphql-function-transformer + + + + + ## [2.5.21](https://github.com/aws-amplify/amplify-cli/compare/graphql-function-transformer@2.5.20...graphql-function-transformer@2.5.21) (2021-09-18) **Note:** Version bump only for package graphql-function-transformer diff --git a/packages/graphql-function-transformer/package.json b/packages/graphql-function-transformer/package.json index a3db15794d8..20b398f2123 100644 --- a/packages/graphql-function-transformer/package.json +++ b/packages/graphql-function-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-function-transformer", - "version": "2.5.21", + "version": "2.5.22-graphql-vnext-dev-preview.0", "description": "Implements the @function directive.", "repository": { "type": "git", @@ -25,9 +25,9 @@ "dependencies": { "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "jest": { "transform": { diff --git a/packages/graphql-http-transformer/CHANGELOG.md b/packages/graphql-http-transformer/CHANGELOG.md index 7d8e78f89cf..84568c00884 100644 --- a/packages/graphql-http-transformer/CHANGELOG.md +++ b/packages/graphql-http-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.18.10-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-http-transformer@4.18.9...graphql-http-transformer@4.18.10-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package graphql-http-transformer + + + + + ## [4.18.9](https://github.com/aws-amplify/amplify-cli/compare/graphql-http-transformer@4.18.8...graphql-http-transformer@4.18.9) (2021-09-18) **Note:** Version bump only for package graphql-http-transformer diff --git a/packages/graphql-http-transformer/package.json b/packages/graphql-http-transformer/package.json index eebea889985..cfacea0fcdc 100644 --- a/packages/graphql-http-transformer/package.json +++ b/packages/graphql-http-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-http-transformer", - "version": "4.18.9", + "version": "4.18.10-graphql-vnext-dev-preview.0", "description": "An AppSync model transform for HTTP resolvers.", "repository": { "type": "git", @@ -24,9 +24,9 @@ "dependencies": { "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/node": "^12.12.6" diff --git a/packages/graphql-key-transformer/CHANGELOG.md b/packages/graphql-key-transformer/CHANGELOG.md index e118927d5a6..8d0f6af4d67 100644 --- a/packages/graphql-key-transformer/CHANGELOG.md +++ b/packages/graphql-key-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.23.23-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-key-transformer@2.23.22...graphql-key-transformer@2.23.23-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package graphql-key-transformer + + + + + ## [2.23.22](https://github.com/aws-amplify/amplify-cli/compare/graphql-key-transformer@2.23.21...graphql-key-transformer@2.23.22) (2021-09-18) **Note:** Version bump only for package graphql-key-transformer diff --git a/packages/graphql-key-transformer/package.json b/packages/graphql-key-transformer/package.json index 7c0548ba660..47b92396726 100644 --- a/packages/graphql-key-transformer/package.json +++ b/packages/graphql-key-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-key-transformer", - "version": "2.23.22", + "version": "2.23.23-graphql-vnext-dev-preview.0", "description": "Implements the @key directive.", "repository": { "type": "git", @@ -24,10 +24,10 @@ "dependencies": { "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-dynamodb-transformer": "6.22.22", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0", + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "jest": { "testURL": "http://localhost", diff --git a/packages/graphql-mapping-template/CHANGELOG.md b/packages/graphql-mapping-template/CHANGELOG.md index 7880448aae6..2324d80e1b9 100644 --- a/packages/graphql-mapping-template/CHANGELOG.md +++ b/packages/graphql-mapping-template/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.19.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-mapping-template@4.18.3...graphql-mapping-template@4.19.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) + + + + + ## [4.18.3](https://github.com/aws-amplify/amplify-cli/compare/graphql-mapping-template@4.18.2...graphql-mapping-template@4.18.3) (2021-08-24) **Note:** Version bump only for package graphql-mapping-template diff --git a/packages/graphql-mapping-template/package.json b/packages/graphql-mapping-template/package.json index 2e97102c65c..536d5ea08f4 100644 --- a/packages/graphql-mapping-template/package.json +++ b/packages/graphql-mapping-template/package.json @@ -1,6 +1,6 @@ { "name": "graphql-mapping-template", - "version": "4.18.3", + "version": "4.19.0-graphql-vnext-dev-preview.0", "description": "An AST wrapper around AWS AppSync resolvers", "repository": { "type": "git", diff --git a/packages/graphql-predictions-transformer/CHANGELOG.md b/packages/graphql-predictions-transformer/CHANGELOG.md index 13da6401382..cde15537a6c 100644 --- a/packages/graphql-predictions-transformer/CHANGELOG.md +++ b/packages/graphql-predictions-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.5.22-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-predictions-transformer@2.5.21...graphql-predictions-transformer@2.5.22-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package graphql-predictions-transformer + + + + + ## [2.5.21](https://github.com/aws-amplify/amplify-cli/compare/graphql-predictions-transformer@2.5.20...graphql-predictions-transformer@2.5.21) (2021-09-18) **Note:** Version bump only for package graphql-predictions-transformer diff --git a/packages/graphql-predictions-transformer/package.json b/packages/graphql-predictions-transformer/package.json index b18c50c4150..7b3c82f1f34 100644 --- a/packages/graphql-predictions-transformer/package.json +++ b/packages/graphql-predictions-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-predictions-transformer", - "version": "2.5.21", + "version": "2.5.22-graphql-vnext-dev-preview.0", "description": "Implements the @predictions directive.", "repository": { "type": "git", @@ -25,9 +25,9 @@ "dependencies": { "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "bestzip": "^2.1.5" diff --git a/packages/graphql-relational-schema-transformer/CHANGELOG.md b/packages/graphql-relational-schema-transformer/CHANGELOG.md index fcea8b3664b..553c68d90e9 100644 --- a/packages/graphql-relational-schema-transformer/CHANGELOG.md +++ b/packages/graphql-relational-schema-transformer/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.18.7-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-relational-schema-transformer@2.18.6...graphql-relational-schema-transformer@2.18.7-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* [#8223](https://github.com/aws-amplify/amplify-cli/issues/8223), conversion to typescript ([#8245](https://github.com/aws-amplify/amplify-cli/issues/8245)) ([096e6ca](https://github.com/aws-amplify/amplify-cli/commit/096e6ca19b94aa40ef249ea98d008380395afa16)) +* **graphql-relational-transformer:** fixes broken list and update resolvers ([#8101](https://github.com/aws-amplify/amplify-cli/issues/8101)) ([e61b362](https://github.com/aws-amplify/amplify-cli/commit/e61b362b75e6dfce6406e35e5ab52ffbaf718483)), closes [#8008](https://github.com/aws-amplify/amplify-cli/issues/8008) + + + + + ## [2.18.6](https://github.com/aws-amplify/amplify-cli/compare/graphql-relational-schema-transformer@2.18.5...graphql-relational-schema-transformer@2.18.6) (2021-09-02) **Note:** Version bump only for package graphql-relational-schema-transformer diff --git a/packages/graphql-relational-schema-transformer/package.json b/packages/graphql-relational-schema-transformer/package.json index 0fad9c15167..f0027fb79ec 100644 --- a/packages/graphql-relational-schema-transformer/package.json +++ b/packages/graphql-relational-schema-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-relational-schema-transformer", - "version": "2.18.6", + "version": "2.18.7-graphql-vnext-dev-preview.0", "description": "An AppSync model transform that takes a relational database and turns that into a GraphQL API.", "repository": { "type": "git", @@ -27,8 +27,8 @@ "cloudform-types": "^4.2.0", "fs-extra": "^8.1.0", "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/fs-extra": "^8.0.1", diff --git a/packages/graphql-transformer-common/CHANGELOG.md b/packages/graphql-transformer-common/CHANGELOG.md index 6f34c8f8f2f..d2c142ef8de 100644 --- a/packages/graphql-transformer-common/CHANGELOG.md +++ b/packages/graphql-transformer-common/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.19.10-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-transformer-common@4.19.9...graphql-transformer-common@4.19.10-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **graphql-model-transformer:** iam role name does not exceed 64 characters ([#8244](https://github.com/aws-amplify/amplify-cli/issues/8244)) ([812a671](https://github.com/aws-amplify/amplify-cli/commit/812a67163d6dd33160bf7ace9afd538c83a7af1a)) + + + + + ## [4.19.9](https://github.com/aws-amplify/amplify-cli/compare/graphql-transformer-common@4.19.8...graphql-transformer-common@4.19.9) (2021-09-02) **Note:** Version bump only for package graphql-transformer-common diff --git a/packages/graphql-transformer-common/package.json b/packages/graphql-transformer-common/package.json index 56c8e27db91..138d6f53960 100644 --- a/packages/graphql-transformer-common/package.json +++ b/packages/graphql-transformer-common/package.json @@ -1,6 +1,6 @@ { "name": "graphql-transformer-common", - "version": "4.19.9", + "version": "4.19.10-graphql-vnext-dev-preview.0", "description": "Common code and constants for AppSync Transformers", "repository": { "type": "git", @@ -24,7 +24,7 @@ }, "dependencies": { "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", "md5": "^2.2.1", "pluralize": "8.0.0" }, diff --git a/packages/graphql-transformer-core/CHANGELOG.md b/packages/graphql-transformer-core/CHANGELOG.md index 7cc1f30cc14..3acefdbe5cc 100644 --- a/packages/graphql-transformer-core/CHANGELOG.md +++ b/packages/graphql-transformer-core/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.30.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-transformer-core@6.29.7...graphql-transformer-core@6.30.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Features + +* **cli-api:** improve add and update api ([02af6b5](https://github.com/aws-amplify/amplify-cli/commit/02af6b582367b584ad755c889fb04722af355368)) +* Flag to allow schema changes that require table replacement ([#8144](https://github.com/aws-amplify/amplify-cli/issues/8144)) ([2d4e65a](https://github.com/aws-amplify/amplify-cli/commit/2d4e65acfd034d33c6fa8ac1f5f8582e7e3bc399)) + + +### Reverts + +* Revert "feat: Flag to allow schema changes that require table replacement (#8144)" (#8268) ([bb67a35](https://github.com/aws-amplify/amplify-cli/commit/bb67a35fc81913264d9a29088b0eb37b8d13a666)), closes [#8144](https://github.com/aws-amplify/amplify-cli/issues/8144) [#8268](https://github.com/aws-amplify/amplify-cli/issues/8268) + + + + + ## [6.29.7](https://github.com/aws-amplify/amplify-cli/compare/graphql-transformer-core@6.29.6...graphql-transformer-core@6.29.7) (2021-09-18) **Note:** Version bump only for package graphql-transformer-core diff --git a/packages/graphql-transformer-core/package.json b/packages/graphql-transformer-core/package.json index c057c6bcda9..1643c94175f 100644 --- a/packages/graphql-transformer-core/package.json +++ b/packages/graphql-transformer-core/package.json @@ -1,6 +1,6 @@ { "name": "graphql-transformer-core", - "version": "6.29.7", + "version": "6.30.0-graphql-vnext-dev-preview.0", "description": "A framework to transform from GraphQL SDL to AWS CloudFormation.", "repository": { "type": "git", @@ -23,13 +23,13 @@ "clean": "rimraf ./lib" }, "dependencies": { - "amplify-cli-core": "1.29.0", + "amplify-cli-core": "1.30.0-graphql-vnext-dev-preview.0", "cloudform-types": "^4.2.0", "deep-diff": "^1.0.2", "fs-extra": "^8.1.0", "glob": "^7.1.6", "graphql": "^14.5.8", - "graphql-transformer-common": "4.19.9" + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/fs-extra": "^8.0.1", diff --git a/packages/graphql-transformers-e2e-tests/CHANGELOG.md b/packages/graphql-transformers-e2e-tests/CHANGELOG.md index 721e266103a..79ebbbe7be4 100644 --- a/packages/graphql-transformers-e2e-tests/CHANGELOG.md +++ b/packages/graphql-transformers-e2e-tests/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [6.27.0-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-transformers-e2e-tests@6.26.3...graphql-transformers-e2e-tests@6.27.0-graphql-vnext-dev-preview.0) (2021-09-27) + + +### Bug Fixes + +* **Searchable:** confirm ES data propagate ([#8251](https://github.com/aws-amplify/amplify-cli/issues/8251)) ([8e5c791](https://github.com/aws-amplify/amplify-cli/commit/8e5c7917d459c1eb53228884dcae1e395c125c18)) + + +### Features + +* add [@auth](https://github.com/auth) ([#1](https://github.com/aws-amplify/amplify-cli/issues/1)) ([7c13d99](https://github.com/aws-amplify/amplify-cli/commit/7c13d99a15e811efeff32ed061573d63ee9093ba)), closes [#8074](https://github.com/aws-amplify/amplify-cli/issues/8074) [#8078](https://github.com/aws-amplify/amplify-cli/issues/8078) [#8124](https://github.com/aws-amplify/amplify-cli/issues/8124) [#8146](https://github.com/aws-amplify/amplify-cli/issues/8146) [#8168](https://github.com/aws-amplify/amplify-cli/issues/8168) [#8138](https://github.com/aws-amplify/amplify-cli/issues/8138) [#8174](https://github.com/aws-amplify/amplify-cli/issues/8174) [#8175](https://github.com/aws-amplify/amplify-cli/issues/8175) [#8180](https://github.com/aws-amplify/amplify-cli/issues/8180) [#8179](https://github.com/aws-amplify/amplify-cli/issues/8179) [#8234](https://github.com/aws-amplify/amplify-cli/issues/8234) [#8246](https://github.com/aws-amplify/amplify-cli/issues/8246) [#8248](https://github.com/aws-amplify/amplify-cli/issues/8248) [#8259](https://github.com/aws-amplify/amplify-cli/issues/8259) +* add [@many](https://github.com/many)ToMany directive ([#8195](https://github.com/aws-amplify/amplify-cli/issues/8195)) ([cc644eb](https://github.com/aws-amplify/amplify-cli/commit/cc644ebc4968f29ad6b3f0b42013d7ee6a142f7e)) + + + + + ## [6.26.3](https://github.com/aws-amplify/amplify-cli/compare/graphql-transformers-e2e-tests@6.26.2...graphql-transformers-e2e-tests@6.26.3) (2021-09-18) **Note:** Version bump only for package graphql-transformers-e2e-tests diff --git a/packages/graphql-transformers-e2e-tests/package.json b/packages/graphql-transformers-e2e-tests/package.json index 1a7d7824f24..b2f64b1fd9a 100644 --- a/packages/graphql-transformers-e2e-tests/package.json +++ b/packages/graphql-transformers-e2e-tests/package.json @@ -1,6 +1,6 @@ { "name": "graphql-transformers-e2e-tests", - "version": "6.26.3", + "version": "6.27.0-graphql-vnext-dev-preview.0", "description": "End to end functional tests for appsync supported transformers.", "private": true, "repository": { @@ -25,16 +25,16 @@ "axios": "^0.21.4", "cloudform-types": "^4.2.0", "graphql": "^14.5.8", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0", "moment": "^2.24.0" }, "devDependencies": { "@aws-amplify/core": "^2.1.0", - "@aws-amplify/graphql-index-transformer": "0.3.2", - "@aws-amplify/graphql-model-transformer": "0.6.2", - "@aws-amplify/graphql-transformer-core": "0.9.0", - "@aws-amplify/graphql-transformer-interfaces": "1.9.0", + "@aws-amplify/graphql-index-transformer": "0.4.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-model-transformer": "0.7.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-core": "0.10.0-graphql-vnext-dev-preview.0", + "@aws-amplify/graphql-transformer-interfaces": "1.10.0-graphql-vnext-dev-preview.0", "@types/node": "^12.12.6", "aws-amplify": "^4.2.8", "aws-appsync": "^4.1.1", @@ -42,16 +42,16 @@ "aws-sdk": "^2.963.0", "execa": "^5.1.1", "fs-extra": "^8.1.0", - "graphql-auth-transformer": "6.24.22", - "graphql-connection-transformer": "4.21.22", - "graphql-dynamodb-transformer": "6.22.22", - "graphql-elasticsearch-transformer": "4.12.1", - "graphql-function-transformer": "2.5.21", - "graphql-http-transformer": "4.18.9", - "graphql-key-transformer": "2.23.22", - "graphql-predictions-transformer": "2.5.21", + "graphql-auth-transformer": "6.25.0-graphql-vnext-dev-preview.0", + "graphql-connection-transformer": "4.21.23-graphql-vnext-dev-preview.0", + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0", + "graphql-elasticsearch-transformer": "4.12.2-graphql-vnext-dev-preview.0", + "graphql-function-transformer": "2.5.22-graphql-vnext-dev-preview.0", + "graphql-http-transformer": "4.18.10-graphql-vnext-dev-preview.0", + "graphql-key-transformer": "2.23.23-graphql-vnext-dev-preview.0", + "graphql-predictions-transformer": "2.5.22-graphql-vnext-dev-preview.0", "graphql-tag": "^2.10.1", - "graphql-versioned-transformer": "4.17.22", + "graphql-versioned-transformer": "4.17.23-graphql-vnext-dev-preview.0", "isomorphic-fetch": "^3.0.0", "jest-junit": "^12.0.0", "node-fetch": "^2.6.1", diff --git a/packages/graphql-versioned-transformer/CHANGELOG.md b/packages/graphql-versioned-transformer/CHANGELOG.md index bcf254788de..01e9288cc6b 100644 --- a/packages/graphql-versioned-transformer/CHANGELOG.md +++ b/packages/graphql-versioned-transformer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.17.23-graphql-vnext-dev-preview.0](https://github.com/aws-amplify/amplify-cli/compare/graphql-versioned-transformer@4.17.22...graphql-versioned-transformer@4.17.23-graphql-vnext-dev-preview.0) (2021-09-27) + +**Note:** Version bump only for package graphql-versioned-transformer + + + + + ## [4.17.22](https://github.com/aws-amplify/amplify-cli/compare/graphql-versioned-transformer@4.17.21...graphql-versioned-transformer@4.17.22) (2021-09-18) **Note:** Version bump only for package graphql-versioned-transformer diff --git a/packages/graphql-versioned-transformer/package.json b/packages/graphql-versioned-transformer/package.json index b3da9f8af5b..62fb2ec87d0 100644 --- a/packages/graphql-versioned-transformer/package.json +++ b/packages/graphql-versioned-transformer/package.json @@ -1,6 +1,6 @@ { "name": "graphql-versioned-transformer", - "version": "4.17.22", + "version": "4.17.23-graphql-vnext-dev-preview.0", "description": "A GraphQL transform that enabled object versioning and conflict resolution for a @model type.", "repository": { "type": "git", @@ -23,13 +23,13 @@ }, "dependencies": { "graphql": "^14.5.8", - "graphql-mapping-template": "4.18.3", - "graphql-transformer-common": "4.19.9", - "graphql-transformer-core": "6.29.7" + "graphql-mapping-template": "4.19.0-graphql-vnext-dev-preview.0", + "graphql-transformer-common": "4.19.10-graphql-vnext-dev-preview.0", + "graphql-transformer-core": "6.30.0-graphql-vnext-dev-preview.0" }, "devDependencies": { "@types/node": "^12.12.6", - "graphql-dynamodb-transformer": "6.22.22" + "graphql-dynamodb-transformer": "6.22.23-graphql-vnext-dev-preview.0" }, "jest": { "transform": { From 024593bbe73eb4b3217e47595d5ea41847435203 Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 28 Sep 2021 14:51:05 -0700 Subject: [PATCH 60/64] resolve lambda auth conflicts --- .../src/utils/authType.ts | 2 +- .../src/graphql-api-provider.ts | 16 +- yarn.lock | 860 ------------------ 3 files changed, 15 insertions(+), 863 deletions(-) diff --git a/packages/amplify-graphql-transformer-core/src/utils/authType.ts b/packages/amplify-graphql-transformer-core/src/utils/authType.ts index 63de99c5be4..881b6443546 100644 --- a/packages/amplify-graphql-transformer-core/src/utils/authType.ts +++ b/packages/amplify-graphql-transformer-core/src/utils/authType.ts @@ -4,7 +4,7 @@ import { Duration, Expiration } from '@aws-cdk/core'; import { StackManager } from '../transformer-context/stack-manager'; import { AppSyncAuthConfiguration, AppSyncAuthConfigurationEntry, AppSyncAuthMode } from '@aws-amplify/graphql-transformer-interfaces'; -const authTypeMap: Record = { +const authTypeMap: Record = { API_KEY: AuthorizationType.API_KEY, AMAZON_COGNITO_USER_POOLS: AuthorizationType.USER_POOL, AWS_IAM: AuthorizationType.IAM, diff --git a/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts b/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts index 6514c3e48a0..69cd8f78c71 100644 --- a/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts +++ b/packages/amplify-graphql-transformer-interfaces/src/graphql-api-provider.ts @@ -3,7 +3,7 @@ import { Grant, IGrantable, IRole } from '@aws-cdk/aws-iam'; import { TransformHostProvider } from './transform-host-provider'; // Auth Config -export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT'; +export type AppSyncAuthMode = 'API_KEY' | 'AMAZON_COGNITO_USER_POOLS' | 'AWS_IAM' | 'OPENID_CONNECT' | 'AWS_LAMBDA'; export type AppSyncAuthConfiguration = { defaultAuthentication: AppSyncAuthConfigurationEntry; additionalAuthenticationProviders: Array; @@ -13,7 +13,9 @@ export type AppSyncAuthConfigurationEntry = | AppSyncAuthConfigurationUserPoolEntry | AppSyncAuthConfigurationAPIKeyEntry | AppSyncAuthConfigurationIAMEntry - | AppSyncAuthConfigurationOIDCEntry; + | AppSyncAuthConfigurationOIDCEntry + | AppSyncAuthConfigurationLambdaEntry; + export type AppSyncAuthConfigurationAPIKeyEntry = { authenticationType: 'API_KEY'; apiKeyConfig?: ApiKeyConfig; @@ -31,6 +33,11 @@ export type AppSyncAuthConfigurationOIDCEntry = { openIDConnectConfig?: OpenIDConnectConfig; }; +export type AppSyncAuthConfigurationLambdaEntry = { + authenticationType: 'AWS_LAMBDA'; + lambdaAuthorizerConfig?: LambdaConfig; +}; + export interface ApiKeyConfig { description?: string; apiKeyExpirationDays: number; @@ -47,6 +54,11 @@ export interface OpenIDConnectConfig { authTTL?: number; } +export interface LambdaConfig { + lambdaFunction: string; + ttlSeconds?: number; +} + export interface AppSyncFunctionConfigurationProvider extends IConstruct { readonly arn: string; readonly functionId: string; diff --git a/yarn.lock b/yarn.lock index 6190d4db629..0db4a5d9db9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -244,7 +244,6 @@ dependencies: "@aws-amplify/core" "4.2.8" -<<<<<<< HEAD "@aws-cdk/assert@~1.124.0": version "1.124.0" resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.124.0.tgz#1cc724a45666e29b58a269cab4176d41bedb2fd0" @@ -1028,803 +1027,16 @@ version "1.124.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.124.0.tgz#fcfa4051933a914073bc841af5b462bf74f309ea" integrity sha512-emrkfHetGoh6lhrT7ato06VAZun1UVYjJueL9avHxFgzX5qiobP4iWk6M0EZpk7yHlDOtJtp86MJalYYMS6Oww== -======= -"@aws-cdk/assert@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assert/-/assert-1.123.0.tgz#da6b41334ff2616600e17872ce88dc272ca41252" - integrity sha512-lisfqoGTPMz6iLRv1WcZkrstPO51dgp9QFffClOh9oYzZ916XDP5arQ7AFA9PkGTZY88dxrGKJFAI8kw9em4tA== - dependencies: - "@aws-cdk/cloudformation-diff" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/assets@1.123.0", "@aws-cdk/assets@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/assets/-/assets-1.123.0.tgz#92b1d1cc14e35181833c5f078286a785f9f92b6d" - integrity sha512-LS/XdiLXKm6BhSVxiWZffa8r8ALM4Z4MGm2ZudWXqDQ6TJXAKb5sYMkC8slxtxrI/fl4yz3OXHXeH0w/Re/q3w== - dependencies: - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-apigateway@1.123.0", "@aws-cdk/aws-apigateway@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigateway/-/aws-apigateway-1.123.0.tgz#b68b2c4d9384c6acf326bbb3c2eec94d85641f18" - integrity sha512-JfH9a6FSRrBOBD9e2KZmCdNobcKda3dT+xwnm1sh6vNpI9zX3zr6V1o6zEZJdv049lhTBv/ZQNAPSO1+luNsLQ== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-cognito" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-apigatewayv2@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-apigatewayv2/-/aws-apigatewayv2-1.123.0.tgz#dabd3a4504819d1f806ef7c1e16b61feba16bfd8" - integrity sha512-KSBpGah+BfFc6IGbh0ZJs/p6OxQkMG6gLgYr/hO0x0QkhOvaW96qXFlRVmc7oRwjDRdQMF1H/9ZnSOCZJ2fLOA== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-applicationautoscaling@1.123.0", "@aws-cdk/aws-applicationautoscaling@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-applicationautoscaling/-/aws-applicationautoscaling-1.123.0.tgz#0de835093b23239e61c92fca2f880ce6ebc012ec" - integrity sha512-UoLAVjF089234o38aT+76pxNFSJ0lvzPh17GFHrQrxlSMjTQCdFgQRO3U711dLJ07zdmzKgHmGgRUCGsDfRA/A== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-appsync@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-appsync/-/aws-appsync-1.123.0.tgz#f15311c97d9387f1fd1f357346ba0d4f2c5f078c" - integrity sha512-85iDocW+pS8amVwpcaGEOzGQm5ufTUEMQVjlJlnK7YgBWQPhemxr6Mhik2A/HIynuUPELEb3DMAKUTs77lkwaw== - dependencies: - "@aws-cdk/aws-cognito" "1.123.0" - "@aws-cdk/aws-dynamodb" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-elasticsearch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-rds" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/aws-secretsmanager" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-autoscaling-common@1.123.0", "@aws-cdk/aws-autoscaling-common@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-common/-/aws-autoscaling-common-1.123.0.tgz#907d3c2f5412a1ea12385fc6eec88fffdfb19863" - integrity sha512-O+TbFW6JB/RxZP45UrWuJ3rEw+VoR5fSv/RKPBV3WsOmONAypQg3H75YnOYlENDF3Wpivq/N3WTz7ubh2NUbbQ== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-autoscaling-hooktargets@1.123.0", "@aws-cdk/aws-autoscaling-hooktargets@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling-hooktargets/-/aws-autoscaling-hooktargets-1.123.0.tgz#04d9de9b20605b7c7c9c67c0b1b81e5c04319caa" - integrity sha512-lk/y9Ha3viU7H/3g0HuDlI/HO8NAS3f4NrFdTmkWaSBaQjOr8GxngHzLPYYVAu1YmNhMW/U25qmHw4QqMsIrAA== - dependencies: - "@aws-cdk/aws-autoscaling" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/aws-sns-subscriptions" "1.123.0" - "@aws-cdk/aws-sqs" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-autoscaling@1.123.0", "@aws-cdk/aws-autoscaling@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-autoscaling/-/aws-autoscaling-1.123.0.tgz#773563e4bcfb8ad4992c8e881455c9d1eb1d4b54" - integrity sha512-tCspXmUeKZsA0FoDsTTS+VTmP8xXO3+RFKfwIlXefbopZN24bCO9AeCSnvoheCtyWP+En+43ByRhhTgI0R+f3A== - dependencies: - "@aws-cdk/aws-autoscaling-common" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-elasticloadbalancing" "1.123.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-batch@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-batch/-/aws-batch-1.123.0.tgz#f96bbdcae3d08b4008a15aa2f8485247987ef592" - integrity sha512-H9gcljIvmX5BA24cEbH84YUWSbfUyhWkM1SXgwn5uYH0MnrmRiXsSGhoenSq6Q0PZNXpugNzbllezZdyuDZPxA== - dependencies: - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-ecr" "1.123.0" - "@aws-cdk/aws-ecs" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-secretsmanager" "1.123.0" - "@aws-cdk/aws-ssm" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-certificatemanager@1.123.0", "@aws-cdk/aws-certificatemanager@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-certificatemanager/-/aws-certificatemanager-1.123.0.tgz#c56d9c21eea181d54ddf6414ef153bc3b1348c61" - integrity sha512-iY/aqr9h6nCEmbxLMO7cpJH9nJ55UDlSWOdF7ig6rokmapQKcM8XiImaJryTwnicv3y2zIgVJYrGdkKHT0tjZw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-route53" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-cloudformation@1.123.0", "@aws-cdk/aws-cloudformation@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudformation/-/aws-cloudformation-1.123.0.tgz#28efba3e8c5972cc1f46cef986e227fd47a460b2" - integrity sha512-4pvMduZuG5E7h2H7ur1x47BIMPLMGN5g13X4x5lfKc7Jrxh1gR2JplcFMXop3/0isdywS7rTnQfN5IuLX4Gk7Q== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-cloudfront@1.123.0", "@aws-cdk/aws-cloudfront@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudfront/-/aws-cloudfront-1.123.0.tgz#f85f5c3d7ce385fbabffe5e0333f38b76d63e664" - integrity sha512-jQaKVFvV74+y/UXosHTDoqSaB8VL0d+1umkkNSWyxYEO+aZgXO6shTkBTkfDDfwkonJp/OhgOVSIXlzFSWD7rQ== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-ssm" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-cloudwatch@1.123.0", "@aws-cdk/aws-cloudwatch@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cloudwatch/-/aws-cloudwatch-1.123.0.tgz#20e8ca56221be571f030e5db3df081e22a663f1e" - integrity sha512-k2shLdFiCe60imk/Wj6jNbMeHYFcXlnhfcgImgZahHIYS1oM83iJVApN23O8WQc0IjLuDfUPzVvxsTIUoa9YyQ== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-codebuild@1.123.0", "@aws-cdk/aws-codebuild@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codebuild/-/aws-codebuild-1.123.0.tgz#3baac4f359946247ded4ebb29d67368201b701ac" - integrity sha512-JAP9QZWGTKXnMLltHRtirsPNdHlTKhahbYoUmIWRiyw6Y0fRlkB1uR7z1nFYcVxZDuGP0+QGNMeaYjf9q9Rgeg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-codecommit" "1.123.0" - "@aws-cdk/aws-codestarnotifications" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-ecr" "1.123.0" - "@aws-cdk/aws-ecr-assets" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/aws-secretsmanager" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/region-info" "1.123.0" - constructs "^3.3.69" - yaml "1.10.2" - -"@aws-cdk/aws-codecommit@1.123.0", "@aws-cdk/aws-codecommit@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codecommit/-/aws-codecommit-1.123.0.tgz#9b61b646e535a54545931883e99e9ff69b8e8b8e" - integrity sha512-oxS/xWrF9fn3BMybbNnDSf23RcwbMrrh9SoVZKGuj3PDPo0TcZdzAzeWUFmRD4527BMGQpWFF+tEgN7NpEE1jA== - dependencies: - "@aws-cdk/aws-codestarnotifications" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-codedeploy@1.123.0", "@aws-cdk/aws-codedeploy@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codedeploy/-/aws-codedeploy-1.123.0.tgz#1c67210a2f06b617cf8aaa246acf88fc7c7541bf" - integrity sha512-tzbi9xoIZDuCy94MYaKTP86zOL+3iYNL/vLUBY6nQqRlVrIT9ZV++0L9Zn1EAMs0FcAgtIv0/S6dO/0ZwvhH5g== - dependencies: - "@aws-cdk/aws-autoscaling" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-elasticloadbalancing" "1.123.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/custom-resources" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-codeguruprofiler@1.123.0", "@aws-cdk/aws-codeguruprofiler@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codeguruprofiler/-/aws-codeguruprofiler-1.123.0.tgz#17555d9cac1b1eafb035f59d4ae86208ffe1eb7a" - integrity sha512-En6eo1CSu6mTFI+ddTH3AXADT3KfZ1nKg2FmZ9aVHdtRIDVTNct0Sx+Bs431WHSY0bTMRA6rXh4CJk5W+H9NuQ== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-codepipeline-actions@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline-actions/-/aws-codepipeline-actions-1.123.0.tgz#2dbd0fd94ae912a08795775cf8509d95e4afeb5f" - integrity sha512-nB3es3w3CcmP3xPoZHZkfXJEmcTRd+rsFcImZVdKpsNiWpcJ0y9/3d6Vn34242iy+bzhscm19oSXyKpKQQlyMg== - dependencies: - "@aws-cdk/aws-cloudformation" "1.123.0" - "@aws-cdk/aws-codebuild" "1.123.0" - "@aws-cdk/aws-codecommit" "1.123.0" - "@aws-cdk/aws-codedeploy" "1.123.0" - "@aws-cdk/aws-codepipeline" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-ecr" "1.123.0" - "@aws-cdk/aws-ecs" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-events-targets" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/aws-sns-subscriptions" "1.123.0" - "@aws-cdk/aws-stepfunctions" "1.123.0" - "@aws-cdk/core" "1.123.0" - case "1.6.3" - constructs "^3.3.69" - -"@aws-cdk/aws-codepipeline@1.123.0", "@aws-cdk/aws-codepipeline@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codepipeline/-/aws-codepipeline-1.123.0.tgz#ecea904686f5737b101bc5f09019acc0dfad564c" - integrity sha512-in0JEMesILey7iezKNoq1IVA6LKknj8hAKAcc+Vm56YnKdWZ0if7BcxoWl0xusvTuRLsa3UDWjUfTAPMzCmr6g== - dependencies: - "@aws-cdk/aws-codestarnotifications" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-codestarnotifications@1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-codestarnotifications/-/aws-codestarnotifications-1.123.0.tgz#5f2696984463aa6ccc2dc0308ca441d7f363d72a" - integrity sha512-wsFutZrhBzubQq6UhUVw0LF7i/N68kBCfMmbDthtE1s02LC+Rh359Jn6F44M/fesyTU039289XPyTW6dfaPNuQ== - dependencies: - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-cognito@1.123.0", "@aws-cdk/aws-cognito@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-cognito/-/aws-cognito-1.123.0.tgz#11db5200f6136ead44f26c9e255691955b1c63f4" - integrity sha512-geAZjtroxSvGRlJ/XmrfvIJXRBS04oQh8mZFCQa3xRf527sB9cQJgLpwySf9a3qo6eN+Rdy9YV/tM9VZrzrlYw== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/custom-resources" "1.123.0" - constructs "^3.3.69" - punycode "^2.1.1" - -"@aws-cdk/aws-dynamodb@1.123.0", "@aws-cdk/aws-dynamodb@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-dynamodb/-/aws-dynamodb-1.123.0.tgz#c0688f93001208ddafba14ee73a1b5da244dad58" - integrity sha512-139f53dPDguWMyh6LXcUkyfsCQfUJITI+3MoaLe5pedQLjStKgwoXGdWXezmsFF1vISyPerYtINNTMIk9839lw== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kinesis" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/custom-resources" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-ec2@1.123.0", "@aws-cdk/aws-ec2@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ec2/-/aws-ec2-1.123.0.tgz#5a9dcf8ccd8f0b64e34eec822257962d224dcc5e" - integrity sha512-+TGjZi/ljp2mkkQFoFPz4s2MM6zpJG+E0Cidgb10V/MrUvEbU/jh7bUyYbWKpGeH8qB7v6Yx/gPv62hCGxPWPg== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/aws-ssm" "1.123.0" - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - "@aws-cdk/region-info" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-ecr-assets@1.123.0", "@aws-cdk/aws-ecr-assets@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr-assets/-/aws-ecr-assets-1.123.0.tgz#2ddb5c2a11fe8dbcef0db906a23cd86da22b5b24" - integrity sha512-oKpfRb/YDBZHLT+/dEN2jx9aiJl8DCE26/bEtCYeX6f6ISJTGpugx2swBHbLeSeVq340ZZWtbSlQpukzhJ4uIA== - dependencies: - "@aws-cdk/assets" "1.123.0" - "@aws-cdk/aws-ecr" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - minimatch "^3.0.4" - -"@aws-cdk/aws-ecr@1.123.0", "@aws-cdk/aws-ecr@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecr/-/aws-ecr-1.123.0.tgz#83b79d621e33770410ddc5942555b92668f7bb0a" - integrity sha512-ZOUi0+OFL3eTfx08DNQa5kyjAavpi0NIuzC8odx1CW0NGGdeQLiu39HiycA+w/uS6lbxnqCiZiMsgwWRxUU5Dg== - dependencies: - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-ecs@1.123.0", "@aws-cdk/aws-ecs@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ecs/-/aws-ecs-1.123.0.tgz#e7525ddf961dd3296a9fdc315cfb82bebd5d53cd" - integrity sha512-E0P5kYYIfd4jnAC1aHALLzYc4AuSYVoPsKaEJcwKxd8kN8Y1bU6zddvs3N+cXnueJMmcauehOGj6BtO0fYa14Q== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.123.0" - "@aws-cdk/aws-autoscaling" "1.123.0" - "@aws-cdk/aws-autoscaling-hooktargets" "1.123.0" - "@aws-cdk/aws-certificatemanager" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-ecr" "1.123.0" - "@aws-cdk/aws-ecr-assets" "1.123.0" - "@aws-cdk/aws-elasticloadbalancing" "1.123.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-route53" "1.123.0" - "@aws-cdk/aws-route53-targets" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/aws-secretsmanager" "1.123.0" - "@aws-cdk/aws-servicediscovery" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/aws-sqs" "1.123.0" - "@aws-cdk/aws-ssm" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-efs@1.123.0", "@aws-cdk/aws-efs@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-efs/-/aws-efs-1.123.0.tgz#7b24cf9bd7639810063cf589a61900dcdeab5bab" - integrity sha512-Bgt5MBQeb7Grywfa0MOyFpgB078xI7QKaGr4lVe+diYfF8fPb3U2s+D62GnhMiRF5CXSKov7aWXhOv5v9c+PmA== - dependencies: - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-elasticloadbalancing@1.123.0", "@aws-cdk/aws-elasticloadbalancing@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancing/-/aws-elasticloadbalancing-1.123.0.tgz#76c916310aa5e262f52fcf36066190cfdc4dcdd6" - integrity sha512-dELAA/EB6tepkks2JgPb75Y9IyTmNo17lfvQvv2XX/L6unEi9QQQa3SEfQMnT4umKCE/Iuc7s81Ar6i6J35hRQ== - dependencies: - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-elasticloadbalancingv2@1.123.0", "@aws-cdk/aws-elasticloadbalancingv2@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticloadbalancingv2/-/aws-elasticloadbalancingv2-1.123.0.tgz#61c8a294f01967649224568d37a8c1ba8a3ae942" - integrity sha512-pazT7qEDPNfZ/4ncwZAydkp9d4tBABUk9lvlpoYghoyBmvofaVq8lltrRwkwcvcT+m+8UOPJzXCzBWWvcCwwTg== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - "@aws-cdk/region-info" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-elasticsearch@1.123.0", "@aws-cdk/aws-elasticsearch@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-elasticsearch/-/aws-elasticsearch-1.123.0.tgz#9f0d76e36f8562cba81905df34f9790cc818f413" - integrity sha512-Onimp64Qz5OI1jhnz22bafzhK532waY6IlfucaHL2TA++PhZcm0NLjKVLXQUGwmEs0u+wHu23q3wd5eUdQph/A== - dependencies: - "@aws-cdk/aws-certificatemanager" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-route53" "1.123.0" - "@aws-cdk/aws-secretsmanager" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/custom-resources" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-events-targets@1.123.0", "@aws-cdk/aws-events-targets@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events-targets/-/aws-events-targets-1.123.0.tgz#58e1e48ffdf04f8345165c6038c610ab5786202e" - integrity sha512-jvpXeKnFvFfKJJB6usW5L7tK4hyOG06JPytLGtZ88cS3EL7N43e0eo7RHNGS/zRec+UfaJge1y8Y6cA+R0s7+w== - dependencies: - "@aws-cdk/aws-apigateway" "1.123.0" - "@aws-cdk/aws-codebuild" "1.123.0" - "@aws-cdk/aws-codepipeline" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-ecs" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kinesis" "1.123.0" - "@aws-cdk/aws-kinesisfirehose" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/aws-sns-subscriptions" "1.123.0" - "@aws-cdk/aws-sqs" "1.123.0" - "@aws-cdk/aws-stepfunctions" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/custom-resources" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-events@1.123.0", "@aws-cdk/aws-events@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-events/-/aws-events-1.123.0.tgz#ed3558e7c126b49393cd5f66e0b1a8532dd1b228" - integrity sha512-q3Tqbmti92RphojL0iM4c3MSD9loTS4GTsqZifPUTLYg97Q0lbTe2iqkNZ52+oeSsQrmofwNYFo63XKgf358OA== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-globalaccelerator@1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-globalaccelerator/-/aws-globalaccelerator-1.123.0.tgz#6374a6c2675379da9e712b5dc53696e43e438eb7" - integrity sha512-4hqpdu4tv32QhQr5c0AmhtjpjMbpiH6eoIPsk06roc5vcmEuZqeMclqTP9RlAWuXmO7ZaW4WHXrRwYzsqfvDNQ== - dependencies: - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/custom-resources" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-iam@1.123.0", "@aws-cdk/aws-iam@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-iam/-/aws-iam-1.123.0.tgz#34190e0d70bb5ab0a64044b1d5a99ad4cde068d7" - integrity sha512-2BCbfeeO0xYn4FdOWboI+88zW+W5Mc2uZnz4elXcNFesY1FTVicqtgL5XdKx/fsYJoCqtmgn5V/960fxUCmWFQ== - dependencies: - "@aws-cdk/core" "1.123.0" - "@aws-cdk/region-info" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-kinesis@1.123.0", "@aws-cdk/aws-kinesis@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesis/-/aws-kinesis-1.123.0.tgz#8a18b2700dd99b4208ea22c19d9d475123764171" - integrity sha512-2p065voh8IXYljiZI9y9eiRPuFLZBgQ5PQAuPIU6gmw+t8MX96SuBoQog0hLa+CBXFT28T4Uj2lFPlrXdoKE8g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-kinesisfirehose@1.123.0", "@aws-cdk/aws-kinesisfirehose@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kinesisfirehose/-/aws-kinesisfirehose-1.123.0.tgz#d1af1e5514f3787b564b3087ddf631bcb36da944" - integrity sha512-TnLMOlKbDdJVQtvB79wK2snl1K+/YviGmfpK5SCUM9Lv9qb9vFmmTui2d8P1FjSJhNzMt9cTW37Bke9spZnQnQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kinesis" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/region-info" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-kms@1.123.0", "@aws-cdk/aws-kms@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-kms/-/aws-kms-1.123.0.tgz#55ee72b4f65164e372616dc1b61e09f2cfbdb3f0" - integrity sha512-+5xqRqt6eLll0ENiXC10lXtNAgxomm3Si7wG1lV9ZXc4z6N0x9ksHPDr3mL+RQD73zAkyEyrIKT3Ak/L2BT9sQ== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-lambda@1.123.0", "@aws-cdk/aws-lambda@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-lambda/-/aws-lambda-1.123.0.tgz#0bddff2cbd7e780370cdf3163b052400d2faff60" - integrity sha512-WXIIaywYugR00lmuIoJqO6Q4O9zOb3EisRk+xy/7x77nUp1LuVEh71Yj3pVhJRmNJ3F4838nyFdb4pGwjIBGTg== - dependencies: - "@aws-cdk/aws-applicationautoscaling" "1.123.0" - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-codeguruprofiler" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-ecr" "1.123.0" - "@aws-cdk/aws-ecr-assets" "1.123.0" - "@aws-cdk/aws-efs" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/aws-signer" "1.123.0" - "@aws-cdk/aws-sqs" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - "@aws-cdk/region-info" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-logs@1.123.0", "@aws-cdk/aws-logs@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-logs/-/aws-logs-1.123.0.tgz#488c4dd63b0276d22c368acd1c0bbb787b692301" - integrity sha512-oUxZr3dHgbuTY2JaqRCE/M93jy7o3Go9EAzakv9nhv2u1rQ4CB5QurenrTYzJ0AIxQfk2YNwdW7WA5GkfVUySw== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-rds@1.123.0", "@aws-cdk/aws-rds@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-rds/-/aws-rds-1.123.0.tgz#a428c2dcbd0fdec268439624dbca5b37399cebbf" - integrity sha512-mCTYXGO6N0dVtplib4WGeXoq5L3fE2awGp7XNFn0+I0qmBO5spYyDHFMm1VtRKa92KmJpS73Epx1vWmr4XINJQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/aws-secretsmanager" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-route53-targets@1.123.0", "@aws-cdk/aws-route53-targets@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53-targets/-/aws-route53-targets-1.123.0.tgz#32dcd0b61cbfd314cb881b166be305ad1be6cdb8" - integrity sha512-a1U+gjj4SPgvRshgALW+v2cNssqZ6llAYTgOpSH4iDxYg/znHnQEP/QbEhuwlCnqxwmsvK1hcm3om7T1/MQyfg== - dependencies: - "@aws-cdk/aws-apigateway" "1.123.0" - "@aws-cdk/aws-cloudfront" "1.123.0" - "@aws-cdk/aws-cognito" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-elasticloadbalancing" "1.123.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" - "@aws-cdk/aws-globalaccelerator" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-route53" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/region-info" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-route53@1.123.0", "@aws-cdk/aws-route53@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-route53/-/aws-route53-1.123.0.tgz#aff44ab383377be9302b87a10072e4826d0e6cee" - integrity sha512-J3QtyfWIqDTO8smKf9cZ5yOHsNKm88v/cslsCuJ1FtEbJ0xen+fNm6L3pJ5b+yRgjyqUtWBafmbUyJW6WV9WDA== - dependencies: - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/custom-resources" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-s3-assets@1.123.0", "@aws-cdk/aws-s3-assets@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3-assets/-/aws-s3-assets-1.123.0.tgz#895702f77de51924c10555f1391e1eee7c395349" - integrity sha512-7hdQO784fEOBfRWGaaEuFcjBJsOu8lkTCvg2+6XJXq/6QbgO6D6vpvSK41DceOqbL6jwKbqtEUJ1mwypwumflg== - dependencies: - "@aws-cdk/assets" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-s3@1.123.0", "@aws-cdk/aws-s3@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-s3/-/aws-s3-1.123.0.tgz#448cdf0509bb3b40cf1e9e1b6d609201ff48164c" - integrity sha512-NCkfZJUlFYGUeCc+ciFzYyfS0iuvqEydbFx2lcotkc4vYbvn9hfLS/uOSYXPjU+gJXrGaECxlyguLUBfCA2OaA== - dependencies: - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-sam@1.123.0", "@aws-cdk/aws-sam@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sam/-/aws-sam-1.123.0.tgz#3c202fdbf1743aab80a9fd486de49d9ecd84e7aa" - integrity sha512-tChAy0LR8ERPYuAnOS0QIHEYQBcflw/ccGVwbZu4M4Ae37GirvAVfLhXGKrsG8lorANd8+JF15o7nWswbaJ4Ug== - dependencies: - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-secretsmanager@1.123.0", "@aws-cdk/aws-secretsmanager@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-secretsmanager/-/aws-secretsmanager-1.123.0.tgz#1d7e419b8eab750dfe4616100905d79507a2d4ad" - integrity sha512-IU5K+ugKV3JiOAxrcT2ucZyTmTQfaTkMGd6veAtOKIqubyUS1H735LS5YK0P5sgWdewpCYBbYupOtqUVs0GOhQ== - dependencies: - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-sam" "1.123.0" - "@aws-cdk/core" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-servicecatalog@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicecatalog/-/aws-servicecatalog-1.123.0.tgz#9f7047ec9b51dc72d835202b1daf3e898b03ad5f" - integrity sha512-21GhiVE4Xs/sUxL3dc78qNcmgVoxH6IDwI/NUGKA4UqkR6GwwaWXzqCJmoixIJJih1AgAbSRcc6oD3EHyucz4A== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-s3-assets" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-servicediscovery@1.123.0", "@aws-cdk/aws-servicediscovery@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-servicediscovery/-/aws-servicediscovery-1.123.0.tgz#ecdcbd02e7b0295fabc27acaa4235fd0f912945f" - integrity sha512-MJYA1XsvlFWBJmISnZg/1kMCUAggpQlRrAzjNLStk3uw840jJrKEoQWr8MFGeF0IjaBnch0l7D9ke/HXUjAxnw== - dependencies: - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-elasticloadbalancingv2" "1.123.0" - "@aws-cdk/aws-route53" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-signer@1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-signer/-/aws-signer-1.123.0.tgz#95e5e901359be5c6416c062f454b412c7dd40ace" - integrity sha512-Pu86iUH20gwqq/UJ8BAvqhyzmd5rBIShQOjvfb6Fz3A5kLqQc1xmAv/NFuBmt5i7TJoNotJKufpGf2VEYCLqXQ== - dependencies: - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-sns-subscriptions@1.123.0", "@aws-cdk/aws-sns-subscriptions@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns-subscriptions/-/aws-sns-subscriptions-1.123.0.tgz#85baab711aeede83a864143d22614604d5c9dd32" - integrity sha512-yit596tNvJrmOMvp3ISvmN8KgcW0NVwujmEh9kR1iBCG9VT6fUCFH3/dHVxSSZvRP7js3Ia+F67UHtCxm9/1wQ== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/aws-sqs" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-sns@1.123.0", "@aws-cdk/aws-sns@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sns/-/aws-sns-1.123.0.tgz#ce6c7c621371e97165f67b78f13aef54cec868c5" - integrity sha512-GdvdefdYSVh+3TJPpeJo/fyUBw1UFhHovBTxvdJ+SMPzYvNCEF6sKIssYm9OoupY3dJHwo/fEweiWm4I72IjgA== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-codestarnotifications" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/aws-sqs" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-sqs@1.123.0", "@aws-cdk/aws-sqs@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-sqs/-/aws-sqs-1.123.0.tgz#97ac620e1c76c8034c53195ec25973dade3658de" - integrity sha512-IE4PhmrdBkrWDP8COioP/YVHSyzM/+XMS5Qlq96nRIS8By690Vskgij+/wSAWU75cvzumLXDtG8mdNnN+UU/0g== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-ssm@1.123.0", "@aws-cdk/aws-ssm@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-ssm/-/aws-ssm-1.123.0.tgz#e45c93363121834f8010d037c0a6019d4e35921c" - integrity sha512-RLBkBtJ7fwSkfBy1MW3kS49eLQICS7UgCOb00XWWPtGbCphv4HVQrs6cxf2T8NkCiR1fFlYRPoZizaccORGI7A== - dependencies: - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-kms" "1.123.0" - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/aws-stepfunctions@1.123.0", "@aws-cdk/aws-stepfunctions@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/aws-stepfunctions/-/aws-stepfunctions-1.123.0.tgz#cfc844fd6e3e3b56c502b726c846636fad4e5fa2" - integrity sha512-IpTtZ0RYXq+7fT5xKN0MvLh9RkHz/vvPXvantSHhZDttxlKkHsJKa9aNX3l/7G5j2EPqPE9QOuv/T4ZELh2AQQ== - dependencies: - "@aws-cdk/aws-cloudwatch" "1.123.0" - "@aws-cdk/aws-events" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-s3" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/cfnspec@1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cfnspec/-/cfnspec-1.123.0.tgz#8a82b2dad98604864563bec8a06a4b374bf3b064" - integrity sha512-FjLhH8HfXL+DouVqbunTaqC7yP+S+/Sax4z1FpgieeEGJLPa5QZbQNWg80QhMXUieVLW+Ew0jNSkLnambVcnTA== - dependencies: - md5 "^2.3.0" - -"@aws-cdk/cloud-assembly-schema@1.123.0", "@aws-cdk/cloud-assembly-schema@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-1.123.0.tgz#3f0b762729543d4c4415dae832b31fc943f33d2c" - integrity sha512-X0c1/fkXYH/goYxqUnswLTEdfgCzv/f7J0JiCVNq+/WhA3N3HWV8o8NdEvLGyCL3ghmwjoZFeBcfmxbOdL/8tQ== ->>>>>>> pr/8294 dependencies: jsonschema "^1.4.0" semver "^7.3.5" -<<<<<<< HEAD "@aws-cdk/cloudformation-diff@1.124.0", "@aws-cdk/cloudformation-diff@~1.124.0": version "1.124.0" resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.124.0.tgz#3cd7d6229220ea5bd1e4200bce6916ac12ecdec7" integrity sha512-gUmhwfHE/AolTiVtjPCJGf0Gsp5nV+PDAtcJ7ZtjrLMJ2vIKonT29qbeFclyw8EBCCfX5SLH7ByeaUiFFocj2w== dependencies: "@aws-cdk/cfnspec" "1.124.0" -======= -"@aws-cdk/cloudformation-diff@1.123.0", "@aws-cdk/cloudformation-diff@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cloudformation-diff/-/cloudformation-diff-1.123.0.tgz#6d013d952e3d08143244b28b19d2392b8bedf657" - integrity sha512-x/pU/6HiRCsfnFixGptep3uCGaupA9bOPwo2cjjTYtQK7vjhpxXKpdAwbNSR2SG0wLp1dqRWhzg2V9C95ZOeoQ== - dependencies: - "@aws-cdk/cfnspec" "1.123.0" ->>>>>>> pr/8294 "@types/node" "^10.17.60" colors "^1.4.0" diff "^5.0.0" @@ -1832,7 +1044,6 @@ string-width "^4.2.2" table "^6.7.1" -<<<<<<< HEAD "@aws-cdk/core@1.124.0", "@aws-cdk/core@~1.124.0": version "1.124.0" resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.124.0.tgz#9187e0ce69225ad58feb11ec95c92cebaeddca53" @@ -1841,23 +1052,12 @@ "@aws-cdk/cloud-assembly-schema" "1.124.0" "@aws-cdk/cx-api" "1.124.0" "@aws-cdk/region-info" "1.124.0" -======= -"@aws-cdk/core@1.123.0", "@aws-cdk/core@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/core/-/core-1.123.0.tgz#6c60284b9dfef58577e81c560ded6084b78ec5f9" - integrity sha512-y0PHH8SJX1R5idNHBXrPpj0LurReftvLaYmnvuP+Cf2fM6XEGj3W0JuyOmULrPBoG2YC+NpEeLD1qzGseGLURg== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - "@aws-cdk/region-info" "1.123.0" ->>>>>>> pr/8294 "@balena/dockerignore" "^1.0.2" constructs "^3.3.69" fs-extra "^9.1.0" ignore "^5.1.8" minimatch "^3.0.4" -<<<<<<< HEAD "@aws-cdk/custom-resources@1.124.0", "@aws-cdk/custom-resources@~1.124.0": version "1.124.0" resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.124.0.tgz#924cf3e2fbe15204266f00727cc23f45fb8d6102" @@ -1884,34 +1084,6 @@ version "1.124.0" resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.124.0.tgz#541a6372b89a3385cc0cf3e2d71f1b917503be24" integrity sha512-v8Msal5kCv5Juscj6Dxjzx4HHiYKD3rWDLBAvaDN/V3zCNGga3s8M2aM/n7po7HLjVW333VzyuOCHBYnSrtMIg== -======= -"@aws-cdk/custom-resources@1.123.0", "@aws-cdk/custom-resources@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/custom-resources/-/custom-resources-1.123.0.tgz#9211c7f835d838418e518a0494c99d8ddfb08442" - integrity sha512-I933ZDKxQedPo85tnG7MehITtqV5reblKpeoRCobemFYXW2O+eo8p9gSlpTakYsc9koz6PwxzGmqqbVV4PL5oQ== - dependencies: - "@aws-cdk/aws-cloudformation" "1.123.0" - "@aws-cdk/aws-ec2" "1.123.0" - "@aws-cdk/aws-iam" "1.123.0" - "@aws-cdk/aws-lambda" "1.123.0" - "@aws-cdk/aws-logs" "1.123.0" - "@aws-cdk/aws-sns" "1.123.0" - "@aws-cdk/core" "1.123.0" - constructs "^3.3.69" - -"@aws-cdk/cx-api@1.123.0", "@aws-cdk/cx-api@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/cx-api/-/cx-api-1.123.0.tgz#4639f00f98dd02122becff13ea985c98904a1461" - integrity sha512-Vhc7/LJj4b/xIbDuH9+4ycrXMlGS/BjiBWDzbN37NOVVvEdb7+4g0FQ+hcGIFQhWSOGAK5rjpFKQF0jH4XpOIQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.123.0" - semver "^7.3.5" - -"@aws-cdk/region-info@1.123.0", "@aws-cdk/region-info@~1.123.0": - version "1.123.0" - resolved "https://registry.yarnpkg.com/@aws-cdk/region-info/-/region-info-1.123.0.tgz#95e6f7d63dc06db672846961a1c8f3bb6d1a32f5" - integrity sha512-JDuA+EaGQcBhWiuFUyBjSZyx1lZhzSGw+VS9brI045aZuMA/ugOH9za3Kb5DcYJiMphGSD+R9gfc3sQmCLP9gQ== ->>>>>>> pr/8294 "@aws-crypto/crc32@^1.0.0": version "1.1.0" @@ -8267,7 +7439,6 @@ aws-appsync@^4.1.1: url "^0.11.0" uuid "3.x" -<<<<<<< HEAD aws-cdk@~1.124.0: version "1.124.0" resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.124.0.tgz#399cac4a4e11a9ecebf201d4959193d969b30a6a" @@ -8277,26 +7448,11 @@ aws-cdk@~1.124.0: "@aws-cdk/cloudformation-diff" "1.124.0" "@aws-cdk/cx-api" "1.124.0" "@aws-cdk/region-info" "1.124.0" -======= -aws-cdk@~1.123.0: - version "1.123.0" - resolved "https://registry.yarnpkg.com/aws-cdk/-/aws-cdk-1.123.0.tgz#6251404b45d345a4b25cd01258d8866c60048743" - integrity sha512-Qu2fSm8LQ1b37q25aC+FT0+n/5Hm5b/kAU0jOybmy9h9+u/g6AuWqZidOECutpVn9q9OAusJzbL6bWpGbQHO4w== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/cloudformation-diff" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" - "@aws-cdk/region-info" "1.123.0" ->>>>>>> pr/8294 "@jsii/check-node" "1.33.0" archiver "^5.3.0" aws-sdk "^2.979.0" camelcase "^6.2.0" -<<<<<<< HEAD cdk-assets "1.124.0" -======= - cdk-assets "1.123.0" ->>>>>>> pr/8294 colors "^1.4.0" decamelize "^5.0.0" fs-extra "^9.1.0" @@ -8353,15 +7509,9 @@ aws-sdk@^2.518.0, aws-sdk@^2.814.0, aws-sdk@^2.848.0, aws-sdk@^2.928.0, aws-sdk@ xml2js "0.4.19" aws-sdk@^2.979.0: -<<<<<<< HEAD - version "2.993.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.993.0.tgz#872c038b9cf78d35d6d90d99fd9b2973f99209ca" - integrity sha512-uAxPVkGM0+hWt+OmFUtNgQmmo3tQUW1MJD8wBWFpfw97QpG2WPMv6fEFBJmuaVt0LkElgTs+9oKJsu9WkPIC9Q== -======= version "2.992.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.992.0.tgz#3d8f663727cf3ea62a794a7499ae001fe6256abb" integrity sha512-FP/AOu1nxfaPJ6to05eHriBUzvPiNapEwy96sm5GNOL8/T38k9//H6UhxLJ/46CzxFMH/Mo/WFp0qwpS39ev5A== ->>>>>>> pr/8294 dependencies: buffer "4.9.2" events "1.1.1" @@ -9370,7 +8520,6 @@ caw@^2.0.0: tunnel-agent "^0.6.0" url-to-options "^1.0.1" -<<<<<<< HEAD cdk-assets@1.124.0: version "1.124.0" resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.124.0.tgz#29b8c0391c7aeefa00bc8525abc972418dfc0c31" @@ -9378,15 +8527,6 @@ cdk-assets@1.124.0: dependencies: "@aws-cdk/cloud-assembly-schema" "1.124.0" "@aws-cdk/cx-api" "1.124.0" -======= -cdk-assets@1.123.0: - version "1.123.0" - resolved "https://registry.yarnpkg.com/cdk-assets/-/cdk-assets-1.123.0.tgz#4b8a85b2c87045b2db307a6c8a42c48c30045bde" - integrity sha512-9cxisg95hsrwaR+vhP2Y2CGHDiauyQybVQ8+YeHTVJo4PTGrVUou/y1L3wnUmWlS6u10htdSQ3chgoR51bkqpQ== - dependencies: - "@aws-cdk/cloud-assembly-schema" "1.123.0" - "@aws-cdk/cx-api" "1.123.0" ->>>>>>> pr/8294 archiver "^5.3.0" aws-sdk "^2.848.0" glob "^7.1.7" From 3c2ae5ceea5d81040165e39c04c25c3e62d1627f Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 28 Sep 2021 16:13:24 -0700 Subject: [PATCH 61/64] update lambda transformer code --- .../src/schema/directives/auth.ts | 2 ++ .../src/type-definition.ts | 12 ++++++++- .../src/scalars/supported-directives.ts | 2 ++ .../src/utils/process-auth.ts | 2 ++ .../src/visitors/appsync-java-visitor.ts | 3 +++ .../src/resolvers/helpers.ts | 7 +++++ .../src/resolvers/mutation.create.ts | 23 ++++++++++++++++ .../src/resolvers/mutation.delete.ts | 22 ++++++++++++++- .../src/resolvers/mutation.update.ts | 27 ++++++++++++++++++- .../src/resolvers/query.ts | 8 ++++-- .../src/resolvers/subscriptions.ts | 9 ++++--- .../src/utils/constants.ts | 2 ++ .../src/utils/definitions.ts | 6 +++-- .../src/utils/index.ts | 7 +++++ .../src/utils/validations.ts | 16 +++++++++++ .../src/transformation/validation.ts | 2 +- .../src/transformer-context/output.ts | 2 +- .../transform-graphql-schema.ts | 2 ++ .../src/transform-graphql-schema.ts | 2 ++ 19 files changed, 144 insertions(+), 12 deletions(-) diff --git a/packages/amplify-appsync-simulator/src/schema/directives/auth.ts b/packages/amplify-appsync-simulator/src/schema/directives/auth.ts index 342e0748ac8..4155df37f84 100644 --- a/packages/amplify-appsync-simulator/src/schema/directives/auth.ts +++ b/packages/amplify-appsync-simulator/src/schema/directives/auth.ts @@ -9,6 +9,7 @@ const AUTH_DIRECTIVES = { aws_api_key: 'directive @aws_api_key on FIELD_DEFINITION | OBJECT', aws_iam: 'directive @aws_iam on FIELD_DEFINITION | OBJECT', aws_oidc: 'directive @aws_oidc on FIELD_DEFINITION | OBJECT', + aws_lambda: 'directive @aws_lambda on FIELD_DEFINITION | OBJECT', aws_cognito_user_pools: 'directive @aws_cognito_user_pools(cognito_groups: [String!]) on FIELD_DEFINITION | OBJECT', aws_auth: 'directive @aws_auth(cognito_groups: [String!]!) on FIELD_DEFINITION', }; @@ -21,6 +22,7 @@ const AUTH_TYPE_TO_DIRECTIVE_MAP: { aws_auth: AmplifyAppSyncSimulatorAuthenticationType.AMAZON_COGNITO_USER_POOLS, aws_cognito_user_pools: AmplifyAppSyncSimulatorAuthenticationType.AMAZON_COGNITO_USER_POOLS, aws_oidc: AmplifyAppSyncSimulatorAuthenticationType.OPENID_CONNECT, + aws_lambda: AmplifyAppSyncSimulatorAuthenticationType.AWS_LAMBDA, }; export class AwsAuth extends AppSyncSimulatorDirectiveBase { diff --git a/packages/amplify-appsync-simulator/src/type-definition.ts b/packages/amplify-appsync-simulator/src/type-definition.ts index 93c15648a7b..a73591c3efb 100644 --- a/packages/amplify-appsync-simulator/src/type-definition.ts +++ b/packages/amplify-appsync-simulator/src/type-definition.ts @@ -78,6 +78,7 @@ export enum AmplifyAppSyncSimulatorAuthenticationType { AWS_IAM = 'AWS_IAM', AMAZON_COGNITO_USER_POOLS = 'AMAZON_COGNITO_USER_POOLS', OPENID_CONNECT = 'OPENID_CONNECT', + AWS_LAMBDA = 'AWS_LAMBDA' } export type AmplifyAppSyncAuthenticationProviderAPIConfig = { @@ -103,11 +104,20 @@ export type AmplifyAppSyncAuthenticationProviderOIDCConfig = { }; }; +export type AmplifyAppSyncAuthenticationProviderLambdaConfig = { + authenticationType: AmplifyAppSyncSimulatorAuthenticationType.AWS_LAMBDA; + lambdaAuthorizerConfig: { + AuthorizerUri: string; + AuthorizerResultTtlInSeconds?: number; + }; +}; + export type AmplifyAppSyncAuthenticationProviderConfig = | AmplifyAppSyncAuthenticationProviderAPIConfig | AmplifyAppSyncAuthenticationProviderIAMConfig | AmplifyAppSyncAuthenticationProviderCognitoConfig - | AmplifyAppSyncAuthenticationProviderOIDCConfig; + | AmplifyAppSyncAuthenticationProviderOIDCConfig + | AmplifyAppSyncAuthenticationProviderLambdaConfig; export type AmplifyAppSyncAPIConfig = { name: string; diff --git a/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts b/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts index 262b075641c..ad4e93331d7 100644 --- a/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts +++ b/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts @@ -90,6 +90,7 @@ export const directives = /* GraphQL */ ` groups private public + custom } enum AuthProvider { @@ -97,6 +98,7 @@ export const directives = /* GraphQL */ ` iam oidc userPools + function } enum ModelOperation { diff --git a/packages/amplify-codegen-appsync-model-plugin/src/utils/process-auth.ts b/packages/amplify-codegen-appsync-model-plugin/src/utils/process-auth.ts index 08e09ace75b..0b15cc76c6d 100644 --- a/packages/amplify-codegen-appsync-model-plugin/src/utils/process-auth.ts +++ b/packages/amplify-codegen-appsync-model-plugin/src/utils/process-auth.ts @@ -4,12 +4,14 @@ export enum AuthProvider { iam = 'iam', oidc = 'oidc', userPools = 'userPools', + function = 'function', } export enum AuthStrategy { owner = 'owner', groups = 'groups', private = 'private', public = 'public', + custom = 'custom', } export enum AuthModelOperation { diff --git a/packages/amplify-codegen-appsync-model-plugin/src/visitors/appsync-java-visitor.ts b/packages/amplify-codegen-appsync-model-plugin/src/visitors/appsync-java-visitor.ts index 57309ef5766..7d8f1d2f912 100644 --- a/packages/amplify-codegen-appsync-model-plugin/src/visitors/appsync-java-visitor.ts +++ b/packages/amplify-codegen-appsync-model-plugin/src/visitors/appsync-java-visitor.ts @@ -800,6 +800,9 @@ export class AppSyncModelJavaVisitor< case AuthStrategy.public: authRule.push('allow = AuthStrategy.PUBLIC'); break; + case AuthStrategy.custom: + authRule.push('allow = AuthStrategy.CUSTOM'); + break; case AuthStrategy.groups: authRule.push('allow = AuthStrategy.GROUPS'); authRule.push(`groupClaim = "${rule.groupClaim}"`); diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts index 5ac4e417b94..c121997e460 100644 --- a/packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/helpers.ts @@ -26,6 +26,7 @@ import { IS_AUTHORIZED_FLAG, ALLOWED_FIELDS, API_KEY_AUTH_TYPE, + LAMBDA_AUTH_TYPE, ADMIN_ROLE, IAM_AUTH_TYPE, MANAGE_ROLE, @@ -112,6 +113,12 @@ export const apiKeyExpression = (roles: Array) => compoundExpression([...(roles.length > 0 ? [set(ref(IS_AUTHORIZED_FLAG), bool(true))] : [])]), ); +export const lambdaExpression = (roles: Array) => + iff( + equals(ref('util.authType()'), str(LAMBDA_AUTH_TYPE)), + compoundExpression([...(roles.length > 0 ? [set(ref(IS_AUTHORIZED_FLAG), bool(true))] : [])]), + ); + export const iamExpression = (roles: Array, adminuiEnabled: boolean = false, adminUserPoolID?: string) => { const expression = new Array(); // allow if using admin ui diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts index 22dd6a95d22..9b65f6f8f68 100644 --- a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.create.ts @@ -32,6 +32,7 @@ import { import { ADMIN_ROLE, API_KEY_AUTH_TYPE, + LAMBDA_AUTH_TYPE, COGNITO_AUTH_TYPE, ConfiguredAuthProviders, IAM_AUTH_TYPE, @@ -98,6 +99,24 @@ const iamExpression = (roles: Array, hasAdminUIEnabled: boolean return iff(equals(ref('util.authType()'), str(IAM_AUTH_TYPE)), compoundExpression(expression)); }; +/** + * There is only one role for Lambda we can use the first index + * @param roles + * @returns Expression | null + */ + const lambdaExpression = (roles: Array) => { + const expression = new Array(); + if (roles.length === 0) { + return iff(equals(ref('util.authType()'), str(LAMBDA_AUTH_TYPE)), ref('util.unauthorized()')); + } + if (roles[0].allowedFields!.length > 0) { + expression.push(set(ref(`${ALLOWED_FIELDS}`), raw(JSON.stringify(roles[0].allowedFields)))); + } else { + expression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + return iff(equals(ref('util.authType()'), str(LAMBDA_AUTH_TYPE)), compoundExpression(expression)); +}; + const generateStaticRoleExpression = (roles: Array): Array => { const staticRoleExpression: Array = new Array(); const privateRoleIdx = roles.findIndex(r => r.strategy === 'private'); @@ -222,6 +241,7 @@ export const generateAuthExpressionForCreate = ( oidcDynamicRoles, apiKeyRoles, iamRoles, + lambdaRoles, } = splitRoles(roles); const totalAuthExpressions: Array = [ setHasAuthExpression, @@ -235,6 +255,9 @@ export const generateAuthExpressionForCreate = ( if (providers.hasIAM) { totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); } + if (providers.hasLambda) { + totalAuthExpressions.push(lambdaExpression(lambdaRoles)); + } if (providers.hasUserPools) { totalAuthExpressions.push( iff( diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts index c5656f061dc..573afd7d8d7 100644 --- a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.delete.ts @@ -22,6 +22,7 @@ import { ADMIN_ROLE, API_KEY_AUTH_TYPE, COGNITO_AUTH_TYPE, + LAMBDA_AUTH_TYPE, ConfiguredAuthProviders, fieldIsList, IAM_AUTH_TYPE, @@ -76,6 +77,22 @@ const iamExpression = (roles: Array, hasAdminUIEnabled: boolean return iff(equals(ref('util.authType()'), str(IAM_AUTH_TYPE)), compoundExpression(expression)); }; +/** + * There is only one role for Lambda we can use the first index + * @param roles + * @returns Expression | null + */ + const lambdaExpression = (roles: Array) => { + const expression = new Array(); + if (roles.length === 0) { + return iff(equals(ref('util.authType()'), str(LAMBDA_AUTH_TYPE)), ref('util.unauthorized()')); + } + if (roles.length > 0) { + expression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + return iff(equals(ref('util.authType()'), str(LAMBDA_AUTH_TYPE)), compoundExpression(expression)); +}; + const generateStaticRoleExpression = (roles: Array): Array => { const staticRoleExpression: Array = new Array(); const privateRoleIdx = roles.findIndex(r => r.strategy === 'private'); @@ -157,7 +174,7 @@ export const geneateAuthExpressionForDelete = ( roles: Array, fields: ReadonlyArray, ) => { - const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles } = splitRoles(roles); + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles, lambdaRoles } = splitRoles(roles); const totalAuthExpressions: Array = [setHasAuthExpression, set(ref(IS_AUTHORIZED_FLAG), bool(false))]; if (providers.hasApiKey) { totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); @@ -165,6 +182,9 @@ export const geneateAuthExpressionForDelete = ( if (providers.hasIAM) { totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); } + if (providers.hasLambda) { + totalAuthExpressions.push(lambdaExpression(lambdaRoles)); + } if (providers.hasUserPools) { totalAuthExpressions.push( iff( diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts index a58101a3ce3..d0c2cbed6ed 100644 --- a/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/mutation.update.ts @@ -26,6 +26,7 @@ import { ADMIN_ROLE, API_KEY_AUTH_TYPE, COGNITO_AUTH_TYPE, + LAMBDA_AUTH_TYPE, ConfiguredAuthProviders, IAM_AUTH_TYPE, MANAGE_ROLE, @@ -61,6 +62,27 @@ const apiKeyExpression = (roles: Array) => { return iff(equals(ref('util.authType()'), str(API_KEY_AUTH_TYPE)), compoundExpression(expression)); }; +/** + * There is only one role for Lambda we can use the first index + * @param roles + * @returns Expression | null + */ + const lambdaExpression = (roles: Array) => { + const expression = new Array(); + if (roles.length === 0) { + return iff(equals(ref('util.authType()'), str(LAMBDA_AUTH_TYPE)), ref('util.unauthorized()')); + } + if (roles[0].allowedFields!.length > 0 || roles[0].nullAllowedFields!.length > 0) { + expression.push( + set(ref(`${ALLOWED_FIELDS}`), raw(JSON.stringify(roles[0].allowedFields))), + set(ref(`${NULL_ALLOWED_FIELDS}`), raw(JSON.stringify(roles[0].nullAllowedFields))), + ); + } else { + expression.push(set(ref(IS_AUTHORIZED_FLAG), bool(true))); + } + return iff(equals(ref('util.authType()'), str(LAMBDA_AUTH_TYPE)), compoundExpression(expression)); +}; + const iamExpression = (roles: Array, hasAdminUIEnabled: boolean = false, adminUserPoolID?: string) => { const expression = new Array(); // allow if using admin ui @@ -254,7 +276,7 @@ export const generateAuthExpressionForUpdate = ( roles: Array, fields: ReadonlyArray, ) => { - const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles } = splitRoles(roles); + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles, lambdaRoles } = splitRoles(roles); const totalAuthExpressions: Array = [ setHasAuthExpression, responseCheckForErrors(), @@ -267,6 +289,9 @@ export const generateAuthExpressionForUpdate = ( if (providers.hasApiKey) { totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); } + if (providers.hasLambda) { + totalAuthExpressions.push(lambdaExpression(lambdaRoles)); + } if (providers.hasIAM) { totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); } diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/query.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/query.ts index fc244d65912..927f504bbdd 100644 --- a/packages/amplify-graphql-auth-transformer/src/resolvers/query.ts +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/query.ts @@ -18,10 +18,11 @@ import { raw, set, } from 'graphql-mapping-template'; -import { getIdentityClaimExp, getOwnerClaim, apiKeyExpression, iamExpression, emptyPayload, setHasAuthExpression } from './helpers'; +import { getIdentityClaimExp, getOwnerClaim, apiKeyExpression, iamExpression, lambdaExpression, emptyPayload, setHasAuthExpression } from './helpers'; import { COGNITO_AUTH_TYPE, OIDC_AUTH_TYPE, + LAMBDA_AUTH_TYPE, RoleDefinition, splitRoles, ConfiguredAuthProviders, @@ -164,11 +165,14 @@ export const generateAuthExpressionForQueries = ( fields: ReadonlyArray, querySource: QuerySource = 'dynamodb', ): string => { - const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles } = splitRoles(roles); + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, apiKeyRoles, iamRoles, lambdaRoles } = splitRoles(roles); const totalAuthExpressions: Array = [setHasAuthExpression, set(ref(IS_AUTHORIZED_FLAG), bool(false))]; if (providers.hasApiKey) { totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); } + if (providers.hasLambda) { + totalAuthExpressions.push(lambdaExpression(lambdaRoles)); + } if (providers.hasIAM) { totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); } diff --git a/packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts b/packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts index 9f5add04279..845b48784bd 100644 --- a/packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts +++ b/packages/amplify-graphql-auth-transformer/src/resolvers/subscriptions.ts @@ -13,8 +13,8 @@ import { nul, printBlock, } from 'graphql-mapping-template'; -import { COGNITO_AUTH_TYPE, ConfiguredAuthProviders, IS_AUTHORIZED_FLAG, OIDC_AUTH_TYPE, RoleDefinition, splitRoles } from '../utils'; -import { generateStaticRoleExpression, getOwnerClaim, apiKeyExpression, iamExpression, emptyPayload } from './helpers'; +import { COGNITO_AUTH_TYPE, ConfiguredAuthProviders, IS_AUTHORIZED_FLAG, OIDC_AUTH_TYPE, LAMBDA_AUTH_TYPE, RoleDefinition, splitRoles } from '../utils'; +import { generateStaticRoleExpression, getOwnerClaim, apiKeyExpression, iamExpression, lambdaExpression, emptyPayload } from './helpers'; const dynamicRoleExpression = (roles: Array): Array => { const ownerExpression = new Array(); @@ -38,11 +38,14 @@ const dynamicRoleExpression = (roles: Array): Array }; export const generateAuthExpressionForSubscriptions = (providers: ConfiguredAuthProviders, roles: Array): string => { - const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, iamRoles, apiKeyRoles } = splitRoles(roles); + const { cogntoStaticRoles, cognitoDynamicRoles, oidcStaticRoles, oidcDynamicRoles, iamRoles, apiKeyRoles, lambdaRoles } = splitRoles(roles); const totalAuthExpressions: Array = [set(ref(IS_AUTHORIZED_FLAG), bool(false)), set(ref('allowedFields'), list([]))]; if (providers.hasApiKey) { totalAuthExpressions.push(apiKeyExpression(apiKeyRoles)); } + if (providers.hasLambda) { + totalAuthExpressions.push(lambdaExpression(lambdaRoles)); + } if (providers.hasIAM) { totalAuthExpressions.push(iamExpression(iamRoles, providers.hasAdminUIEnabled, providers.adminUserPoolID)); } diff --git a/packages/amplify-graphql-auth-transformer/src/utils/constants.ts b/packages/amplify-graphql-auth-transformer/src/utils/constants.ts index 7b9d3cb428d..0556982e51d 100644 --- a/packages/amplify-graphql-auth-transformer/src/utils/constants.ts +++ b/packages/amplify-graphql-auth-transformer/src/utils/constants.ts @@ -14,11 +14,13 @@ export const AUTH_PROVIDER_DIRECTIVE_MAP = new Map([ ['iam', 'aws_iam'], ['oidc', 'aws_oidc'], ['userPools', 'aws_cognito_user_pools'], + ['function', 'aws_lambda'], ]); // values for $util.authType() https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference.html export const COGNITO_AUTH_TYPE = 'User Pool Authorization'; export const OIDC_AUTH_TYPE = 'Open ID Connect Authorization'; export const IAM_AUTH_TYPE = 'IAM Authorization'; +export const LAMBDA_AUTH_TYPE = 'Lambda Authorization'; export const API_KEY_AUTH_TYPE = 'API Key Authorization'; // resolver refs export const IS_AUTHORIZED_FLAG = 'isAuthorized'; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts b/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts index 786879c3b0e..1067982d573 100644 --- a/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts +++ b/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts @@ -1,6 +1,6 @@ import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; -export type AuthStrategy = 'owner' | 'groups' | 'public' | 'private'; -export type AuthProvider = 'apiKey' | 'iam' | 'oidc' | 'userPools'; +export type AuthStrategy = 'owner' | 'groups' | 'public' | 'private' | 'custom'; +export type AuthProvider = 'apiKey' | 'iam' | 'oidc' | 'userPools' | 'function'; export type ModelQuery = 'get' | 'list'; export type ModelMutation = 'create' | 'update' | 'delete'; export type ModelOperation = 'create' | 'update' | 'delete' | 'read'; @@ -19,6 +19,7 @@ export interface RolesByProvider { oidcDynamicRoles: Array; iamRoles: Array; apiKeyRoles: Array; + lambdaRoles: Array; } export interface AuthRule { @@ -56,6 +57,7 @@ export interface ConfiguredAuthProviders { hasUserPools: boolean; hasOIDC: boolean; hasIAM: boolean; + hasLambda: boolean; hasAdminUIEnabled: boolean; adminUserPoolID?: string; } diff --git a/packages/amplify-graphql-auth-transformer/src/utils/index.ts b/packages/amplify-graphql-auth-transformer/src/utils/index.ts index 1b67a600293..130ab65db97 100644 --- a/packages/amplify-graphql-auth-transformer/src/utils/index.ts +++ b/packages/amplify-graphql-auth-transformer/src/utils/index.ts @@ -29,6 +29,7 @@ export const splitRoles = (roles: Array): RolesByProvider => { oidcDynamicRoles: roles.filter(r => !r.static && r.provider === 'oidc'), iamRoles: roles.filter(r => r.provider === 'iam'), apiKeyRoles: roles.filter(r => r.provider === 'apiKey'), + lambdaRoles: roles.filter(r => r.provider === 'function'), }; }; /** @@ -51,6 +52,9 @@ export const ensureAuthRuleDefaults = (rules: AuthRule[]) => { case 'public': rule.provider = 'apiKey'; break; + case 'custom': + rule.provider = 'function'; + break; default: throw new Error(`Need to specify an allow to assigned a provider: ${rule}`); } @@ -135,6 +139,8 @@ export const getConfiguredAuthProviders = (config: AuthTransformerConfig): Confi return 'iam'; case 'OPENID_CONNECT': return 'oidc'; + case 'AWS_LAMBDA': + return 'function'; } }; const hasIAM = providers.some(p => p === 'AWS_IAM'); @@ -146,6 +152,7 @@ export const getConfiguredAuthProviders = (config: AuthTransformerConfig): Confi hasApiKey: providers.some(p => p === 'API_KEY'), hasUserPools: providers.some(p => p === 'AMAZON_COGNITO_USER_POOLS'), hasOIDC: providers.some(p => p === 'OPENID_CONNECT'), + hasLambda: providers.some(p => p === 'AWS_LAMBDA'), hasIAM, }; return configuredProviders; diff --git a/packages/amplify-graphql-auth-transformer/src/utils/validations.ts b/packages/amplify-graphql-auth-transformer/src/utils/validations.ts index d68646b90e9..c397658c2ca 100644 --- a/packages/amplify-graphql-auth-transformer/src/utils/validations.ts +++ b/packages/amplify-graphql-auth-transformer/src/utils/validations.ts @@ -50,6 +50,18 @@ found '${rule.provider}' assigned.`, } } + // + // Custom + // + if (rule.allow === 'custom') { + if (rule.provider !== null && rule.provider !== 'function') { + throw new InvalidDirectiveError( + `@auth directive with 'custom' strategy only supports 'function' (default) provider, but \ +found '${rule.provider}' assigned.`, + ); + } + } + // // Validate provider values against project configuration. // @@ -69,6 +81,10 @@ found '${rule.provider}' assigned.`, throw new InvalidDirectiveError( `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`, ); + } else if (rule.provider === 'function' && configuredAuthProviders.hasLambda === false) { + throw new InvalidDirectiveError( + `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`, + ); } }; diff --git a/packages/amplify-graphql-transformer-core/src/transformation/validation.ts b/packages/amplify-graphql-transformer-core/src/transformation/validation.ts index a74afcd62bc..8d6bbd68434 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/validation.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/validation.ts @@ -159,7 +159,7 @@ export const validateAuthModes = (authConfig: AppSyncAuthConfiguration) => { for (let i = 0; i < authModes.length; i++) { const mode = authModes[i]; - if (mode !== 'API_KEY' && mode !== 'AMAZON_COGNITO_USER_POOLS' && mode !== 'AWS_IAM' && mode !== 'OPENID_CONNECT') { + if (mode !== 'API_KEY' && mode !== 'AMAZON_COGNITO_USER_POOLS' && mode !== 'AWS_IAM' && mode !== 'OPENID_CONNECT' && mode !== 'AWS_LAMBDA') { throw new Error(`Invalid auth mode ${mode}`); } } diff --git a/packages/amplify-graphql-transformer-core/src/transformer-context/output.ts b/packages/amplify-graphql-transformer-core/src/transformer-context/output.ts index 51491093881..d8429a657af 100644 --- a/packages/amplify-graphql-transformer-core/src/transformer-context/output.ts +++ b/packages/amplify-graphql-transformer-core/src/transformer-context/output.ts @@ -586,7 +586,7 @@ export class TransformerOutput implements TransformerContextOutputProvider { kind: 'Document', definitions: Object.values(this.nodeMap), }, - ['aws_subscribe', 'aws_auth', 'aws_api_key', 'aws_iam', 'aws_oidc', 'aws_cognito_user_pools', 'deprecated'], + ['aws_subscribe', 'aws_auth', 'aws_api_key', 'aws_iam', 'aws_oidc', 'aws_cognito_user_pools', 'aws_lambda', 'deprecated'], ); const SDL = print(astSansDirectives); return SDL; diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 30a99d8590f..628b5125015 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -354,6 +354,8 @@ export async function transformGraphQLSchema(context, options) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); + } else if (err.message === `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_LAMBDA')); } else { throw err; } diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 5337160dbed..03e461d556b 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -525,6 +525,8 @@ export async function transformGraphQLSchema(context, options) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); + } else if (err.message === `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`) { + authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_LAMBDA')); } else { throw err; } From 74b5abb88d6f1655c638bc4ae57c530abbb949db Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Mon, 4 Oct 2021 14:41:11 -0700 Subject: [PATCH 62/64] add e2e for lambda authorizer and auto apply auth mode fix --- ...raphql-lambda-authorizer-template.json.ejs | 13 +- .../appSync-walkthrough.ts | 26 ++-- .../utils/message-printer.ts | 2 +- .../amplify-category-function/src/index.ts | 2 +- .../utils/updateDependentFunctionCfn.ts | 26 +++- .../amplify-helpers/push-resources.ts | 76 ++++++++-- .../src/scalars/supported-directives.ts | 2 +- .../amplify-e2e-core/src/categories/api.ts | 72 +++++++++ .../src/__tests__/api_5.test.ts | 53 +++++++ .../src/__tests__/custom-auth.test.ts | 137 ++++++++++++++++++ .../src/graphql-auth-transformer.ts | 4 + .../src/utils/definitions.ts | 2 + .../src/transformation/transform.ts | 1 + .../transform-graphql-schema.ts | 42 +----- .../src/graphql-transformer/utils.ts | 6 + .../src/push-resources.ts | 20 ++- .../src/transform-graphql-schema.ts | 40 +---- .../graphql-auth-transformer/src/AuthRule.ts | 4 +- 18 files changed, 417 insertions(+), 111 deletions(-) create mode 100644 packages/amplify-e2e-tests/src/__tests__/api_5.test.ts create mode 100644 packages/amplify-graphql-auth-transformer/src/__tests__/custom-auth.test.ts diff --git a/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs index f898077cbd3..acd908246dc 100644 --- a/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs +++ b/packages/amplify-category-api/resources/awscloudformation/graphql-lambda-authorizer/graphql-lambda-authorizer-template.json.ejs @@ -159,7 +159,18 @@ ] } } - }<% if (props.categoryPolicies && props.categoryPolicies.length > 0 ) { %> + } + ,"PermissionForAppSyncToInvokeLambda": { + "Type": "AWS::Lambda::Permission", + "Properties": { + "FunctionName": { + "Ref": "LambdaFunction" + }, + "Action": "lambda:InvokeFunction", + "Principal": "appsync.amazonaws.com" + } + } + <% if (props.categoryPolicies && props.categoryPolicies.length > 0 ) { %> ,"AmplifyResourcesPolicy": { "DependsOn": ["LambdaExecutionRole"], "Type": "AWS::IAM::Policy", diff --git a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts index 96108ffd147..94f15b58361 100644 --- a/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts +++ b/packages/amplify-category-api/src/provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough.ts @@ -389,6 +389,7 @@ const updateApiInputWalkthrough = async (context, project, resolverConfig, model export const serviceWalkthrough = async (context: $TSContext, defaultValuesFilename, serviceMetadata) => { const resourceName = resourceAlreadyExists(context); const useExperimentalPipelineTransformer = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer'); + await addLambdaAuthorizerChoice(); if (resourceName) { const errMessage = @@ -435,6 +436,7 @@ export const updateWalkthrough = async (context): Promise => { let resource; let authConfig; const resources = allResources.filter(resource => resource.service === 'AppSync'); + await addLambdaAuthorizerChoice(); // There can only be one appsync resource if (resources.length > 0) { @@ -655,11 +657,8 @@ async function askSyncFunctionQuestion(context) { return { newFunction, lambdaFunctionName }; } -async function askDefaultAuthQuestion(context) { - const currentAuthConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); - const currentDefaultAuth = - currentAuthConfig && currentAuthConfig.defaultAuthentication ? currentAuthConfig.defaultAuthentication.authenticationType : undefined; +async function addLambdaAuthorizerChoice() { const useExperimentalPipelineTransformer = FeatureFlags.getBoolean('graphQLTransformer.useExperimentalPipelinedTransformer'); if (useExperimentalPipelineTransformer && !authProviderChoices.find(choice => choice.value == 'AWS_LAMBDA')) { authProviderChoices.push({ @@ -667,6 +666,13 @@ async function askDefaultAuthQuestion(context) { value: 'AWS_LAMBDA', }); } +} + +async function askDefaultAuthQuestion(context) { + await addLambdaAuthorizerChoice(); + const currentAuthConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); + const currentDefaultAuth = + currentAuthConfig && currentAuthConfig.defaultAuthentication ? currentAuthConfig.defaultAuthentication.authenticationType : undefined; const defaultAuthTypeQuestion = { type: 'list', @@ -1029,20 +1035,14 @@ const getAuthTypes = authConfig => { return [...uniqueAuthTypes.keys()]; }; - -// Chris P - Added for Lambda Authorizer - async function askLambdaQuestion(context) { - const existingFunctions = functionsExist(context); - const choices = [ { name: 'Create a new Lambda function', value: 'newFunction', }, ]; - if (existingFunctions) { choices.push({ name: 'Use a Lambda function already added in the current Amplify project', @@ -1051,7 +1051,6 @@ async function askLambdaQuestion(context) { } let defaultFunctionType = 'newFunction'; - const lambdaAnswer = await inquirer.prompt({ name: 'functionType', type: 'list', @@ -1061,7 +1060,6 @@ async function askLambdaQuestion(context) { }); const { lambdaFunction } = await askLambdaSource(context, lambdaAnswer.functionType); - const { ttlSeconds } = await inquirer.prompt({ type: 'input', name: 'ttlSeconds', @@ -1142,6 +1140,10 @@ async function askLambdaFromProject(context) { default: lambdaFunctions[0], }); + await context.amplify.invokePluginMethod(context, 'function', undefined, 'addAppSyncInvokeMethodPermission', [ + answer.lambdaFunction, + ]); + return { lambdaFunction: answer.lambdaFunction }; } diff --git a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts index 1db78ebc5c3..9b3f9a71bae 100644 --- a/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts +++ b/packages/amplify-category-auth/src/provider-utils/awscloudformation/utils/message-printer.ts @@ -5,7 +5,7 @@ import { BannerMessage } from 'amplify-cli-core'; * A factory function that returns a function that prints the "success message" after adding auth * @param print The amplify print object */ -export const getPostAddAuthMessagePrinter = (print: any, skipNextSteps: boolean = false) => (resourceName: string, skipNextSteps: boolean = false) => { +export const getPostAddAuthMessagePrinter = (print: any) => (resourceName: string, skipNextSteps: boolean = false) => { print.success(`Successfully added auth resource ${resourceName} locally`); if (!skipNextSteps) { diff --git a/packages/amplify-category-function/src/index.ts b/packages/amplify-category-function/src/index.ts index 0d6de3a6976..8ed85797560 100644 --- a/packages/amplify-category-function/src/index.ts +++ b/packages/amplify-category-function/src/index.ts @@ -27,7 +27,7 @@ export { lambdasWithApiDependency } from './provider-utils/awscloudformation/uti export { hashLayerResource } from './provider-utils/awscloudformation/utils/layerHelpers'; export { migrateLegacyLayer } from './provider-utils/awscloudformation/utils/layerMigrationUtils'; export { packageResource } from './provider-utils/awscloudformation/utils/package'; -export { updateDependentFunctionsCfn } from './provider-utils/awscloudformation/utils/updateDependentFunctionCfn'; +export { updateDependentFunctionsCfn, addAppSyncInvokeMethodPermission } from './provider-utils/awscloudformation/utils/updateDependentFunctionCfn'; export async function add(context, providerName, service, parameters) { const options = { diff --git a/packages/amplify-category-function/src/provider-utils/awscloudformation/utils/updateDependentFunctionCfn.ts b/packages/amplify-category-function/src/provider-utils/awscloudformation/utils/updateDependentFunctionCfn.ts index 896f75a930e..e655d5afbcf 100644 --- a/packages/amplify-category-function/src/provider-utils/awscloudformation/utils/updateDependentFunctionCfn.ts +++ b/packages/amplify-category-function/src/provider-utils/awscloudformation/utils/updateDependentFunctionCfn.ts @@ -1,4 +1,4 @@ -import { $TSContext, $TSObject, JSONUtilities } from 'amplify-cli-core'; +import { $TSAny, $TSContext, $TSObject, JSONUtilities, pathManager } from 'amplify-cli-core'; import { FunctionParameters } from 'amplify-function-plugin-interface'; import { getResourcesForCfn, generateEnvVariablesForCfn } from '../service-walkthroughs/execPermissionsWalkthrough'; import { updateCFNFileForResourcePermissions } from '../service-walkthroughs/lambda-walkthrough'; @@ -83,3 +83,27 @@ export async function updateDependentFunctionsCfn( context.amplify.updateamplifyMetaAfterResourceUpdate(categoryName, lambda.resourceName, 'dependsOn', lambda.dependsOn); } } + +export function addAppSyncInvokeMethodPermission( + functionName: string, +) { + const backendDir = pathManager.getBackendDirPath(); + const resourceDirPath = path.join(backendDir, categoryName, functionName); + const cfnFileName = `${functionName}-cloudformation-template.json`; + const cfnFilePath = path.join(resourceDirPath, cfnFileName); + const cfnContent = JSONUtilities.readJson<$TSAny>(cfnFilePath); + + if (!cfnContent.Resources.PermissionForAppSyncToInvokeLambda) { + cfnContent.Resources.PermissionForAppSyncToInvokeLambda = { + Type: 'AWS::Lambda::Permission', + Properties: { + FunctionName: { + Ref: "LambdaFunction" + }, + Action: "lambda:InvokeFunction", + Principal: "appsync.amazonaws.com", + }, + }; + } + JSONUtilities.writeJson(cfnFilePath, cfnContent); +} \ No newline at end of file diff --git a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts index 4e71549cc77..30c509aeb86 100644 --- a/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts +++ b/packages/amplify-cli/src/extensions/amplify-helpers/push-resources.ts @@ -68,18 +68,27 @@ export async function pushResources( } if (continueToPush) { - try { - // Get current-cloud-backend's amplify-meta - const currentAmplifyMeta = stateManager.getCurrentMeta(); - - await providersPush(context, category, resourceName, filteredResources); - await onCategoryOutputsChange(context, currentAmplifyMeta); - } catch (err) { - // Handle the errors and print them nicely for the user. - context.print.error(`\n${err.message}`); - - throw err; - } + let retryPush; + do { + retryPush = false; + try { + // Get current-cloud-backend's amplify-meta + const currentAmplifyMeta = stateManager.getCurrentMeta(); + + await providersPush(context, category, resourceName, filteredResources); + await onCategoryOutputsChange(context, currentAmplifyMeta); + } catch (err) { + if (await isValidGraphQLAuthError(err.message)) { + retryPush = await handleValidGraphQLAuthError(context, err.message); + } + + if (!retryPush) { + // Handle the errors and print them nicely for the user. + context.print.error(`\n${err.message}`); + throw err; + } + } + } while (retryPush); } else { // there's currently no other mechanism to stop the execution of the postPush workflow in this case, so exiting here exitOnNextTick(1); @@ -88,6 +97,38 @@ export async function pushResources( return continueToPush; } +async function isValidGraphQLAuthError(message: string) { + if (message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.` + || message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.` + || message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.` + || message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.` + || message === `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`) { + return true; + } +} + +async function handleValidGraphQLAuthError(context: $TSContext, message: string) { + if (message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { + await addGraphQLAuthRequirement(context, 'AWS_IAM'); + return true; + } else if (!context?.parameters?.options?.yes) { + if (message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { + await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS'); + return true; + } else if (message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { + await addGraphQLAuthRequirement(context, 'OPENID_CONNECT') + return true; + } else if (message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { + await addGraphQLAuthRequirement(context, 'AWS_KEY'); + return true; + } else if (message === `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`) { + await addGraphQLAuthRequirement(context, 'AWS_LAMBDA'); + return true; + } + } + return false; +} + async function providersPush(context: $TSContext, category, resourceName, filteredResources) { const { providers } = getProjectConfig(); const providerPlugins = getProviderPlugins(context); @@ -114,3 +155,14 @@ export async function storeCurrentCloudBackend(context: $TSContext) { await Promise.all(providerPromises); } + +async function addGraphQLAuthRequirement(context, authType) { + return await context.amplify.invokePluginMethod(context, 'api', undefined, 'addGraphQLAuthorizationMode', [ + context, + { + authType: authType, + printLeadText: true, + authSettings: undefined, + }, + ]); +} \ No newline at end of file diff --git a/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts b/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts index ad4e93331d7..0fde82582cd 100644 --- a/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts +++ b/packages/amplify-codegen-appsync-model-plugin/src/scalars/supported-directives.ts @@ -41,7 +41,7 @@ export const directives = /* GraphQL */ ` directive @auth(rules: [AuthRule!]!) on OBJECT | FIELD_DEFINITION input AuthRule { - # Specifies the auth rule's strategy. Allowed values are 'owner', 'groups', 'public', 'private'. + # Specifies the auth rule's strategy. Allowed values are 'owner', 'groups', 'public', 'private', 'custom'. allow: AuthStrategy! # Legacy name for identityClaim diff --git a/packages/amplify-e2e-core/src/categories/api.ts b/packages/amplify-e2e-core/src/categories/api.ts index 985aad17c14..833b698fcba 100644 --- a/packages/amplify-e2e-core/src/categories/api.ts +++ b/packages/amplify-e2e-core/src/categories/api.ts @@ -125,6 +125,78 @@ export function addApiWithBlankSchemaAndConflictDetection(cwd: string) { }); } +/** + * Note: Lambda Authorizer is enabled only for Transformer V2 + */ +export function addApiWithAllAuthModesV2(cwd: string, opts: Partial = {}) { + const options = _.assign(defaultOptions, opts); + return new Promise((resolve, reject) => { + spawn(getCLIPath(), ['add', 'api'], { cwd, stripColors: true }) + .wait('Please select from one of the below mentioned services:') + .sendCarriageReturn() + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(3) + .sendCarriageReturn() + .wait('Provide API name:') + .sendLine(options.apiName) + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendKeyUp(2) + .sendCarriageReturn() + .wait(/.*Choose the default authorization type for the API.*/) + .sendCarriageReturn() + // API Key + .wait(/.*Enter a description for the API key.*/) + .sendLine('description') + .wait(/.*After how many days from now the API key should expire.*/) + .sendLine('300') + .wait(/.*Configure additional auth types.*/) + .sendLine('y') + .wait(/.*Choose the additional authorization types you want to configure for the API.*/) + .sendLine('a\r') // All items + // Cognito + .wait(/.*Do you want to use the default authentication and security configuration.*/) + .sendCarriageReturn() + .wait('How do you want users to be able to sign in?') + .sendCarriageReturn() + .wait('Do you want to configure advanced settings?') + .sendCarriageReturn() + // OIDC + .wait(/.*Enter a name for the OpenID Connect provider:.*/) + .sendLine('myoidcprovider') + .wait(/.*Enter the OpenID Connect provider domain \(Issuer URL\).*/) + .sendLine('https://facebook.com/') + .wait(/.*Enter the Client Id from your OpenID Client Connect application.*/) + .sendLine('clientId') + .wait(/.*Enter the number of milliseconds a token is valid after being issued to a user.*/) + .sendLine('1000') + .wait(/.*Enter the number of milliseconds a token is valid after being authenticated.*/) + .sendLine('2000') + // Lambda + .wait(/.*Choose a Lambda source*/) + .sendCarriageReturn() + .wait(/.*How long should the authorization response be cached in seconds.*/) + .sendLine('600') + .wait(/.*Here is the GraphQL API that we will create. Select a setting to edit or continue.*/) + .sendCarriageReturn() + // Schema selection + .wait('Choose a schema template:') + .sendKeyDown(2) + .sendCarriageReturn() + .wait('Do you want to edit the schema now?') + .sendLine('n') + .wait( + '"amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud', + ) + .run((err: Error) => { + if (!err) { + resolve(); + } else { + reject(err); + } + }); + }); +} + export function updateApiSchema(cwd: string, projectName: string, schemaName: string, forceUpdate: boolean = false) { const testSchemaPath = getSchemaPath(schemaName); let schemaText = fs.readFileSync(testSchemaPath).toString(); diff --git a/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts new file mode 100644 index 00000000000..be7797f1b29 --- /dev/null +++ b/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts @@ -0,0 +1,53 @@ +import { + amplifyPush, + deleteProject, + initJSProjectWithProfile, + addApiWithAllAuthModesV2, + createNewProjectDir, + deleteProjectDir, + getAppSyncApi, + getProjectMeta, + addFeatureFlag, +} from 'amplify-e2e-core'; +import path from 'path'; +import { existsSync } from 'fs'; +import _ from 'lodash'; + +describe('amplify add graphql api with lambda auth mode', () => { + let projRoot: string; + let projFolderName: string; + beforeEach(async () => { + projFolderName = 'graphqlapi'; + projRoot = await createNewProjectDir(projFolderName); + }); + + afterEach(async () => { + const metaFilePath = path.join(projRoot, 'amplify', '#current-cloud-backend', 'amplify-meta.json'); + if (existsSync(metaFilePath)) { + await deleteProject(projRoot); + } + deleteProjectDir(projRoot); + }); + + it('init a project and add the simple_model api', async () => { + const envName = 'devtest'; + const projName = 'lambdaauthmode'; + await initJSProjectWithProfile(projRoot, { name: projName, envName }); + await addFeatureFlag(projRoot, 'graphqltransformer', 'useexperimentalpipelinedtransformer', true); + await addApiWithAllAuthModesV2(projRoot); + await amplifyPush(projRoot); + + const meta = getProjectMeta(projRoot); + const region = meta.providers.awscloudformation.Region; + const { output } = meta.api.lambdaauthmode; + const { GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; + const { graphqlApi } = await getAppSyncApi(GraphQLAPIIdOutput, region); + + expect(GraphQLAPIIdOutput).toBeDefined(); + expect(GraphQLAPIEndpointOutput).toBeDefined(); + expect(GraphQLAPIKeyOutput).toBeDefined(); + + expect(graphqlApi).toBeDefined(); + expect(graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); + }); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/__tests__/custom-auth.test.ts b/packages/amplify-graphql-auth-transformer/src/__tests__/custom-auth.test.ts new file mode 100644 index 00000000000..7b06760c009 --- /dev/null +++ b/packages/amplify-graphql-auth-transformer/src/__tests__/custom-auth.test.ts @@ -0,0 +1,137 @@ +import { AuthTransformer } from '@aws-amplify/graphql-auth-transformer'; +import { ModelTransformer } from '@aws-amplify/graphql-model-transformer'; +import { GraphQLTransform } from '@aws-amplify/graphql-transformer-core'; +import { ResourceConstants } from 'graphql-transformer-common'; +import { AppSyncAuthConfiguration } from '@aws-amplify/graphql-transformer-interfaces'; + +test('happy case with lambda auth mode as default auth mode', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AWS_LAMBDA', + lambdaAuthorizerConfig: { + lambdaFunction: 'testfunction', + ttlSeconds: 600, + }, + }, + additionalAuthenticationProviders: [], + }; + const validSchema = ` + type Post @model @auth(rules: [{ allow: custom, provider: function }]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.rootStack!.Resources![ResourceConstants.RESOURCES.GraphQLAPILogicalID].Properties.AuthenticationType).toEqual('AWS_LAMBDA'); +}); + +test('happy case with lambda auth mode as additional auth mode', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [ + { + authenticationType: 'AWS_LAMBDA', + lambdaAuthorizerConfig: { + lambdaFunction: 'testfunction', + ttlSeconds: 600, + }, + }, + ], + }; + const validSchema = ` + type Post @model @auth(rules: [{ allow: custom, provider: function }]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.rootStack!.Resources![ResourceConstants.RESOURCES.GraphQLAPILogicalID].Properties.AdditionalAuthenticationProviders[0].AuthenticationType).toEqual('AWS_LAMBDA'); +}); + +test('allow: custom defaults provider to function', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AWS_LAMBDA', + lambdaAuthorizerConfig: { + lambdaFunction: 'testfunction', + ttlSeconds: 600, + }, + }, + additionalAuthenticationProviders: [], + }; + const validSchema = ` + type Post @model @auth(rules: [{ allow: custom }]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + const out = transformer.transform(validSchema); + expect(out).toBeDefined(); + expect(out.rootStack!.Resources![ResourceConstants.RESOURCES.GraphQLAPILogicalID].Properties.AuthenticationType).toEqual('AWS_LAMBDA'); +}); + +test('allow: custom error out when there is no lambda auth mode defined', () => { + const authConfig: AppSyncAuthConfiguration = { + defaultAuthentication: { + authenticationType: 'AMAZON_COGNITO_USER_POOLS', + }, + additionalAuthenticationProviders: [], + }; + const validSchema = ` + type Post @model @auth(rules: [{ allow: custom, provider: function }]) { + id: ID! + title: String! + createdAt: String + updatedAt: String + }`; + const transformer = new GraphQLTransform({ + authConfig, + transformers: [ + new ModelTransformer(), + new AuthTransformer({ + authConfig, + addAwsIamAuthInOutputSchema: false, + }), + ], + }); + expect(() => transformer.transform(validSchema)).toThrowError( + `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`, + ); +}); diff --git a/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts b/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts index bd49ca098cd..4d83bdaf2d3 100644 --- a/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts +++ b/packages/amplify-graphql-auth-transformer/src/graphql-auth-transformer.ts @@ -643,6 +643,10 @@ Static group authorization should perform as expected.`, roleName = 'apiKey:public'; roleDefinition = { provider: rule.provider, strategy: rule.allow, static: true }; break; + case 'function': + roleName = 'function:custom'; + roleDefinition = { provider: rule.provider, strategy: rule.allow, static: true }; + break; case 'iam': roleName = `iam:${rule.allow}`; roleDefinition = { diff --git a/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts b/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts index 1067982d573..a35c37ee1c3 100644 --- a/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts +++ b/packages/amplify-graphql-auth-transformer/src/utils/definitions.ts @@ -85,12 +85,14 @@ export const authDirectiveDefinition = ` groups private public + custom } enum AuthProvider { apiKey iam oidc userPools + function } enum ModelOperation { create diff --git a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts index e9d6fb902ac..ce1fe2dde41 100644 --- a/packages/amplify-graphql-transformer-core/src/transformation/transform.ts +++ b/packages/amplify-graphql-transformer-core/src/transformation/transform.ts @@ -140,6 +140,7 @@ export class GraphQLTransform { aws_api_key: true, aws_iam: true, aws_oidc: true, + aws_lambda: true, aws_cognito_user_pools: true, allow_public_data_access_with_api_key: true, deprecated: true, diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts index 628b5125015..0f0638fd127 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/transform-graphql-schema.ts @@ -163,7 +163,7 @@ function getTransformerFactory( amplifyAdminEnabled = res.isAdminApp; adminUserPoolID = res.userPoolID; } catch (err) { - console.info('App not deployed yet.'); + // Do Nothing } transformerList.push(new AuthTransformer({ authConfig: options?.authConfig, addAwsIamAuthInOutputSchema: false, adminUserPoolID })); @@ -337,33 +337,8 @@ export async function transformGraphQLSchema(context, options) { sandboxModeEnabled, }; - let transformerOutput; - let authSchemaErrors = false; - do { - try { - transformerOutput = await buildAPIProject(buildConfig); - authSchemaErrors = false; - } catch (err) { - authSchemaErrors = true; - if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_IAM')); - } else if (!context?.parameters?.options?.yes) { - if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS')); - } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); - } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); - } else if (err.message === `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_LAMBDA')); - } else { - throw err; - } - } else { - throw err; - } - } - } while (authSchemaErrors); + const transformerOutput = await buildAPIProject(buildConfig); + context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); @@ -374,17 +349,6 @@ place .graphql files in a directory at ${schemaDirPath}`); return transformerOutput; } -async function addGraphQLAuthRequirement(context, authType) { - return await context.amplify.invokePluginMethod(context, 'api', undefined, 'addGraphQLAuthorizationMode', [ - context, - { - authType: authType, - printLeadText: true, - authSettings: undefined, - }, - ]); -} - function getProjectBucket(context) { const projectDetails = context.amplify.getProjectDetails(); const projectBucket = projectDetails.amplifyMeta.providers ? projectDetails.amplifyMeta.providers[providerName].DeploymentBucketName : ''; diff --git a/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts b/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts index 81035381748..b26fab39135 100644 --- a/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts +++ b/packages/amplify-provider-awscloudformation/src/graphql-transformer/utils.ts @@ -279,6 +279,9 @@ function ensureAuthRuleDefaults(rules: AuthRule[]) { case 'public': rule.provider = 'apiKey'; break; + case 'custom': + rule.provider = 'function'; + break; default: rule.provider = null; break; @@ -303,6 +306,9 @@ function convertModelRulesToRoles(acm: AccessControlMatrix, authRules: AuthRule[ case 'apiKey': roleName = 'apiKey:public'; break; + case 'function': + roleName = 'function:custom'; + break; case 'iam': roleName = `iam:${rule.allow}`; break; diff --git a/packages/amplify-provider-awscloudformation/src/push-resources.ts b/packages/amplify-provider-awscloudformation/src/push-resources.ts index 25fcfa4e750..f97b3e26520 100644 --- a/packages/amplify-provider-awscloudformation/src/push-resources.ts +++ b/packages/amplify-provider-awscloudformation/src/push-resources.ts @@ -378,7 +378,9 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject) { //check for auth resources and remove deployment secret for push resources - .filter(resource => resource.category === 'auth' && resource.service === 'Cognito' && resource.providerPlugin === 'awscloudformation') + .filter( + resource => resource.category === 'auth' && resource.service === 'Cognito' && resource.providerPlugin === 'awscloudformation', + ) .map(({ category, resourceName }) => context.amplify.removeDeploymentSecrets(context, category, resourceName)); await adminModelgen(context, resources); @@ -390,7 +392,10 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject) { if (iterativeDeploymentWasInvoked) { await deploymentStateManager.failDeployment(); } - spinner.fail('An error occurred when pushing the resources to the cloud'); + + if(!canAutoResolveGraphQLAuthError(error.message)) { + spinner.fail('An error occurred when pushing the resources to the cloud'); + } rollbackLambdaLayers(layerResources); @@ -400,6 +405,16 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject) { } } +async function canAutoResolveGraphQLAuthError(message: string) { + if (message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.` + || message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.` + || message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.` + || message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.` + || message === `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`) { + return true; + } +} + export async function updateStackForAPIMigration(context: $TSContext, category: string, resourceName: string, options: $TSAny) { const { resourcesToBeCreated, resourcesToBeUpdated, resourcesToBeDeleted, allResources } = await context.amplify.getResourceStatus( category, @@ -1132,3 +1147,4 @@ function rollbackLambdaLayers(layerResources: $TSAny[]) { stateManager.setMeta(projectRoot, meta); } } + diff --git a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts index 03e461d556b..2f4467b00de 100644 --- a/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts +++ b/packages/amplify-provider-awscloudformation/src/transform-graphql-schema.ts @@ -508,34 +508,7 @@ export async function transformGraphQLSchema(context, options) { featureFlags: ff, sanityCheckRules: sanityCheckRulesList, }; - let transformerOutput; - let authSchemaErrors = false; - do { - try { - transformerOutput = await buildAPIProject(buildConfig); - authSchemaErrors = false; - } catch (err) { - authSchemaErrors = true; - if (err.message === `@auth directive with 'iam' provider found, but the project has no IAM authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_IAM')); - } else if (!context?.parameters?.options?.yes) { - if (err.message === `@auth directive with 'userPools' provider found, but the project has no Cognito User Pools authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AMAZON_COGNITO_USER_POOLS')); - } else if (err.message === `@auth directive with 'oidc' provider found, but the project has no OPENID_CONNECT authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'OPENID_CONNECT')); - } else if (err.message === `@auth directive with 'apiKey' provider found, but the project has no API Key authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_KEY')); - } else if (err.message === `@auth directive with 'function' provider found, but the project has no Lambda authentication provider configured.`) { - authConfig.additionalAuthenticationProviders.push(await addGraphQLAuthRequirement(context, 'AWS_LAMBDA')); - } else { - throw err; - } - } else { - throw err; - } - buildConfig.transformersFactory = getTransformerFactory(context, resourceDir, authConfig); - } - } while (authSchemaErrors); + const transformerOutput = await buildAPIProject(buildConfig); context.print.success(`GraphQL schema compiled successfully.\n\nEdit your schema at ${schemaFilePath} or \ place .graphql files in a directory at ${schemaDirPath}`); @@ -547,17 +520,6 @@ place .graphql files in a directory at ${schemaDirPath}`); return transformerOutput; } -async function addGraphQLAuthRequirement(context, authType) { - return await context.amplify.invokePluginMethod(context, 'api', undefined, 'addGraphQLAuthorizationMode', [ - context, - { - authType: authType, - printLeadText: true, - authSettings: undefined, - }, - ]); -} - function getProjectBucket(context) { const projectDetails = context.amplify.getProjectDetails(); const projectBucket = projectDetails.amplifyMeta.providers ? projectDetails.amplifyMeta.providers[providerName].DeploymentBucketName : ''; diff --git a/packages/graphql-auth-transformer/src/AuthRule.ts b/packages/graphql-auth-transformer/src/AuthRule.ts index 2ea6854ed0a..17563baa644 100644 --- a/packages/graphql-auth-transformer/src/AuthRule.ts +++ b/packages/graphql-auth-transformer/src/AuthRule.ts @@ -1,5 +1,5 @@ -export type AuthStrategy = 'owner' | 'groups' | 'public' | 'private'; -export type AuthProvider = 'apiKey' | 'iam' | 'oidc' | 'userPools'; +export type AuthStrategy = 'owner' | 'groups' | 'public' | 'private' | 'custom'; +export type AuthProvider = 'apiKey' | 'iam' | 'oidc' | 'userPools' | 'function'; export type ModelQuery = 'get' | 'list'; export type ModelMutation = 'create' | 'update' | 'delete'; export type ModelOperation = 'create' | 'update' | 'delete' | 'read'; From f52284e55849d21ef409ebe2335baacf258ed72a Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 5 Oct 2021 11:07:46 -0700 Subject: [PATCH 63/64] add await for canAutoResolveGraphQLAuthError --- .../amplify-provider-awscloudformation/src/push-resources.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/amplify-provider-awscloudformation/src/push-resources.ts b/packages/amplify-provider-awscloudformation/src/push-resources.ts index f97b3e26520..bdf3d5ad29f 100644 --- a/packages/amplify-provider-awscloudformation/src/push-resources.ts +++ b/packages/amplify-provider-awscloudformation/src/push-resources.ts @@ -393,7 +393,7 @@ export async function run(context: $TSContext, resourceDefinition: $TSObject) { await deploymentStateManager.failDeployment(); } - if(!canAutoResolveGraphQLAuthError(error.message)) { + if(!await canAutoResolveGraphQLAuthError(error.message)) { spinner.fail('An error occurred when pushing the resources to the cloud'); } From 9f348ccba703929dc874d2f1893d2c1dfd78ad8e Mon Sep 17 00:00:00 2001 From: Christopher Sundersingh Date: Tue, 5 Oct 2021 23:06:10 -0700 Subject: [PATCH 64/64] e2e tests for lambda authorizer --- packages/amplify-category-api/src/index.ts | 18 ++++++++-- .../amplify-e2e-core/src/init/amplifyPush.ts | 33 ++++++++++++++++++ .../schemas/cognito_simple_model.graphql | 4 +++ .../src/__tests__/api_5.test.ts | 34 ++++++++++++++++--- 4 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 packages/amplify-e2e-tests/schemas/cognito_simple_model.graphql diff --git a/packages/amplify-category-api/src/index.ts b/packages/amplify-category-api/src/index.ts index 17b1f7b93d9..3593ba6b977 100644 --- a/packages/amplify-category-api/src/index.ts +++ b/packages/amplify-category-api/src/index.ts @@ -5,6 +5,7 @@ import { run } from './commands/api/console'; import { getCfnApiArtifactHandler } from './provider-utils/awscloudformation/cfn-api-artifact-handler'; import { askAuthQuestions } from './provider-utils/awscloudformation/service-walkthroughs/appSync-walkthrough'; import { getAppSyncResourceName, getAppSyncAuthConfig } from './provider-utils/awscloudformation//utils/amplify-meta-utils'; +import { authConfigToAppSyncAuthType } from './provider-utils/awscloudformation/utils/auth-config-to-app-sync-auth-type-bi-di-mapper'; export { NETWORK_STACK_LOGICAL_ID } from './category-constants'; export { DEPLOYMENT_MECHANISM } from './provider-utils/awscloudformation/base-api-stack'; @@ -231,8 +232,21 @@ export async function addGraphQLAuthorizationMode(context, args) { const authConfig = getAppSyncAuthConfig(context.amplify.getProjectMeta()); const addAuthConfig = await askAuthQuestions(authType, context, printLeadText, authSettings); authConfig.additionalAuthenticationProviders.push(addAuthConfig); - context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); - context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); + await context.amplify.updateamplifyMetaAfterResourceUpdate(category, apiName, 'output', { authConfig }); + await context.amplify.updateBackendConfigAfterResourceUpdate(category, apiName, 'output', { authConfig }); + + await getCfnApiArtifactHandler(context).updateArtifacts( + { + version: 1, + serviceModification: { + serviceName: 'AppSync', + additionalAuthTypes: authConfig.additionalAuthenticationProviders.map(authConfigToAppSyncAuthType), + }, + }, + { + skipCompile: false, + }, + ); return addAuthConfig; } \ No newline at end of file diff --git a/packages/amplify-e2e-core/src/init/amplifyPush.ts b/packages/amplify-e2e-core/src/init/amplifyPush.ts index 4cefa9998b8..ebfba2e7730 100644 --- a/packages/amplify-e2e-core/src/init/amplifyPush.ts +++ b/packages/amplify-e2e-core/src/init/amplifyPush.ts @@ -36,6 +36,39 @@ export function amplifyPush(cwd: string, testingWithLatestCodebase: boolean = fa }); } +export function amplifyPushGraphQlWithCognitoPrompt(cwd: string, testingWithLatestCodebase: boolean = false): Promise { + return new Promise((resolve, reject) => { + //Test detailed status + spawn(getCLIPath(testingWithLatestCodebase), ['status', '-v'], { cwd, stripColors: true, noOutputTimeout: pushTimeoutMS }) + .wait(/.*/) + .run((err: Error) => { + if (err) { + reject(err); + } + }); + //Test amplify push + spawn(getCLIPath(testingWithLatestCodebase), ['push'], { cwd, stripColors: true, noOutputTimeout: pushTimeoutMS }) + .wait('Are you sure you want to continue?') + .sendConfirmYes() + .wait(/.*Do you want to use the default authentication and security configuration.*/) + .sendCarriageReturn() + .wait(/.*How do you want users to be able to sign in.*/) + .sendCarriageReturn() + .wait(/.*Do you want to configure advanced settings.*/) + .sendCarriageReturn() + .wait('Do you want to generate code for your newly created GraphQL API') + .sendLine('n') + .wait(/.*/) + .run((err: Error) => { + if (!err) { + resolve(); + } else { + reject(err); + } + }); + }); +} + export function amplifyPushForce(cwd: string, testingWithLatestCodebase: boolean = false): Promise { return new Promise((resolve, reject) => { spawn(getCLIPath(testingWithLatestCodebase), ['push', '--force'], { cwd, stripColors: true, noOutputTimeout: pushTimeoutMS }) diff --git a/packages/amplify-e2e-tests/schemas/cognito_simple_model.graphql b/packages/amplify-e2e-tests/schemas/cognito_simple_model.graphql new file mode 100644 index 00000000000..d7b78a08560 --- /dev/null +++ b/packages/amplify-e2e-tests/schemas/cognito_simple_model.graphql @@ -0,0 +1,4 @@ +type Todo @model @auth(rules: [ { allow: owner, provider: userPools }]) { + id: ID! + content: String +} diff --git a/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts b/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts index be7797f1b29..d2899ec3ae8 100644 --- a/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts +++ b/packages/amplify-e2e-tests/src/__tests__/api_5.test.ts @@ -1,19 +1,22 @@ import { amplifyPush, + amplifyPushGraphQlWithCognitoPrompt, deleteProject, initJSProjectWithProfile, + addApiWithoutSchema, addApiWithAllAuthModesV2, createNewProjectDir, deleteProjectDir, getAppSyncApi, getProjectMeta, addFeatureFlag, + updateApiSchema, } from 'amplify-e2e-core'; import path from 'path'; import { existsSync } from 'fs'; import _ from 'lodash'; -describe('amplify add graphql api with lambda auth mode', () => { +describe('test graphql lambda authorizer and auto apply auth mode', () => { let projRoot: string; let projFolderName: string; beforeEach(async () => { @@ -29,13 +32,36 @@ describe('amplify add graphql api with lambda auth mode', () => { deleteProjectDir(projRoot); }); - it('init a project and add the simple_model api', async () => { + // it('amplify add graphql api with lambda auth mode', async () => { + // const envName = 'devtest'; + // const projName = 'lambdaauthmode'; + // await initJSProjectWithProfile(projRoot, { name: projName, envName }); + // await addFeatureFlag(projRoot, 'graphqltransformer', 'useexperimentalpipelinedtransformer', true); + // await addApiWithAllAuthModesV2(projRoot); + // await amplifyPush(projRoot); + + // const meta = getProjectMeta(projRoot); + // const region = meta.providers.awscloudformation.Region; + // const { output } = meta.api.lambdaauthmode; + // const { GraphQLAPIIdOutput, GraphQLAPIEndpointOutput, GraphQLAPIKeyOutput } = output; + // const { graphqlApi } = await getAppSyncApi(GraphQLAPIIdOutput, region); + + // expect(GraphQLAPIIdOutput).toBeDefined(); + // expect(GraphQLAPIEndpointOutput).toBeDefined(); + // expect(GraphQLAPIKeyOutput).toBeDefined(); + + // expect(graphqlApi).toBeDefined(); + // expect(graphqlApi.apiId).toEqual(GraphQLAPIIdOutput); + // }); + + it('amplify push prompt for cognito configuration if auth mode is missing', async () => { const envName = 'devtest'; const projName = 'lambdaauthmode'; await initJSProjectWithProfile(projRoot, { name: projName, envName }); await addFeatureFlag(projRoot, 'graphqltransformer', 'useexperimentalpipelinedtransformer', true); - await addApiWithAllAuthModesV2(projRoot); - await amplifyPush(projRoot); + await addApiWithoutSchema(projRoot); + await updateApiSchema(projRoot, projName, 'cognito_simple_model.graphql'); + await amplifyPushGraphQlWithCognitoPrompt(projRoot); const meta = getProjectMeta(projRoot); const region = meta.providers.awscloudformation.Region;